Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Range(spalte & zeile ) ?



Excel-Version: 10.0 (Office XP)

Betrifft: Range(spalte & zeile ) ?
von: dataderrick
Geschrieben am: 28.05.2002 - 09:06:28

Hi,
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 ?


  

Re: Range(spalte & zeile ) ?
von: Timo
Geschrieben am: 28.05.2002 - 10:17:22

Nicht mit Variablen, leider. Dafür musst du Cells benutzen. Was aber nicht weiter schlimm ist, da du ja auch folgendes machen kannst:

Range(Cells(1,1),Cells(2,2)).Select

Hiermit würdest du halt die Zellen A1:B2 auswählen.

Hoffe das hilft!

Gruss
TImo

  

Re: Range(spalte & zeile ) ?
von: sven
Geschrieben am: 28.05.2002 - 10:28:00

Hi Timo, wenn es funktionieren würde, dann wäre das genial, aber ich weiss nicht, was ich falsch mache, es geht einfach nicht !!
Ich habe folgenden Quellcode :

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

  

Re: Range(spalte & zeile ) ?
von: Timo
Geschrieben am: 28.05.2002 - 13:32:39

Schreib doch mal bei welcher Do Loop Schleife er die Fehlermeldung ausspuckt (Und welche!).

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