IF THEN ELSE mit FOR Schleife
02.03.2020 15:49:54
NH
ich bin relativ neu in VBA und habe eine spezielle Frage die mit einer IF THEN ELSE Verzweigung zu tun hat. Ich vermute ich benötige weiterhin noch eine FOR Schleife, weiß aber nicht genau, wie ich diese korrekt einbinde.
Ich möchte folgendes tun:
Das Kopieren und die IF Verzweigung funktionieren grundsätzlich auch. Ich scheitere aktuell daran, dass meine IF Verzweigung immer auf eine Zeile basiert also z.b. immer auf F3 (in Zeile 3 beginnt meine Tabelle). Ich habe daher versucht eine FOR Schleife einzubauen, die allerdings nicht funktioniert.
Ich hoffe ich habe mich verständlich ausgedrückt. Könnte jemand helfen? Nachfolgend mal der aktuelle Code inkl. der nicht funktionierenden FOR Schleife:
Sub Test()
' Test
' Find the last row of data
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row
' Loop through each row
For x = 3 To FinalRow
' Decide based on column F
ThisValue = Cells(x, 6).Value
If ThisValue = "MV2400" Then
Range("B3:B30").Select
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV 2400S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("B3:B30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("C3:C30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV 2400S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("C3:C30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("D3:D30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV 2400S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("D3:D30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
ElseIf ThisValue = "MV1200" Then
Range("B3:B30").Select
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV1200S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("B3:B30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("C3:C30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV1200S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("C3:C30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("D3:D30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Mitsubishi MV1200S").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("D3:D30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
ElseIf ThisValue = "Fanuc" Then
Range("B3:B30").Select
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Fanuc").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("B3:30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("C3:C30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Fanuc").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("C3:C30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
Range("D3:D30").Select
Application.CutCopyMode = False
Selection.Copy
Windows("maschinen.xlsm").Activate
Worksheets("Fanuc").Activate
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
Range("D3:D30").Select
ActiveSheet.Paste
Windows("Teilefertigung-WZB.xlsm").Activate
End If
Next x
End Sub