Range(var1:var2) ??

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Range(var1:var2) ??
von: Thomas
Geschrieben am: 25.04.2005 14:10:48
So...weils so schön ist, auch noch die dritte Frage für heute:
Ich beschreibe mal nicht groß, was ich schon probiert habe. Vielleicht sitze ich hier auch schon zu lange vor... :-)
Ich habe eine Liste A1-Mxxx in der Zahlen stehen
Ich möchte einen Bereich daraus kopieren. Und zwar den Bereich, angefangen dort, wo in "A" die erste 0 steht, bis zum ende der Liste.
Angenommen in "A1-A42" stehen 3stellige Zahlen, in "A43" die 0, danach wieder 3stellige Zahlen(sagen wir mal die Liste endet bei A50).
Dann möchte ich den Bereich A43 bis M50 kopieren und direkt an die Liste wieder anhängen. also in die nächste leere Zelle einfügen.
Wie ich die leere Zelle und die 0 finde, ist mir bekannt. Aber wie komme ich an das "range-objekt" der jeweiligen zelle?
Ich hoffe man kann mein Problem verstehen.... Ich sitze hier definitiv schon zu lange dran :-)
Danke schonmal ,Thomas

Bild

Betrifft: AW: Range(var1:var2) ??
von: u_
Geschrieben am: 25.04.2005 14:29:21
Hallo,
die Antwort hast du fast schon selbst gegeben.
Nicht elegant, aber Range(var1 &":" &var2) geht.
Gruß
Bild

Betrifft: AW: Range(var1:var2) ??
von: Thomas
Geschrieben am: 26.04.2005 10:10:11
Soweit so gut..... jetzt nochmal ne blöde Frage:
Wie komme ich an den Range-Bereich der aktiven zelle?
----------------
Dim R1 as Range
R1 = Range(activecell)
----------------
Das funktioniert natürlich nicht, aber so versteht man hoffentlich was ich erreichen möchte :-)
Bild

Betrifft: AW: Range(var1:var2) ??
von: Martin Beck
Geschrieben am: 26.04.2005 10:46:59
Hallo Thomas,
ActiveCell ist ein Range! Meinst Du die Adresse? Und was soll das Ganze eigentlich? Selectieren ist meist überflüssig. Beschreibe doch mal Deine Aufgabenstellung, dann gibt es wahrschinlich einfache und effiziente Lösungen.
Gruß
Martin Beck
Bild

Betrifft: AW: Range(var1:var2) ??
von: Thomas
Geschrieben am: 26.04.2005 11:50:55
Also hier meine Aufgabenstellung:
Eine Tabelle wird über ein Userform malnuell mit Daten "gefüttert".
Die Daten werden in der Tabelle in "Abschnitte" aufgeteilt und zwischen den Abschnitten durch eine Zeile mit "-" in spalte "B" gekennzeichnet.
Im Userform soll nun ein Knopf auftauchen der heißt: "Letzten Abschnitt Kopieren".
Wenn man da drauf drückt, soll der letzte Abschnitt (gekennzeichnet durch einen "-" in Spalte "B" am Anfang und am Ende) kopiert und einfach nochmal unten eingefügt werden.

Meine Gedachte Lösung:
Tabellenende finden, nach oben suchen bis zum 1. "-" in "B",auf "A" wechseln und Zelle als Var1.
Dann wieder Tabellenende finden, eine Zeile hoch, nach rechts auf "M" (M ist die letzte benutzte Spalte) wechseln und zelle als Var2.
Dann hätte ich die beiden Eckpunkte des letzten Abschnitts. Dann Range(Var1&":"&Var2).copy usw.....

Bild

Betrifft: AW: Range(var1:var2) ??
von: Martin Beck
Geschrieben am: 26.04.2005 13:20:26
Hallo Thomas,
meinst Du so:

Sub kopieren()
Lz = Range("A65536").End(xlUp).Row
For i = Lz To 1 Step -1
    If Cells(i, 2) = "-" Then
        Ez = i + 1
        Exit For
    End If
Next i
Range(Cells(Ez, 1), Cells(Lz, 13)).Copy Destination:=Cells(Lz + 1, 1)
End Sub

Gruß
Martin Beck
Bild

Betrifft: AW: Range(var1:var2) ??
von: Thomas
Geschrieben am: 26.04.2005 14:04:25
So meinte ich das :-)
Vielen Dank
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Eigene Menüleiste"