Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
680to684
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
680to684
680to684
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Range("B3", "C", "A7:A100").Copy

Range("B3", "C", "A7:A100").Copy
19.10.2005 09:19:15
Korl
Hallo und guten Morgen,
ich dächt man könnte mit nachfolfender Schreibweise, einfach und schnell das Kopieren erledigen.
wksTxt.Range("B3", "C", "A7:A100").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
Aber leider mag er diese Schreibweise nicht.
Muß ich nun zwingend die Schritte einzeln durchführen oder bekommt man es in einem Zwutsch kopiert?
Wenn ja, wie müßte ich es angehen?
Gruß Korl

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 09:30:58
Heiko
Hallo Korl,
die schreibweise wäre so: Range("A7:A100,B3,C:C").Select
Aber .copy geht da nicht das es keine zusammenhängenden Bereiche sind.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 09:48:28
Korl
Hallo Heiko,
danke für Deine schnelle Antwort, Dein beschriebener Effekt habe ich schon mitbekommen.
Das ganze ist ja widerspenstiger als ich an nahm. Bei dieser schreibweise:
wksTxt.Range("B3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("C3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("A7:A100").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
kopiert er nur das letzte, also "wksTxt.Range("A7:A100").Copy"
Vielleicht weis noch jemand einen Rat?
Gruß Korl
Anzeige
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 09:57:36
Heiko
Hallo Korl,
wenn du lLetzteTxtAbl nicht neu bestimmst, dann ist doch klar das er immer da wieder anfängt, was bedeutet das nur das letzte zu sehen ist.
Nach jeden Paste Befehl musst du lLetzteTxtAbl neu bestimmen.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 10:11:45
Korl
Hallo Heiko,
nochmal Danke für Deine Erläuterung, kann aber Deinen Gedanken nicht nachvollziehen
denn der Zielort ist doch variabel.
Der Bereich aus den Quellort soll immer in den Zielort Spalte "A" hinter an angehängt werden.
Das sollte doch dieser Befehl
"wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues"
aussagen?
Gruß Korl
Anzeige
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 10:17:38
Heiko
Hallo Korl,
das sehe ich anders:
Zitat von dir.
"
Das sollte doch dieser Befehl
"wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues"
aussagen?
"
Vom Prinzip hast du recht, aber der Variablen lLetzteTxtAbl muß du doch irgendwann mal einen Wert zugewiesen haben. Den von alleine kommt die letzte benutzte Zeile da ja nicht rein. Denn Befehl zum "füllen" von lLetzteTxtAbl muss du dann nach dem PasteSpecial Befehl wiederholen.
Klar ?! Wenn nicht da zeig mal den ganzen Code.
Gruß Heiko

PS: Rückmeldung wäre nett !
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 11:30:58
Korl
Hallo Heike,
Danke für Deine Geduld!
Hier mal mein Code:

Sub Text_ablegen()
Dim wksTxt As Worksheet, wksTxtAbl As Worksheet
Dim lLetzteTxtAbl As Long
Set wksTxt = Worksheets("Text")
Set wksTxtAbl = Worksheets("Textablage")
lLetzteTxtAbl = IIf(wksTxtAbl.Range("A65536") <> "", 65536, wksTxtAbl.Range("A65536").End(xlUp).Row)
wksTxt.Range("B3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("C3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("A6:A100").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False 'entfernt die Zwischenspeicherung
Call Del_leere_Zeile
wksTxt.Select
End Sub


Sub Del_leere_Zeile()
Dim iRow As Long
Application.ScreenUpdating = False
Worksheets("Textablage").Select
For iRow = Cells(65536, 1).End(xlUp).Row To 1 Step -1
If Cells(iRow, 1) = "" Then
Rows(iRow).EntireRow.Delete Shift:=xlUp
End If
Next iRow
Application.ScreenUpdating = True
End Sub

Gruß Korl
Anzeige
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 11:36:21
Heiko
Hallo Korl,
diesen Teil:
Set wksTxt = Worksheets("Text")
Set wksTxtAbl = Worksheets("Textablage")
lLetzteTxtAbl = IIf(wksTxtAbl.Range("A65536") "", 65536, wksTxtAbl.Range("A65536").End(xlUp).Row)

wksTxt.Range("B3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("C3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
wksTxt.Range("A6:A100").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
so ändern: (ungetestet)
Set wksTxt = Worksheets("Text")
Set wksTxtAbl = Worksheets("Textablage")
lLetzteTxtAbl = IIf(wksTxtAbl.Range("A65536") "", 65536, wksTxtAbl.Range("A65536").End(xlUp).Row)

wksTxt.Range("B3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
lLetzteTxtAbl = IIf(wksTxtAbl.Range("A65536") "", 65536, wksTxtAbl.Range("A65536").End(xlUp).Row)
wksTxt.Range("C3").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
lLetzteTxtAbl = IIf(wksTxtAbl.Range("A65536") "", 65536, wksTxtAbl.Range("A65536").End(xlUp).Row)
wksTxt.Range("A6:A100").Copy
wksTxtAbl.Range("A" & lLetzteTxtAbl + 1).PasteSpecial Paste:=xlValues
Gruß Heiko

PS: Rückmeldung wäre nett !
Anzeige
AW: Range("B3", "C", "A7:A100").Copy
19.10.2005 13:57:52
Korl
Hallo Heiko,
juhuu es hat geklappt! Die Variable "lLetzteTxtAbl = " muß also immer wieder vor die Ausführung gesetzt werden.
Und wieder was dazu gelernt.
Heiko, hab Dank für Deine Geduld und Mühe mit mir. ;-)
Gruß Korl

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige