Range(spalte & zeile ) ?

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
CheckBox MsgBox


Excel-Version: -
nach unten

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

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 ?


nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: rainer
Geschrieben am: 28.05.2002 - 09:27:40

Hm, das geht schon wenn du in den Variablen spalte und anfanga jeweils einen String drinstehen hast

nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: Hans W. Herber
Geschrieben am: 28.05.2002 - 09:28:21

Hallo Sven,

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


nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: sven
Geschrieben am: 28.05.2002 - 09:31:47

Wenn ich der Variablen Spalte , "A" zu ordne, dann geht es,
ich suche aber eine Möglichkeit mit range, die spalten fortlaufend zu zählen.
SO etwa :
Spalte 1 Zeile 1
Spalte 2 Zeile 1

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 ?

nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: Hans W. Herber
Geschrieben am: 28.05.2002 - 09:33:59

... Bei Deinem Code-Schnipsel kommt dann, wenn Spalte = 3 und Zeile = 4 ist, ein Range(34) bei rum. Das kann ja nunmal nicht zum Erfolg führen.

Verwende das für Schleifen dieser Art vorgesehen Cells und nicht "Range".

hans


nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: sven
Geschrieben am: 28.05.2002 - 09:41:16

Tut mir leid, wenn ich jetzt nochmal nachfragen muss, aber ich habe noch nicht so viel Ahnung von VBA.
Wenn ich den Befehl Cells anstatt Range verwende, bekomme ich immer eine Fehlermeldung.Mein Quellcode ist folgender:

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

nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: Hans W. Herber
Geschrieben am: 28.05.2002 - 09:51:13

Hallo 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

nach oben   nach unten

Re: Range(spalte & zeile ) ?
von: Sven
Geschrieben am: 28.05.2002 - 10:15:23

Vielen Dank erstmal für die Hilfe

MfG Sven


 nach oben

Beiträge aus den Excel-Beispielen zum Thema "zelle im Tabellenblatt überCombobox löschen"