Ich bin sehr neu zu Excel VBA und brauche etwas Hilfe. Ich habe eine Liste von Daten, die ich auf Basis der Daten in Spalte B in ein neues Blatt kopieren möchte, und kopiere die gesamte Zeile auf ein neues Blatt mit demselben Namen.Excel VBA ganze Zeile auf neues Blatt basierend auf Zelle Daten kopieren
Column B
2nd Black
1st Black
1st Brown
2nd Brown
3rd Brown
Ich habe meinen Code geändert und kam mit diesem. Alles funktioniert. Danke für Ihre Hilfe.
Sub create_role()
Dim c As Range
Dim j As Integer
Dim k As Integer
Dim l As Integer
Dim m As Integer
Dim Source As Worksheet
Dim Target As Worksheet
Set Source = ActiveWorkbook.Worksheets("master")
j = 11
k = 11
l = 11
m = 11
For Each c In Source.Range("b11:b110")
If (c = "5th Black" Or c = "4th Black" Or c = "3rd Black" Or c = "2nd Black" Or c = "1st Black" Or c = "Jr. Black") Then
Set Target = ActiveWorkbook.Worksheets("BLACK")
Source.Rows(c.Row).Copy Target.Rows(j)
ElseIf c = "1st Brown" Then
Set Target = ActiveWorkbook.Worksheets("1ST BROWN")
Source.Rows(c.Row).Copy Target.Rows(k)
k = k + 1
ElseIf c = "2nd Brown" Then
Set Target = ActiveWorkbook.Worksheets("2ND BROWN")
Source.Rows(c.Row).Copy Target.Rows(l)
l = l + 1
ElseIf c = "3rd Brown" Then
Set Target = ActiveWorkbook.Worksheets("3RD BROWN")
Source.Rows(c.Row).Copy Target.Rows(m)
m = m + 1
End If
j = j + 1
Next c
End Sub
Ich denke, Sie haben 'Wenn c.Value = Worksheet.CodeName Then' rückwärts. Du hast auch 'Target' nicht definiert? – findwindow
Ich denke auch, dass Ihr Counter 'j' nach dem' End If' passieren muss, aber vor dem 'Next'. – OldUgly
@findwindow Danke. Wie würde ich das Ziel definieren, da es 3 davon gibt? – Brian