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
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen