Liebe VBA Profis.
Ich habe ein Probelm mit einer Schleife. Ich würde gerne gerne alle Zeilen mit einem definierten Spalteninhalt in ein neues Tabellenblatt kopieren. Mit dem Kriterium "KW" habe ich das auch schon hinbekommen. Das sieht wie folgt aus:
Dim Zeile As Long
Dim ZeileMax As Long
Dim n As Long
Dim KW As Variant
Dim kwstart As Variant
kwstart = InputBox("Bitte gewünschte KW eingeben")
Worksheets("BerichtMonat").Range("b6") = kwstart
KW = Worksheets("BerichtMonat").Range("b6").Value
Sheets("BerichtMonat").Select
With Worksheets("BerichtMonat")
.Range("a8:z5000").ClearContents
Range("a1:z5000").Interior.Color = vbWhite
Range("a1:z5000").Borders.LineStyle = -4142
End With
With Worksheets("Dienst")
With Worksheets("BerichtMonat").Range("A9:a9")
.Value = "Dienst"
.Font.Size = 13
.Font.Bold = True
End With
ZeileMax = .UsedRange.Rows.Count
n = 10
For Zeile = 2 To ZeileMax
If .Cells(Zeile, 3).Value = KW Then
.Range("a" & Zeile, "g" & Zeile).Copy Destination:=Tabelle6.Rows(n)
n = n + 1
End If
Next Zeile
Jetz würde ich geren eine zweite Abfrage machen aber diesmal nicht mit KW sonder mit dem Monat. Ich möchte bei der Abfrage (InputBox) den Monatsnamen eingeben und dieser soll dann in der If Schleife genau wie die Abfrage mit "KW" lediglich die Zeilen finden, die ein Datum innerhalb des abgefragten Monats haben. Ich wollte dies mit monthname machen. Also schematisch so:
if monthname = KW then (kw währe halt die Variable aus der InputBox)
Ich weis allerdings nicht, wie ich die If abfrage mit monthname korrekt schreiben muss. Bei KW war es ja:
If .Cells(Zeile, 3).Value = KW Then
Das Datum würde in meinem Beispiel lediglich hier stehen: (Zeile, 1)
Vielen Dank für eure Hilfe.
Martin
|