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

Zeilen mit Werten kopieren

Zeilen mit Werten kopieren
27.02.2004 07:44:48
Wilfried
Hallo und Guten Morgen
Ich habe folgendes Excel-Problem und würde mich über Eure Hilfe freuen:
Ich möchte per Makro aus einer Tabelle (Mappe1.xls/Tabelle1) alle Zeilen kopieren die Werte enthalten und anschließend diese Zeilen in einer anderen Arbeitsmappe (Mappe2.xls/Tabelle1) unterhalb der ersten Zeile einfügen. Dabei sollen die dort vorhandenen Werte nicht überschrieben werden.
(Einfügen der gesamten Zeilen)
Vielleicht habt Ihr dazu eine Idee
Gruß und Dank
Wilfried

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen mit Werten kopieren
27.02.2004 09:00:21
AndreasS
Morgen,
vielleicht ein wenig umständlich aber:

Sub Kopieren()
On Error Resume Next
Application.ScreenUpdating = False
'Gehe mal davon aus, dass Mappe1, Tabelle1 aktiv ist
ActiveSheet.UsedRange.Copy
Öffnen
Windows("Mappe2.xls").Activate
Sheets("Tabelle1").Range("A1").Select
ErsteFreieA
Selection.PasteSpecial xlAll
Windows("Mappe1.xls").Activate
'Wenn Mappe2 wieder geschlossen werden soll (Änderungen werden gespeichert)
Schließen
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Sub Öffnen()
Dim bExists As Boolean
Dim oWorkbook As Object
bExists = False
With Application
For Each oWorkbook In .Workbooks
If UCase$(oWorkbook.Name) = "Mappe2.XLS" Then
Windows(oWorkbook.Name).Activate
bExists = True
Exit For
End If
Next
End With
If Not bExists Then
On Error Resume Next
Workbooks.Open Filename:="G:\Temp\Mappe2.XLS", ReadOnly:=False
On Error GoTo 0
End If
End Sub


Sub ErsteFreieA()
Dim s As String
Dim i As Long
On Error Resume Next
With ActiveSheet
i = 1
Do
i = i + 1
s = Cells(i, "A")
If Len(s) = 0 Then
Cells(i, "A").Select
Exit Do
End If
Loop While i < 65535
End With
End Sub


Sub Schließen()
On Error Resume Next
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name <> ThisWorkbook.Name Then
wkb.Close savechanges:=True
End If
Next wkb
End Sub

In ein allg. Modul und Makro kopieren ausführen...
Gruß Andreas
Anzeige
Dein Makro funktioniert .....ABER...
27.02.2004 10:12:42
Wilfried
Hallo Andreas
erstmal vielen Dank für die superschnelle und tolle Lösung!!!
Das Makro läuft prima. Es hat für mich jedoch noch den Nachteil, daß die Datensätze am Ende angehängt werden. (Zeile 8000)
Besteht die Möglichkeit, daß die Datensätze nach der zweiten Zeile eingefügt werden???
Gruß und Dank
Wilfried
AW: Dein Makro funktioniert .....ABER...
27.02.2004 10:14:50
AndreasS
Hi,
für die zweite Zeile:

Sub Kopieren()
On Error Resume Next
Application.ScreenUpdating = False
'Gehe mal davon aus, dass Mappe1, Tabelle1 aktiv ist
ActiveSheet.UsedRange.Copy
Öffnen
Windows("Mappe2.xls").Activate
Sheets("Tabelle1").Range("A2").Select
'ErsteFreieA
Selection.PasteSpecial xlAll
Windows("Mappe1.xls").Activate
'Wenn Mappe2 wieder geschlossen werden soll (Änderungen werden gespeichert)
Schließen
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Dann brauchst du nicht die erste freie zu ermitteln.
Gruß Andreas
Anzeige
DANKE für die super Lösung
27.02.2004 11:21:10
Wilfried
Hallo Andreas,
nochmals vielen Dank für Deine Hilfe.
Auf dieses Forum mit solchen wirklich guten Beiträgen möchte ich nicht verzichten.
Gruß
Wilfried
Danke für die Rückmeldung!
27.02.2004 11:48:16
AndreasS
Gruß Andreas

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige