ich möchte in der Spalte (Spalten Nr. steht in einer Variablen "Spalte_Z") nach folgende Einträge suchen "TU","SU", "FS", "LK", "LU", "KO", "LE", "KOL"
Hat jemand dazu eine Idee, wie ich das mit einem Makro lösen könnte?
Gruß
Olaf
Sub test()
Dim Spalte_Z, zeile As Long
Spalte_Z = 4 'für Spalte D als test
For zeile = 1 To Cells(65536, Spalte_Z).End(xlUp).Row
Select Case Cells(zeile, Spalte_Z)
Case "TU"
'TU gefunden...
Case "SU"
'SU gefunden...
'usw...
End Select
Next
End Sub
Sub test()
Dim Spalte_Z, zeile As Long
Spalte_Z = 15 'für Spalte D als test
For zeile = 7 To Cells(65536, Spalte_Z).End(xlUp).Row
Select Case Cells(zeile, Spalte_Z)
Case "TU"
MsgBox "TU gefunden "
Case "SU"
MsgBox "SU gefunden "
Case "FS"
MsgBox "FS gefunden "
Case "LK"
MsgBox "LK gefunden "
Case "LK"
MsgBox "LK gefunden "
Case "LU"
MsgBox "LU gefunden "
Case "KO"
MsgBox "KO gefunden "
Case "LE"
MsgBox "LE gefunden "
Case "KOL"
MsgBox "KOL gefunden "
End Select
Next
End Sub
Sub test()
Dim Spalte_Z, zeile As Long
Dim wksAktiv As Worksheet
Dim wkbZiel As Workbook, wksZiel As Worksheet, Zeile_Z As Long
Dim StatusCalc As Long
Set wksAktiv = ActiveSheet
Set wkbZiel = Application.Workbooks("Fehlzeit.xls") 'Datei muss bereits geöfnet sein!!
Set wksZiel = wkbZiel.Worksheets(1) 'Nr. oder Name in Anführungszeichen ggf. anpassen
With wksZiel
'letzte ausgefüllte Zeile in Spalte G
Zeile_Z = .Cells(.Rows.Count, 7).End(xlUp).Row
End With
Spalte_Z = 15 'für Spalte D als test
'Makrobremsen lösen
With Application
StatusCalc = .Calculation
.Calculation = xlCalculationManual
.ScreenUpdating = False
.EnableEvents = False
End With
With wksAktiv
For zeile = 7 To .Cells(.Rows.Count, Spalte_Z).End(xlUp).Row
Select Case .Cells(zeile, Spalte_Z)
Case "TU", "SU", "FS", "LK", "LK", "LU", "KO", "LE", "KOL"
Zeile_Z = Zeile_Z + 1
wksZiel.Cells(Zeile_Z, 7) = .Cells(zeile, 1) 'A --> G
wksZiel.Cells(Zeile_Z, 6) = .Cells(zeile, 2) 'B --> F
wksZiel.Cells(Zeile_Z, 11) = 502 'Zahl --> K
Case Else
'do nothing
End Select
Next
End With
'Makrobremsen zurücksetzen
With Application
.Calculation = StatusCalc
.ScreenUpdating = True
.EnableEvents = True
End With
Set wkbZiel = Nothing: Set wksZiel = Nothing: Set wksAktiv = Nothing
End Sub