Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range - mit variabler Zahl ?!

Range - mit variabler Zahl ?!
KLE
Hallo,
ich würde gern folgendes tun, erhalte aber stets eine Fehlermeldung - warum ? und wie kann ich es beheben ?!
Per Aufzeichnung habe ich folgendes stehen, wenn ich mehrere Bereiche markiere.
Range("A8:C1130,E8:F1130,I8:M1130").Select
gehe ich in ein anderes Blatt und drücke einfügen - werden die Daten ohne Freie Spalten eingetragen - perfekt, so will ich es haben. Aber, ich will per Makro mir das Zeilenende ermitteln lassen, da hier stets neue Datensätze hinzukommen, bzw. gelöscht werden. Das geht...
nun habe ich also eine Variable x, welche die letzte Zeile der Liste enthält.
Wollte dann den Bereich so ändern - damit x mir den Bereich genau wiedergibt. Erhalte aber die Fehlermeldung - geht nicht.
Range("A8:C" & x, "E8:F" & x, "I8:M" & x).select
Hilfe ?!
Gruß
Kay
AW: Range - mit Union
12.11.2010 17:34:13
hary
Hallo Kay

Union(Range("A8:C" & x), Range("E8:F" & x), Range("I8:M" & x)).select

gruss hary
Super - Danke....wieder was gelernt ;O) o.T.
12.11.2010 17:46:37
KLE
Range("A8:C" & x &",E8:F" & x & ",I8:M" &x).select
12.11.2010 20:32:19
NoNet
Hey Kay, hey hary,
noch kürzer geht's so :
Range("A8:C" & x &",E8:F" & x & ",I8:M" & x).Select
Gruß, NoNet
AW: Range("A8:C" & x &",E8:F" & x & ",I8:M" &x).select
12.11.2010 20:50:35
Gerd
Hallo NoNet,
hast Du heute diese [ ] verlegt? :-)
Gruß Gerd
@Gerd: Wie soll das funktionieren ?
12.11.2010 23:08:39
NoNet
Hallo Gerd,
meinst Du etwas diese Syntax : ["A8:C" & x &",E8:F" & x & ",I8:M" & x].Select ?
Das funktioniert leider nicht, da [ ] bekanntlich eine Kurzform der EVALUATE()-Funktion ist, jedoch keine Anführungszeichen als Bereichsbezeichner benötigt ! Oder kennst Du eine andere Syntax mit [ ] ?
Eine "Verkürzung" kann ich jedoch noch anbieten :
Range(Replace("A8:C#,E8:F#,I8:M#","#",x)).Select
Gruß, NoNet
Anzeige
AW: @Gerd: Wie soll das funktionieren ?
13.11.2010 09:05:47
Gerd
Hallo NoNet!
Mit etwas Schummeln geht es schon.
Bin aber ein Anhänger der Cells-Schreibweise. Diese vermisse ich bei "Excelei".
Sub Andere()
Dim x As Long
x = 12
Intersect(Union([A:C], [E:F], [I:M]), [8:8].Resize(x - 8 + 1)).Select
End Sub
Gruß Gerd
@Gerd: Dann dann aber bitte ohne UNION ;-)
13.11.2010 17:44:22
NoNet
Hey Gerd,
klaro kann man auch die CELLS()-Schreibweise verwenden, angeblich ist diese sogar geringfügig (kaum merkbar - allenfalls messbar) schneller, ich bevorzuge hingegen oftmals die [ ], da der code dadruch besser lesbar wird ([A1:E10] ist besser lesbar als Range(Cells(1,1),Cells(10,5) !). Das ist aber natürlich auch "Geschmacksache" ;-))
Wenn man also schon "schummelt", dann aber bitte auch konsequent - das UNION() kann man sich auch noch "sparen" :
Intersect([A:C,E:F,I:M],[8:8].Resize(x-8+1)).Select
Gruß, NoNet
Anzeige
Ich sage:"Vielen Dank, dass es Euch gibt!" ;o)
13.11.2010 22:44:14
KLE
Hallo zusammen,
sorry, war heut den ganzen Tag unterwegs...aber klasse, was ich hier lesen darf. Ich bin jedesmal beeindruckt, was ihr so könnt. Ich meine, man stellt eine kleine Frage und man erhält i.d.R. nicht nur die Lösung, sondern zu dem noch 2-3 unterschiedliche - aber richtige - Lösungsmöglichkeiten. WOW !
Ich ziehe meinen Hut vor Euch und sage - DAAAAAAAAAAAAAAAAnnnnnkeee! Das es Euch gibt und ihr dieses Forum so "lebendig" und "lehrreich" macht. Vielen Dank!
Gruß
Kay

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige