ich überlege mir schon die ganze Zeit, warum hier
Do While Worksheets("Tabelle1").Range(spalte & anfanga) = 0
eine Fehlermeldung kommt ?
Es muss doch möglich sein die Spalten hochzuzählen , auch mit range und nicht mit cells, oder ?
Do While Worksheets("Tabelle1").Range(spalte & anfanga) = 0
eine Fehlermeldung kommt ?
Es muss doch möglich sein die Spalten hochzuzählen , auch mit range und nicht mit cells, oder ?
Range(Cells(1,1),Cells(2,2)).Select
Hiermit würdest du halt die Zellen A1:B2 auswählen.
Hoffe das hilft!
Gruss
TImo
Sub Vergleich()
'
' vergleich Makro
' Makro am 27.5.2002 von PC-User aufgezeichnet
'
'
Dim wert1, wert2 As String
Dim zelleninhalt
Dim anfangB
Dim anfanga
Dim spalte
spalte = 1
anfanga = 2
Do While Worksheets("Tabelle1").Cells(spalte, anfanga) = 0
anfanga = anfanga + 1
Loop
anfangB = 2
Do While Worksheets("Tabelle2").Cells(spalte, anfangB) = 0
anfangB = anfangB + 1
Loop
For spalte = 1 To 2
a = anfanga
i = anfangB
zelleninhalt = 1 / 10
Do While zelleninhalt > 0
wert1 = Worksheets("Tabelle1").Cells(spalte, a)
wert2 = Worksheets("Tabelle2").Cells(spalte, i)
If wert1 = wert2 Then
MsgBox "richtig"
Else: MsgBox "falsch"
Cells(spalte & i).Interior.ColorIndex = 4
End If
a = a + 1
MsgBox a & " a "
i = i + 1
MsgBox i & " i"
zelleninhalt = Worksheets("Tabelle2").Cells(spalte, i)
Loop
Next
End Sub
Mit diesem möchte ich die beiden Tabellen vergleichen und die unterschiede markieren.
Jedoch bekom ich nun eine Fehlermeldung bei der Do while Bedingung. Ich kann anscheinend bei Cell nicht die 0 so stehn lassen, jedoch ist dies erforderlich. Mit Range geht dies, jedoch kann ich dort nicht die Spalten hochzählen
Was möchtest du denn mit folgender Zeile bezwecken?
Do While Worksheets("Tabelle1").Cells(spalte, anfanga) = 0
Soll das heissen, er soll das so lange wiederholen, bis nicht 0 in der Zelle steht? Dann müsste die Zeile so lauten:
Do While Worksheets("Tabelle1").Cells(spalte, anfanga).Value = 0
Gib mal ein paar mehr Infos bitte!
Timo