Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
804to808
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
804to808
804to808
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

2 getrennte Bereiche kopieren (gesucht: VBA-Code)

2 getrennte Bereiche kopieren (gesucht: VBA-Code)
03.10.2006 21:38:43
Bernd
Hallo allerseits,
ich habe mir (mit Hilfe des Makrorekoders) folgenden Code zurecht gebastelt, um den Inhalt eines Blattes in ein anderes Blatt zu kopieren.
Range("A4:E10000").Select
Selection.Copy
Sheets("Tab2").Select
Range("A2").Select
ActiveSheet.Paste
Nun möchte ich gerne, dass nur der Inhalt der Zellen A4:C10000;E4:F10000 kopiert werden soll. Gebe ich das in obigen Code ein, funktioniert dies aber nicht.
Wie gibt man es ein?
Bin im Übrigen auch sonst dankbar, falls jemand obigen Code verbessern kann, und mir im Übrigen sagt, was dann daran falsch war.
Gruss
Bernd

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Code)
03.10.2006 21:57:30
Ali
Hi,

Sub copy()
Range("A4:E10000").copy Sheets("Tab2").Range("A2")
End Sub

Mehrere Bereiche müssen einzeln kopiert werden, kann auch in einer Schleife sein.
mfg Ali
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Code)
03.10.2006 22:00:41
Bernd
Danke, ich denke das hilft mir erstmal weiter. :-))))))))))
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
03.10.2006 22:15:48
EtoPHG
Hallo Bernd,
In obigem Code ist so ziemlich alles falsch, weil er mit dem Makrorecorder erstellt wurde...
Natürlich ein Witz mit ernstem Hintergrund (http://www.online-excel.de/excel/singsel_vba.php?f=78), also...
Angenommen:
Du willst die Bereiche A4:C10000 und E4:F10000 vom ersten Tabellenblatt auf das zweite Tabellenblatt ab Adresse A2 bzw. E2 kopieren und dabei nur die Werte (keine Formeln, keine Formate) mitnehmen, könnte das so heissen:

Sub x()
ActiveWorkbook.Sheets(1).Range("A4:C10000").Copy
ActiveWorkbook.Sheets(2).Range("A2").PasteSpecial Paste:=xlPasteValues
ActiveWorkbook.Sheets(1).Range("E4:F10000").Copy
ActiveWorkbook.Sheets(2).Range("E2").PasteSpecial Paste:=xlPasteValues
End Sub

Der Sinn der Operation mag sich dem Auftraggeber erschliessen ... ;-)
Gruss Hansueli
Anzeige
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 00:20:52
Bernd
****In obigem Code ist so ziemlich alles falsch, weil er mit dem Makrorecorder erstellt wurde... ***
Ja, mag sein, aber für einen Anfänger ist es erstmal ziemlich praktisch etwas aufzunehmen, und den Code dann zumindest zu begreifen und selbst erweitern zu können.
Dass das nicht unbedingt immer die beste und reinste Variante ist, mag ja stimmen.
Aber momentan bin ich halt noch nicht weiter. :-(
Gruss
DC
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 09:05:29
EtoPHG
Hallo Bernd,
Das mit dem "Im obigen Code..." war keineswegs als Mahnung und schon gar nicht als Beleidiung gemeint, sondern eher ironisch ;-)
Der Code sollte als Beispiel dienen.
Jetzt meldest Du eine Fehlermeldung und willst wissen was falsch ist.
Damit man Dir besser helfen kann, empfehle ich Dir folgendes:
1. Versuch mal genau zu schildern, was Dein Problem ist, bzw. was Du gedenkst mit dem Makro zu lösen.
2. Wenn Du eine Fehlermelung hast, unter welchen Umständen taucht sie auf und VOR ALLEM WIE LAUTET SIE ?
Gruss Hansueli
Anzeige
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 10:36:16
Bernd
Guten Morgen,
***1. Versuch mal genau zu schildern, was Dein Problem ist, bzw. was Du gedenkst mit dem Makro zu lösen.***
Gerne. Es geht darum, dass ich eine Liste mit dem Autofilter jeweils nacheinander nach bestimmten Kriterien filtere, und die gefilterte Liste dann jeweils in ein anderes Tabellenblatt kopiere. Das funktionierte - trotz des schlechten Codes ;-) - bislang einwandfrei. Bis zu dem Punkt, an dem ich nur eins Spalte nicht mehr kopieren wollte. (s.Topic.)
Dank deinem Posting, wollte ich nun bei der Gelegenheit auch noch den sauberen Code (von dir) einfügen. Angepassst sieht das ganze nun bei mir wie folgt aus:
Sheets("Gesamtliste").Select
Selection.AutoFilter Field:=8, Criteria1:="Test"
Sheets("Gesamtliste").Range("A4:C10000").Copy
Sheets("Stärke").Range("A2").PasteSpecial Paste:=xlPasteValues
Sheets("Gesamtliste").Range("E4:F10000").Copy
Sheets("Stärke").Range("D2").PasteSpecial Paste:=xlPasteValues
***2. Wenn Du eine Fehlermelung hast, unter welchen Umständen taucht sie auf und VOR ALLEM WIE LAUTET SIE ?***
Die Fehlermeldung taucht in folgender Zeile auf (bzw. beim debuggen ist diese Zeile gelbt markiert):
Sheets("Stärkemeldung").Range("A2").PasteSpecial Paste:=xlPasteValues
und lautet: "Lautfzeitfehler 1004. Für diese Aktion müssen alle verbundenen Zellen dieselbe Größe haben". Die Meldung verwundert mich eher. Zwar befindet sich im Sheet "Stärke" in Zeile 1 eine verbundene Zelle, aber auf diese wird ja auch gar nicht zugegriffen. *wunder*
Gruss
Bernd
Anzeige
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 12:35:58
Bernd
So, nach langem Suchen im Archiv habe ich jetzt glaube ich was gefunden, das funktioniert:
Worksheets("Gesamtliste").Range("A2:C10000").Copy
With Worksheets("Stärke").Range("A2")
.PasteSpecial Paste:=xlValues
End With
Application.CutCopyMode = False
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 12:44:56
Bernd
Ich verbessere mich:
beim zweiten Mal funktioniert es nicht mehr. :-(((
Es erscheint obige gleiche Fehlermeldung, was augenscheinlich in der Tat darauf zurückzuführen ist, dass sich im Tabellenblatt noch verbundenen Zellen befinden (durch eine zuvor durchgeführte Kopieraktion).
Ich habe nun ganz am Anfang ein Makro eingefügt, was zunächst alle verbundenen Zellen beseitigt.
ActiveCell.Cells.Select
With Selection
.VerticalAlignment = xlBottom
.WrapText = False
.Orientation = 0
.AddIndent = False
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
Hoffe, nun klappt es dauerhaft
gruss
b.
Anzeige
AW: 2 getrennte Bereiche kopieren (gesucht: VBA-Co
04.10.2006 12:55:39
Bernd
Ok, Schluss aus Ende... Jetzt habe ich in meinem Code so viel gefuscht, das nun irgendwie gar nichts mehr richtig funktioniert.
Wer kann mir bitte einfach mal den Code für das kopieren von Werten von einem Tabellenblatt (mit Bereich) in ein anderes Tabelleblatt nennen. ?
Gruss & Danke
B.
offene Frage
04.10.2006 13:24:20
Bernd
-
AW: offene Frage
04.10.2006 13:53:13
EtoPHG
Hallo Bernd,
Versuch's mal so:

Sub CopySheetValues()
Const tShFrom = "Gesamtliste"           ' Name der Quellen Tabelle
Const tShTo = "Stärke"                  ' Name des Ziel Tabelle
Const tDelCols = "D:D,G:G"              ' Zu löschenend Kolonnen in der Ziel Tabelle
Sheets(tShFrom).Cells.Copy
Sheets(tShTo).Range("A1").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Sheets(tShTo).Range(tDelCols).Delete Shift:=xlToLeft
End Sub

Brauchst nur ev. die Werte in den 3 ersten Codezeilen zu verändern.
Gruss Hansueli
Anzeige
AW: offene Frage
04.10.2006 14:12:57
Bernd
***Const tDelCols = "D:D,G:G" ' Zu löschenend Kolonnen in der Ziel Tabelle***
Was soll das denn? Vor allem das G:G?
AW: offene Frage
04.10.2006 14:36:37
EtoPHG
Hallo Bernd,
Was soll das denn? Vor allem das G:G?
EIN BEISPIEL, NICHTS ANDERES.
PASS ES HALT AN; WIE DU ES MOECHSTEST ODER LASS ES WEG !!
Ich bin raus.
Gruss Hansueli
AW: offene Frage
04.10.2006 14:56:21
Bernd
Danke, hast mir sehr geholfen
Gruss
bernd
HILFE!
04.10.2006 00:33:25
Bernd
Hilfe, wenn ich den Code für meine Bedürfnisse anpasse, dann erhalte ich bei folgender Zeile ein fehlermeldung:
Sheets("Stärke").Range("A1").PasteSpecial Paste:=xlPasteValues
Was ist daran falsch?
PasteSpecial
04.10.2006 07:57:21
Ramses
Hallo
Entweder du arbeitest mit einer With-Anweisung
With ActiveWorkbook.Sheets(2)
oder du musst Sheets(2) vorher aktivieren
Gruss Rainer
Anzeige
AW: PasteSpecial
04.10.2006 10:26:47
Bernd
Morgen,
Vermutlich eine Dumme frage, aber wie müsste die Codezeile dann jeweils aussehen?
Und was ist von den beiden Varianten zu bevorzugen?
Gruss
Bernd

37 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige