Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1324to1328
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler beim Markieren von Zellen in VBA

Laufzeitfehler beim Markieren von Zellen in VBA
08.08.2013 16:16:06
Zellen
Hallo,
ich stehe mal wieder auf dem Schlauch.
Wiese bekomme ich bei der Markierung über ".Range(Cells(4,6),..." wie unten angegeben, einen Laufzeitfehler?
Wenn ich die Zellen über F4 bis ... angebe, funktioniert es.

.
.
With Worksheets("Test")
.Activate
.Range(Cells(4, 6), Cells(10, 6)).Select
.Range("F4:F10").Select
.
.

Danke
Gruß
Lars

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Punkt vor .Cells() fehlt o.T.
08.08.2013 16:21:26
ChrisL
cu
Chris

AW: Punkt vor .Cells() fehlt o.T.
08.08.2013 16:30:14
Lars
Perfekt, Danke.

Perfekt, Danke o.T.
08.08.2013 16:31:00
Lars
.

AW: Laufzeitfehler beim Markieren von Zellen in VBA
08.08.2013 16:25:54
Zellen
hey Lars,
also bei mir geht's wie du es machst
gruß thomas

@Thomas: sauber referenzieren
08.08.2013 16:58:22
Erich
Hi Thomas,
dass das bei dir auch ohne die Punkte vor Cells funzt, liegt wohl daran, dass dein Code in einem "normalen" Modul steht.
Da kannst du getrost auch die Punkte vor Range weglassen.
In einem "normalen" Modul gehören Cells(x,s) und Range("a1") zum gerade aktiven Blatt,
.Cells(x,s) und .Range("a1") gehören zu dem Blatt, das mit Withg bestimmt wurde.
Steht der Code in im Modul eines Tabellenblatts,
gehören .Cells(x,s) und .Range("a1") wieder zu dem Blatt, das mit With bestimmt wurde,
Cells(x,s) und Range("a1") gehören aber nicht zum aktiven Blattm, sondern dem Blatt, zu dem der Code gehört.
Entweder ist der Punkt nötig, dann bitte vor Range und Cells und ...,
oder er ist unnötig, dann kann man ihn überall weglassen.
Bei Range(Cells(x),Cells(y)) soll doch das Range zum selben Blatt gehören wie Cells(x) und Cells(y).
Schau mal hier in der Recherche nach "sauber referenzieren". Das kam schon oft vor... :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: @Thomas: sauber referenzieren
08.08.2013 17:22:34
thomas
hey Erich,
verstehe...
aber was wäre denn der Sinn wenn cells auf was andres verweist wie range in dem es genutzt wird zur Angabe von Start und End punkt?
Ich mein es ist doch logisch dass die cells sich aufs gleiche beziehen
Gruß Thomas

kleines Beispiel - etwas abseits
08.08.2013 18:11:15
Erich
Hi Thomas,
das wäre wohl für VBA nicht ganz so einfach zu analysieren.
Im folgenden Beispiel wird zwar kein Range durch zwei Zellen aufgespannt,
sondern durch Angabe der Adresse bestimmt, es sieht aber doch recht ähnlich aus:

Sub aaTest()   ' Code in Sheets(1)
With Sheets(2)
MsgBox Range(Cells(2, 2))
MsgBox Range(.Cells(2, 2))
MsgBox .Range(Cells(2, 2))
MsgBox .Range(.Cells(2, 2))
End With
End Sub
So sind die Zellen belegt:
In Tabelle1!B2 steht der Text A1
in Tabelle2!B2 steht der Text A3
Tabelle1!A1, Tabelle1!A3, Tabelle2!A1, Tabelle2!A3 sind mit vier verschiedenen Werten versehen.
Alles ist möglich...
Wenn man sauber referenziert, weiß man schon besser, was wo steht oder passiert. :-)
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich
Anzeige

358 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige