Hallo Leute,
ich habe zwei Fragen :
Dieser Makro-VBA-Code prüft eine Spalte von 2 verschiedenen Tabellenblättern und markiert Übereinstimmungen im aktiven Blatt grün.
For ZeileB1 = 3 To 150
For ZeileB2 = 3 To 150
If ThisWorkbook.ActiveSheet.Range("B" & ZeileB1) = Sheets("8.KW").Range("B" & ZeileB2) Then
ThisWorkbook.ActiveSheet.Range("B" & ZeileB1 & ":" & "B" & ZeileB1).Select
With Selection.Interior
.Color = 5287936
End With
End If
Next ZeileB2
Next ZeileB1
1. Frage :
Wie bringe ich das Makro dazu, statt zu Färben gleich die komplette Zeile zu übernehmen?
2. Frage :
Wie bringe ich das Makro dazu, Spalte B des aktiven Blattes mit Spalte B des vorherigen Blattes miteinander zu vergleichen ?
Erklärung dazu : In der Mappe kommt jede Woche ein neues Blatt hinzu, welches nur mit der Vorwoche verglichen werden muss. Im oberen Code wird der Vergleich zwischen ActiveSheet und 8.KW angestoßen, ich benötige aber eher Vergleich zw. ActiveSheet und ActiveSheet-1.
Vielen Dank.
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Ich hab das hier jetzt mal durch Excel gejagt, und es geht.
Private Sub CommandButton1_Click()
For ZeileB1 = 3 To 50
For ZeileB2 = 3 To 50
If ActiveWorkbook.Worksheets(Sheets.Count).Range("B" & ZeileB1) = ActiveWorkbook.Worksheets(Sheets.Count - 1).Range("B" & ZeileB2) Then
CopyRowValues ActiveWorkbook.Worksheets(Sheets.Count - 1), ZeileB2, ActiveWorkbook.Worksheets(Sheets.Count), ZeileB1
End If
Next ZeileB2
Next ZeileB1
End Sub
Du hast die Sub CopyRowValues mit Klammern um die Parameter also als Funktion aufgerufen
geht auch okay wenn man ein Call davor setzt bzw. besser einfach die Klammern weg nehmen.