PDA

Vollständige Version anzeigen : Verständnisfrage


Westi30
22.02.2008, 18:30
Hallo, habe hier ein Problem.

Ich habe hier einen Code den ich nicht verstehe.

uns zwar:

Sub Übung()
Dim intX As Integer
Dim intY As Integer
Dim Zähler As Integer

Zähler = 1

With Tabelle1
For intY = 1 To 10
For intX = 1 To 5
.Cells(intY, intX) = Str(Zähler)
Zähler = Zähler + 1
Next
Next
End With
End Sub
Meine Frage nun:
Woher weiß der Code das mit intY die Zellen 1-10 gemeint sind und intX die Spalten a-e?

Muss dort in den Code nicht irgendwie row 1-5 rein?
Der Code selber klappt ja , bloß ich will versuchen ihn zu verstehn.
Vieleicht kann mir einer das ja erklären.

Gruß
Westi

jinx
22.02.2008, 19:43
Moin, Westi,

die Cells-Eigenschaft erwartet die Angaben zu Zeilen und Spalten in genau dieser Reihenfolge: immer einen Zahlenwert für die Zeile und entweder eine Zahl für den Index der Spalte oder aber den oder Spaltenbuchstaben zu rKennzeichnung der Spalte. Vergleichbar ist das mit der Z1S1-Ansicht in der Tabelle, die ja unter Extras/Optionen umgeschaltet werden kann.

.Cells(intY, intX) = Str(Zähler)
heißt also nichts anderes, als das in die Zelle mit den jeweiligen Zahlenwerten (Zeile zuerst, dann Spalte) die Variable Zahler als Text eingetragen wird (was Excel aber bei einer Stanardformatierung nicht weiter interessieren dürfte).

Wie Du siehst, ist der Wert für die Zeile schon lange drin - sonst hätte das Makro nicht funktioniert und der Kompiler "gemeckert".

IngGi
22.02.2008, 19:44
Hallo Westi,

schau dir in der VBA-Hilfe mal die Cells-Eigenschaft an. Mit

Tabelle1.Cells(1, 1)

kann man die Zelle A1 von Tabelle1 zurückgeben. Die erste Zahl bezieht sich auf die Zeile, die zweite auf die Spalte.

Gruß Ingolf

Westi30
22.02.2008, 20:38
Danke.

Ihr habt mir sehr geholfen.

Gruß
Westi