Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Makro kopiert keine Werte Tabelle in Datei

VBA Makro kopiert keine Werte Tabelle in Datei
22.11.2005 15:34:05
Simon
Hallo,
habe schon länger probiert und google befragt und kam bisher so weit. (Siehe weiter unten)
Was ich möchte ist das kopieren von einem Bereich einer Exceldatei in eine andere Exceldatei, ohne diese jedoch offen zu haben. Eine Art Exceldatenbank (nein, Access möchte ich dafür nicht bemühen). Mein Vorhaben funktioniert schon, aber er kopiert nur Formeln, nicht deren Werte.
Kann mir jemand einen Tip geben wie ich nun nur die Werte kopieren kann?
Danke,
Gruß
Simon

Sub KopieMehrfach()
Dim wb As Workbook, rng As Range, iRowZ As Integer, iCol As Integer, rng_tmp As Range
'                                            Zielmappe öffnen
Set wb = Workbooks.Open(Filename:= _
"c:\_new_1.xls")
With wb.Worksheets(1)
'                                      erste freie Zeile des Zielblatts
iRowZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
iCol = 1
'                                      Quellmappe aktivieren
ThisWorkbook.Activate
'                                      Schleife über Bereiche
Set ErsterBereich = Worksheets("Tabelle1").Range("A5:k5")
For Each rng In ErsterBereich
rng.Copy Destination:=.Cells(iRowZ, iCol)
iCol = iCol + 1
Next rng
End With
'                                            Zielmappe schließen+sichern
wb.Close SaveChanges:=tru
'                                  Werte im selektierten Bereich löschen
'Selection.ClearContents
'                                            aufräumen
Cells(1, 1).Select
Set wb = Nothing
Set rng = Nothing
End Sub

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Makro kopiert keine Werte Tabelle in Datei
22.11.2005 15:40:43
Frank
Hallo Simon,
versuch es mal so:

Sub KopieMehrfach()
Dim wb As Workbook, rng As Range, iRowZ As Integer, iCol As Integer, rng_tmp As Range
'                                            Zielmappe öffnen
Set wb = Workbooks.Open(Filename:="c:\_new_1.xls")
With wb.Worksheets(1)
' erste freie Zeile des Zielblatts
iRowZ = .Cells(Rows.Count, 1).End(xlUp).Row + 1
iCol = 1
' Quellmappe aktivieren
ThisWorkbook.Activate
' Schleife über Bereiche
Set ErsterBereich = Worksheets("Tabelle1").Range("A5:k5")
For Each rng In ErsterBereich
rng.Copy                                             ' In die Zwischenablage
Set rng_tmp = .Cells(iRowZ, iCol)
'Eine der nächsten 2 Zeilen aktivieren!
'rng_tmp.PasteSpecial xlPasteAll                     ' Alles aus Zwischenabl.
'rng_tmp.PasteSpecial xlPasteValues                  ' Werte aus Zwischenabl.
iCol = iCol + 1
Next rng
End With
'                                            Zielmappe schließen+sichern
wb.Close SaveChanges:=tru
'                                  Werte im selektierten Bereich löschen
'Selection.ClearContents
'                                            aufräumen
Cells(1, 1).Select
Set wb = Nothing
Set rng = Nothing
End Sub

Erläuterung: Über PasteSpezial kannst Du bestimmen, was aus der Zwischenablage eingefügt werden soll.
Viel Erfolg
Frank.
Anzeige
Besten Dank
22.11.2005 15:51:14
Simon
Hallo Frank,
ganz herzlichen Dank!!!! Funktioniert!!!
Haben hoffentlich noch mehr Leute was davon...
Gruß aus Frankfurt
Simon
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige