2.3k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.3k Punkte)
Hallo,

ich habe folgenden Code
...
Dim shBlatt As Worksheet
For Each shBlatt In ActiveWorkbook.Worksheets
Datei = shBlatt.name
Sheets(Datei).Select
....
next
.....
Ich möchte die Befehle aber nicht für alle Tabelenblätter ausführen, sondern nur für die die "Jan", "Feb", "Mrz" usw. heißen. Wie kann ich den Code auf diese Monatsnamen bzw. auf dreistellige Sheets-Namen einschränken????
Danke und Gruß
Andreas

6 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Andreas,

nach folgendem Prinzip.

Option Explicit

Sub Monat()
If IsDate("1." & ActiveSheet.Name & ".2014") Then
MsgBox "Ja"
End If
End Sub


Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Hajo,

ich habe das so leider nicht hingekriegt. Kann man denn den Befehl ...For Each shBlatt In ActiveWorkbook.Worksheets... nicht einschränken mit ...like...oder so?
A.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
ich habe dartin kein Problem gesehen
ActiveSheet.Name durch shBlatt.name
zu ersetzen.
Da kann icgh dann nicht weiter helfen.

Gruß Hajo
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo Hajo,

sicher habe ich das Problem nicht richtig beschrieben.....
Die Datei besteht aus ca. 40 Sheets wobei 12 Sheets mit den Monatsnamen "Jan", "Feb",... usw. bezeichnet sind. Das Programm soll bestimmte Befehle nacheinander ausschließlich für diese 12 Sheets ausführen.
Gruß
Andreas
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

Beispiele

gruss nighty

Sub schleifen01()
Dim DatIndex As String
For Each DatIndex In Array("Januar", "Februar", "März")
'DatIndex beinhaltet den Monatsnamen
Next
End Sub


Sub schleifen02()
Dim TabIndex As Integer
For TabIndex = 5 To 17
'TabIndex könnte der worksheetindex(Index statt namensbezeichnung)sein
Next TabIndex
End Sub
0 Punkte
Beantwortet von ahorn38 Experte (3.3k Punkte)
Hallo,

funktioniert super...
Vielen Dank!!!!!
Andreas
...