Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Syntax mit Range

Forumthread: VBA Syntax mit Range

VBA Syntax mit Range
08.05.2008 11:24:00
David
Hallo.
Nachdem ich jetzt schon eine halbe Stunde rumprobiere, wende ich mich (mal wieder) an euch.
Ich möchte folgenden Ausdruck

Range("D9").EntireColumn.Insert


derart umgestalten, dass das D9 variabel wird.
Der entsprechende (Teil)code dafür steht momentan bei mir so:


If Left(.Cells(3, Spalte), 1) = "Q" Then
Range(Cells(1, Spalte + 1)).EntireColumn.Insert
End If


(Sinn: Finde in Zeile 3 alle Zellen mit "Q" beginnend und füge rechts daneben eine leere Spalte ein)
Das funzt aber net, ich krieg immer nur die Meldung "Die Methode Range ist für das Objekt _Global fehlgeschlagen" Ich hab jetzt schon mit einigen Kombinationen getestet, aber bisher erfolglos.
Was ist falsch?
Danke schon mal.
Gruß
David

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Syntax mit Range
08.05.2008 11:47:57
Uwe
Hi David,
in Deiner Formel darf der Wert von Spalte nur eine ganze Zahl von 1 bis 254 sein, ich tippe mal dem ist nicht so?
Gruß
Uwe
(:o)

AW: VBA Syntax mit Range
08.05.2008 11:52:00
David
Könnte man vermuten, in meinem Fall war "Spalte" = 8, das sollte noch passen. ;-)
Ich habe jetzt mal noch diese Variable definiert. Als Byte ging nicht, kam Fehler "Überlauf", ist jetzt als Integer definiert, hab aber nichts gebracht.
Ich bin immer noch der Meinung, ich habe einfach nur irgendwo einen Syntax-Fehler.
Gruß

Anzeige
AW: VBA Syntax mit Range
08.05.2008 12:02:50
Uwe
Hi David,
sorry, da habe ich den Wald vor lauter Bäumen nicht gesehen:
Cells(1, spalte + 1).EntireColumn.Insert
klappt, das Range ist zuviel.
Gruß
Uwe
(:o)

AW: VBA Syntax mit Range
08.05.2008 12:07:00
David
Jep, das wars, danke.
Die Hilfe ist da recht undurchsichtig, da Range auf viele verschiedenen Arten verwendet wird.
Soweit ich das verstanden habe, verwendet man Range bei einem Bereich und Cells bei einzelnen Zellen. Deswegen verstehe ich allerdings nicht, wieso der Makrorekorder das dann mit Range aufzeichnet, dahinter aber nur eine Zelle schreibt.
Naja, ist auch egal... :-)

Anzeige
AW: VBA Syntax mit Range
08.05.2008 12:19:00
Uwe
Hi,
.... um Dich ein bisschen zu verwirren:
Wenn Du statt einer, gleich drei Spalten einfügen möchtest, wäre die Zeile:
Range(Cells(1, spalte + 1), Cells(1, spalte + 3)).EntireColumn.Insert
aber im Prinzip hast Du recht. Der Recorder arbeitet aber soweit ich weiß prinzipiell nur mit Range.
Der Vorteil von Cells ist, dass man die spalte numerisch eingeben kann/muss, was bei Schleifen natürlich von großem vorteil ist.
Gruß
Uwe
(:o)
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige