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

Zeilen kopieren und in andere Datei einfügen

Zeilen kopieren und in andere Datei einfügen
21.02.2008 09:06:10
Stephan
Hallo zusammen,
ich bin VBA-Anfänger und habe folgendes Problem:
Ich habe zwei Excel-Dateien (Vorlage-Datei und Zieldatei). In der Vorlage-Datei werden regelmäßig von Zeile 7 bis 18 und Zeile 21 bis 37 Datensätze eingepflegt. Diese Datensätze sollen nun mittels Makro in die nächste freie Zeile der Zieldatei (umfasst mittlerweile über 800 Zeilen) übernommen werden. Die Datensätze in der Vorlage-Datei werden anschließend wieder überschrieben.
Mit welchem Makro kann man so etwas umsetzen? Vielen Dank schon mal im Voraus für Eure Unterstützung!! Gruß, Stephan

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 09:14:00
haw
Hallo Stephan,
ein Beispiel:

Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz%
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = Workbooks("Zieldatei.xls").Worksheets("Ziletabelle")
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows("7:18").Copy wsZ.Cells(efz, 1)
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows("21:37").Copy wsZ.Cells(efz, 1)
End Sub


wobei hier auch die Zieldatei offen sein muß
Gruß
Heinz

AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 09:41:00
Stephan
Hallo haw,
zunächst einmal vielen Dank für die schnelle Hilfe. Werde es sofort ausprobieren und mich anschließend melden.....
Gruß,
Stephan

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 10:45:48
Stephan
Hallo haw,
Super!! Funktioniert einwandfrei! Vielen Dank nochmals!!
Eine Sache hätte ich noch: In den vorhin beschriebenen Zeilen der Vorlage-Datei ist nicht immer ein Datensatz enthalten. Meistens befindet sich in Zeile 7-10 und 21-24 ein Datensatz.
Kann man es irgendwie verhindern, dass er dann die leeren Zeilen mitkopiert, also nur die Zeilen kopiert, die auch Daten enthalten? Vielen Dank jetzt schon mal!!
Gruß, Stephan

AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 11:29:46
haw
Hallo Stephan,
nachdem ich nicht weiss wo (in welchen Spalten) deine Daten stehen können, wird die ganze Zeile nach einem Inhalt überprüft, wird keiner gefunden, wird die Zeile nicht kopiert

Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz%, i%
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = Workbooks("Zieldatei.xls").Worksheets("Zieltabelle")
For i = 7 To 18
If ws.Cells(i, 1).End(xlToRight).Column 


Gruß
Heinz

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 12:00:41
Stephan
Hallo haw,
Danke für die schnelle Antwort!!
Meine Daten liegen im Bereich A6-P18 (ich hatte vorhin A7 geschrieben, hab mich leider vertan. Hab`s aber im Script schon abgeändert) und im Bereich A21 bis P37. Welchen Passus muss ich dann in deinem eben übersandten Script ändern?
Gruß,
Stephan

AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 12:36:00
Stephan
Hi haw,
ich Dussel habe gerade festgestellt, dass in den "Leerzeilen" meiner Vorlage-Datei Formeln hinterlegt sind. Diese hat er dann natürlich mitkopiert. Lässt sich das umgehen? Vielen Dank!
Gruß,
Stephan

AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 17:29:57
HAW
Hallo Stephan,
welcher Datentyp liegt vor? Zahlen oder Text?
Bei Zahlen ist es einfacher, bei Text müsste man alle Zellen durchlaufen
Gruß
Heinz

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 18:01:07
HAW
Hallo Stephan,
hier ein Versuch

Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz%, i%, leer As Boolean
Dim c As Range, Bereich As Range
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = Workbooks("Zieldatei.xls").Worksheets("Zieltabelle")
For i = 6 To 18
Set Bereich = ws.Range("A" & i & ":P" & i)
leer = True
For Each c In Bereich
If c.Value  0 Then leer = False
Exit For
Next c
If leer = False Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy wsZ.Cells(efz, 1)
End If
Next i
For i = 21 To 37
Set Bereich = ws.Range("A" & i & ":P" & i)
leer = True
For Each c In Bereich
If c.Value  0 Then leer = False
Exit For
Next c
If leer = False Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy wsZ.Cells(efz, 1)
End If
Next i
End Sub


Gruß
Heinz

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 20:13:03
Stephan
Hallo haw,
vielen Dank mal wieder für deine Bemühungen!! Ich werde es direkt morgen früh ausprobieren und mich umgehend wieder melden. Als Datentyp habe ich im Datenbereich Zahlen und Text (Menge, Artikelbezeichnung, Artikel-Nr. etc.). Ich wünsche noch einen schönen Abend! Danke nochmals!!
Gruß, Stephan

AW: Zeilen kopieren und in andere Datei einfügen
21.02.2008 20:59:00
HAW
Hallo Stephan,
am einfachsten wäre es, wenn man sagen könnte, z.B. in der Spalte P steht, wenn die Zeile nicht leer ist, immer was drinnen. Dann bräuchte man nur die Spalte P überprüfen.
Gruß
Heinz

AW: Zeilen kopieren und in andere Datei einfügen
22.02.2008 08:35:25
Stephan
Guten morgen haw,
habe Dein Script ausprobiert und er bringt den Datensatz auch tadellos rüber. Allerdings kopiert er die Formeln (der s. g. "Leerzeilen") noch mit. Wenn ich alle Formeln nach erfolgter Dateneingabe in meiner Vorlagedatei entferne, setzt er mir natürlich alle Datensätze sauber untereinander weg. Das ist also nicht das große Problem. Wäre natürlich trotzdem schön, wenn sich das irgendwie lösen könnte.
Jetzt ist es so, dass in meiner Zieltabelle in den Spalten Q, R, S, T und U noch Zellen mit Formeln hinterlegt sind und diese durch den Kopiervorgang überschrieben werden. D. h. er kopiert die kompletten Zeilen 6, 7, 8 usw. Die Spalten O und P in meiner Vorlage-Datei sind manuelle Einträge, d. h. ohne Formeln hinterlegt.
Wie immer an dieser Stelle ein großes DANKESCHÖN für Deine bisherigen Bemühungen!!
Gruß, Stephan

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
22.02.2008 10:09:59
haw
Hallo Stephan,
hier ein weiterer Versuch

Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz%, i%, leer As Boolean
Dim c As Range, Bereich As Range
Set ws = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = Workbooks("Zieldatei.xls").Worksheets("Zieltabelle")
For i = 6 To 18
Set Bereich = ws.Range("A" & i & ":P" & i)
leer = True
For Each c In Bereich
If c.Value  "0" Then leer = False
Exit For
Next c
If leer = False Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy wsZ.Cells(efz, 1)
End If
Next i
For i = 21 To 37
Set Bereich = ws.Range("A" & i & ":P" & i)
leer = True
For Each c In Bereich
If c.Value  "0" Then leer = False
Exit For
Next c
If leer = False Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy wsZ.Cells(efz, 1)
End If
Next i
End Sub


sonst könntest du einmal die Ausgangstabelle hochladen, dann könnte ich genau sehen, was da drin steht.
Gruß
Heinz

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
22.02.2008 12:09:00
Stephan
Hallo haw,
hier der Link für meine Vorlagedatei:
https://www.herber.de/bbs/user/50111.xls
Probiere jetzt Dein neues Script aus und melde mich wieder. Danke!
Gruß,
Stephan

AW: Zeilen kopieren und in andere Datei einfügen
22.02.2008 12:23:00
Stephan
Hi,
Daten werden ohne Probleme kopiert, allerdings leider immer noch mit den Formeln in den "Leerzellen". Und auch die entsprechenden Zellen in den Spalten Q, R, S, T und V in der Zieldatei werden überschrieben. Ich hoffe, die eben hochgeladene Vorlagedatei kann dir weiterhelfen und wenn nicht, ist das auch nicht weiter tragisch. VIELEN DANK!!
Gruß, Stephan

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
22.02.2008 17:29:00
HAW
Hallo Stephan,
nächster Versuch. Ich gehe davon aus, dass wenn Daten in eienr zeile vorhanden sind, immer auch die Kalenderwoche in der Spalte A vorhanden ist, d.h. ich überprüfe nur die Spalte A.

Sub BereichKopieren()
Dim ws As Worksheet, wsZ As Worksheet, efz%, i%, leer As Boolean
Dim c As Range, Bereich As Range
Set ws = ThisWorkbook.Worksheets("Ausdruck")
Set wsZ = Workbooks("Zieldatei.xls").Worksheets("Zieltabelle")
For i = 6 To 18
If ws.Cells(i, 1).Value  0 Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy
wsZ.Cells(efz, 1).PasteSpecial Paste:=xlPasteValues
wsZ.Cells(efz, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End If
Next i
For i = 21 To 37
If ws.Cells(i, 1).Value  0 Then
efz = wsZ.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Rows(i).Copy
wsZ.Cells(efz, 1).PasteSpecial Paste:=xlPasteValues
wsZ.Cells(efz, 1).PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End If
Next i
End Sub


Gruß
Heinz

Anzeige
AW: Zeilen kopieren und in andere Datei einfügen
24.02.2008 19:12:38
Stephan
Hallo Haw,
zunächst ein "Danke Schön" für das Script! Werde es morgen früh direkt ausprobieren. Ich wünsche Dir noch einen schönen Sonntag!!
Gruß, Stephan

AW: Zeilen kopieren und in andere Datei einfügen
25.02.2008 08:10:00
Stephan
Hallo haw,
ich hoffe, du hast ein angenehmes Wochenende gehabt.
ich habe gerade das Script ausprobiert. Als Test habe ich in Zeile 6 und 21 einen Datensatz eingegeben und kopiert. Die Daten werden werden auch übertragen, aber er kopiert die dazwischen liegenden Leerzeilen wieder mit, diesmal allerdings ohne Formeln. Er schreibt mir die Datensätze nicht untereinander weg, sondern fügt die Leerzeilen halt mit ein.
Und in den Spalten Q, R, S, T, U der Zieldatei löscht er die Formeln und die Formatierung in allen kopierten Zellen. D. h., er kopiert die ganze Zeile.
Gruß, Stephan
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige