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 ?
aus Deinem Code-Schnipsel geht nicht hervor, was die variable "spalte" darstellt. Wenn es eine Stringvariable ist und z.B. "A" enthält, funktioniert der Code.
hans
oder
Spalte A Zeile 1
Spalte B Zeile 1
, da ich meines Wissens die Buchstaben nicht hochzählen kann muss ich doch die Variable spalte als zahl deklarieren oder ?
Verwende das für Schleifen dieser Art vorgesehen Cells und nicht "Range".
hans
Sub Vergleich()
'
' vergleich Makro
' Makro am 27.5.2002 von PC-User aufgezeichnet
'
'
Dim wert1, wert2 As String
Dim zelleninhalt, anfangB, anfanga, 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
Ich möchte hier 2 Tabellen vergleichen und die Unterscheide farbig markieren. Wäre super, wenn mir jemand helfen könnte
MfG Sven
Du machst hier den gleichen Fehler wie bei der Range-Variante: Mit dem Verknüpfungszeichen erzeugst Du Unsinn. Die Syntax für die Cell-Methode ist:
Cells(iSpalte, iZeile).Value = 0
Zur Variablendeklaration: Aktiviere in der Entwicklungsumgebung über Menü EXTRAS / OPTIONEN die CheckBox "Variablendekalration erforderlich", das zwingt Dich zur Deklaration. Wenn Du jetzt noch exakt dimensionierst, kann nicht mehr viel passieren.
Du hast vermutlich aus der Excel-Literatur folgenden Unsinn übernommen:
Dim VariableA, VariableB, VariableC As Integer
Diese Deklaration deklariert die Variablen VariableA und Variable B als Variant und nur die VariableC als Integer. Richtig ist:
Dim VariableA As Integer, VariableB As Integer, VariableC As Integer
hans
MfG Sven