Das Archiv des Excel-Forums

kopieren in geschlossene datei

Bild

Betrifft: kopieren in geschlossene datei
von: th.heinrich

Geschrieben am: 25.09.2003 17:43:41

hallo beste helfer,

folgender CODE von Hans CD funzzt super in einer MAPPE. der zu kopierende BEREICH ist nicht zusammenhaengend.


Sub auslesen()
Dim rngAct As Range
Dim intRow As Integer, intCol As Integer
'Workbooks.Open FileName:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
'Worksheets("auslesen").Activate
With Worksheets("Tabelle2")
If IsEmpty(.Cells(1, 1)) Then
intRow = 1
Else
intRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
For Each rngAct In Range("A1,C2,C6,E5,A6").Cells
intCol = intCol + 1
rngAct.Copy .Cells(intRow, intCol)
Next rngAct
End With
Application.CutCopyMode = False
End Sub


wie klappt das aber mit dem kopieren in eine andere DATEI die geschlossen ist, s. auskommentierten pfad.

also: aus der geoeffneten mappe AUSLESEN soll in die geschlossene mappe DB kopiert werden.

danke fuer hilfe

thomas
Bild


Betrifft: AW: kopieren in geschlossene datei
von: PeterW
Geschrieben am: 25.09.2003 17:45:56

Hallo Thomas,

in eine geschlosse MAppe kannst du nichts schreiben, auch nicht mit VBA.

Gruß
Peter


Bild


Betrifft: oeffnen-kopieren-schliessen
von: th.heinrich
Geschrieben am: 25.09.2003 17:53:34

sorry Peter,

evtl. falscher betreff.

hast Du Dir den CODE angeschaut ?

gruss thomas


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: PeterW
Geschrieben am: 25.09.2003 18:01:30

Hallo Thomas,

klar hab ich mir den Code angeschaut und mich gewundert, dass Hans mit Activate arbeitet. ;-)
Erklär mal, was du von wo nach wo kopieren willst (Arbeitsmappe, Blatt, Zellen), dann kann man den Code vernünftig anpassen.

Gruß
Peter


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: th.heinrich
Geschrieben am: 25.09.2003 18:12:08

hi Peter,

das ACTIVATE war natuerlich ein hilfloser versuch von mir.

also step bei step.

das sheet AUSLESEN ist offen, jetzt soll ein nicht zusammenhaengender BEREICH (deswegen CODE von Hans) in die 1. leere A:A des noch geschlossene sheets DB (siehe PFAD) kopiert werden.

gruss thomas

ps. erklaeren kann manchmal so schwer sein ;-))


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: PeterW
Geschrieben am: 25.09.2003 18:32:44

Hallo Thomas,

probier das mal so, ist aber nicht getestet.


Sub auslesen()
Dim rngAct As Range
Dim lgRow As Long
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("Quelltabelle")
Workbooks.Open Filename:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("Zieltabelle")
With wksZiel
If IsEmpty(.Cells(1, 1)) Then
lgRow = 1
Else
lgRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
lgRow = lgRow + 1
.Cells(lgRow, 1) = rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub

Gruß
Peter


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: th.heinrich
Geschrieben am: 26.09.2003 15:21:08

hallo Peter,

sorry, dass ich mich erst jetzt melde (strech im job).

Dein Code funzzt, mit einer kleinen ausnahme. die ausgelesenen ZELLEN stehen untereinander in SPALTE A. sollten aber nebeneinander in ZEILE 2 der ZIELTABELLE stehen.

beim CODE von Hans ist dies so. sicher kannst Du mir noch erklaeren was den unterschied bewirkt.

hier nochmal Dein CODE


Sub auslesen_1()
Dim rngAct As Range
Dim lgRow As Long
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("tabelle1") 'Quelltabelle
Workbooks.Open FileName:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("tabelle1") 'Zieltabelle
With wksZiel
If IsEmpty(.Cells(1, 1)) Then
lgRow = 1
Else
lgRow = .Cells(Rows.Count, 1).End(xlUp).Row + 1
End If
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
lgRow = lgRow + 1
.Cells(lgRow, 1) = rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub


gruss thomas


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: PeterW
Geschrieben am: 26.09.2003 18:48:55

Hallo Thomas,

wenn du dir den geänderten Code ansiehst müsste es deutlich werden. Im Code ist lgRow (Variable für die Zeile) durch iCol (Variable für die Spalte) ersetzt. Mit Cells(Zeile, Spalte) wird jetzt nicht mehr der Zeilenzähler erhöht sondern der Zähler für die Spalte. Im Gegensatz zur Anordnung untereinander würde ich hier noch eine Sicherheit einbauen, wenn die Gefahr besteht, dass mehr als 256 Werte in die Zieltabelle geschrieben werden.



Sub auslesen()
Dim rngAct As Range
Dim iCol As Integer
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("Quelltabelle")
Workbooks.Open Filename:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("Zieltabelle")
With wksZiel
If IsEmpty(.Cells(2, 1)) Then
iCol = 0
Else
iCol = .Cells(2, Columns.Count).End(xlToLeft).Column
End If
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
iCol = iCol + 1
.Cells(2, iCol) = rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub


Gruß
Peter


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: th.heinrich
Geschrieben am: 27.09.2003 00:15:18

hi Peter,

vielen dank. der unterschied ist jetzt sogar fuer mich ersichtlich.

werde es am montag auf arbeit gleich einbauen.

schoenes WE

von thomas


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: th.heinrich
Geschrieben am: 27.09.2003 16:03:59

hallo Peter,

nun ist es jetzt doch samstag geworden. klappt leider noch nicht ganz.

das auslesen in eine zeile klappt bestens, aber beim AUSLESEN soll der ausgelesen RANGE in der 1. freien ZEILE der SPALTE A stehen.

mit Deinem CODE


Sub auslesen()
Dim rngAct As Range
Dim iCol As Integer
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("Quelltabelle")
Workbooks.Open Filename:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("Zieltabelle")
With wksZiel
If IsEmpty(.Cells(2, 1)) Then
iCol = 0
Else
iCol = .Cells(2, Columns.Count).End(xlToLeft).Column
End If
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
iCol = iCol + 1
.Cells(2, iCol) = rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub


wird ALLES nebeneinander geschrieben.

ich habe schon versucht das prob zu loesen. natuerlich gescheitert.


Sub auslesen()
Dim rngAct As Range
Dim irow As Integer
Dim iCol As Integer
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("quelle")
Workbooks.Open FileName:="C:\test\mappe1.xls"
Set wksZiel = ActiveWorkbook.Sheets("ziel")
With wksZiel
If IsEmpty(.Cells(2, 1)) Then
iCol = 0
Else
iCol = .Cells(2, Columns.Count).End(xlToLeft).Column
End If
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
irow = .Cells(2, Row.Count).End(xlDown).Row + 1
'irow = .Cells(2, Row.Count).End(xlDown).Row '= rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub


vielen dank fuer Deine hilfe.

gruss thomas


Bild


Betrifft: AW: oeffnen-kopieren-schliessen
von: PeterW
Geschrieben am: 27.09.2003 17:54:55

Hallo Thomas,

aber jetzt:


Sub auslesen()
Dim rngAct As Range
Dim iCol As Integer
Dim lgrow As Long
Dim wksZiel As Worksheet
Dim wksQuell As Worksheet
Set wksQuell = ThisWorkbook.Sheets("Quelltabelle")
Workbooks.Open Filename:="C:\Lab_FE\VBA\Reisebericht\DB.xls"
Set wksZiel = ActiveWorkbook.Sheets("Zieltabelle")
With wksZiel
lgrow = .Range("A65536").End(xlUp).Row + 1
iCol = 0
For Each rngAct In wksQuell.Range("A1,C2,C6,E5,A6").Cells
iCol = iCol + 1
.Cells(lgrow, iCol) = rngAct
Next rngAct
End With
ActiveWorkbook.Close savechanges:=True
End Sub


Einge genaue Aufgabenbeschreibung ist die halbe Lösung. :-)

Gruß
Peter


Bild


Betrifft: Einge genaue Aufgabenbeschreibung ist die halbe Lö
von: th.heinrich
Geschrieben am: 27.09.2003 21:47:21

hi Peter,

danke scheint jetzt zu funzzen.

sorry fuer die unklare problemstellung.

muss mich dabei an der eigenen nase fassen, weil ich dies auch von den fragestellern fordere.

gruss thomas


Bild


Betrifft: nur Sonne, Mond und Sterne scheinen..
von: PeterW
Geschrieben am: 27.09.2003 21:57:25

Hallo Thomas,

was meinst du mit "scheint zu funzzen". Gehts oder gehts nicht - oder hast du vielleicht noch eine Rahmenbedingung nicht erwähnt?

Immer diese präzisen Aussagen. ;-)

Gruß
Peter
PS: die Zeile iCol = 0 kannste rauswerfen weil überflüssig


Bild


Betrifft: AW: nur Sonne, "Mond" ? und Sterne scheinen..;-)
von: th.heinrich
Geschrieben am: 28.09.2003 15:33:15

hallo Peter,

Dein CODE klappt bestens.

vielen dank thomas.

ps. war gestern beim testen OKTOBERFEST geschaedigt.


 Bild

Excel-Beispiele zum Thema " kopieren in geschlossene datei"

Blätter in andere Arbeitsmappen kopieren download Module von Mappe zu Mappe kopieren download
Arbeitsblatt 40 mal kopieren download Schriftgröße beim Kopieren verdoppeln download
Beim Kopieren auch die Zeilenhöhe und Spaltenbreite übernehmen download Tabellencode nach Kopieren des Blattes löschen download
Arbeitsmappe blitzschnell kopieren download VBE-Namen der Blattmodule beim Kopieren festlegen download
Blattinhalt von einer zur anderen Arbeitsmappe kopieren download Formel bis zur letzten Zeile der Nebenspalte kopieren download
Datei kopieren, wenn noch nicht vorhanden download Zeilenweise von Blatt zu Blatt kopieren download
Erste Druckseite in eine neue Arbeitsmappe kopieren download Durch DoppelKlick Spalte in zweites Arbeitsblatt kopieren download
Teilergebnisse einer Serie von Tabellen in anderes Blatt kopieren download Bei Eintrag in Spalte A aktuelle Zeile kopieren download
Filtern und Kopieren download Zeile mit aktiver Zelle in anderes Blatt kopieren download
Zeilen in Abhängigkeit des Wertes in Spalte A kopieren download Einen von einer Schlüsselziffer abhängigen Bereich kopieren download
Vorgegebene Anzahl von Einträgen in 2. Blatt kopieren download Über InputBox festzulegenden Bereich kopieren download
Passwortgeschützte Mappe öffnen, Daten kopieren, schliessen download Tabellenblatt kopieren und dreistellig fortlaufend numerieren download
Jede zweite Zelle kopieren download Werte aus UserForm-ComboBox suchen und Fundstelle kopieren download
Gruppe von Optionsfeldern kopieren und Makro zuweisen download Nicht zusammenhängenden Bereich in nächste Zeile kopieren download
Wert aus UserForm-TextBox suchen und Fundstelle kopieren download Nur sichtbare Zellen in anderes Arbeitsblatt kopieren download
Zeile in Abhängigkeit zur Eingabe in Blätter kopieren download Werte prüfen und kopieren download
Bei Eintrag von X Zeile in andere Tabelle kopieren download Daten kopieren wenn kein Datum oder Datum > Heute download
Blattinhalte dreier Blätter in neues Blatt kopieren download Kopieren und Umbenennen eines Blattes download
Nur Zeilen mit bestimmtem Inhalt kopieren download Artikelnummern nach Kriterien suchen und Datensätze kopieren download
Bild in zweites Blatt an gleiche Position kopieren download Alle Zeilen ohne Wert in vorgegebener Spalte kopieren download
Bei Eintrag Zeile in 2. Blatt kopieren und Tabellen sortieren download Bildergruppe in anderes Blatt kopieren download
Bei Eingabe Formel in der Nebenspalte nach unten kopieren download Auswahl in andere Arbeitsmappe kopieren, speichern, schließen download
Begriff suchen und Fundzeilen in anderes Blatt kopieren download Aktive Zeile kopieren und löschen download
Datensätze, die öfter als 3 mal vorkommen, kopieren download Den jeweils darüberliegenden Wert in Leerzellen kopieren download
Alle Zeilen mit einem Suchbegriff in nächstes Blatt kopieren download Dateien listen und Blätter in neue Arbeitsmappe kopieren download
SVERWEIS auf geschlossene Arbeitsmappe aus Makro aufrufen download VBA-Zugriff auf geschlossene Arbeitsmappe. download
Mit der Indirekt-Funktion auf geschlossene Arbeitsmappe zugreifen download Zugriff auf geschlossene Arbeitsmappen download
MsgBox mit Werten aus geschlossener Arbeitsmappe download Verweise auf Zellen in geschlossener Arbeitsmappe erstellen download
Einfacher Zellbezug greift auf geschlossene Arbeitsmappe zu download Letzte Zelle einer Spalte mit Inhalt aus geschlossener Arbeitsmappe download
Daten aus geschlossenen Arbeitsmappen listen download Wert aus geschlossener Arbeitsmappe in UserForm-TextBox download
Werte aus geschlossenen Arbeitsmappen einlesen download