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

Daten auf andere Datei übertragen

Daten auf andere Datei übertragen
08.01.2006 21:06:42
Nadja
Hallo Spezialisten!
Hab mein Glück gestern schon probiert aber ich konnte keine passende Lösung finden.
Habe folgende Code programmiert.
Sub Daten_übertragen()
Dim wksSource As Worksheet, wksTarget As Worksheet
Dim iRow As Integer
Set wksSource = Workbooks(Thisworkbook.Name).Worksheets(1)
Set wksTarget = Workbooks("Mappe2.xls").Worksheets(2)
iRow = wksTarget.Cells(Rows.Count, 1).End(xlUp).Row + 1
wksTarget.Cells(iRow, 1).Value = wksSource.Range("B5").Value
wksTarget.Cells(iRow, 2).Value = wksSource.Range("B8").Value
wksTarget.Cells(iRow, 3).Value = wksSource.Range("B9").Value
wksTarget.Cells(iRow, 4).Value = wksSource.Range("B7").Value
So weit so gut -funktioniert ja auch ohne probleme.
Jetzt habe ich aber folgendes Problem:
wksSource ist dank Rainer nun gelöst worden.
Kann mir jemand einen Tip geben wie ich das mit wksTarget hinbekomme?
Diese Datei ist immer wieder eine andere und daher nicht mehr Mappe2.xls.
D.h. diese Datei muß variabel sein. Kann ich das über Application.Dialog machen?
Hab schon herumprobiert- finde aber keine Lösung.
Kann mir jemand helfen?
Bin dankbar für jeden Tip
Grüße
Najda

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

Betreff
Datum
Anwender
Anzeige
AW: Daten auf andere Datei übertragen
08.01.2006 21:18:48
Ramses
Hallo
probiers mal so
Set wksTarget = Workbooks(ActiveWorkbook.Name).Worksheets(2)
Das setzt aber voraus, dass zum Zeitpunkt der Makroausführung die Zielmappe aktiv ist, d.h. im Vordergrund ist, bzw. den Focus besitzt.
Gruss Rainer
AW: Daten auf andere Datei übertragen
08.01.2006 21:29:24
Nadja
Hallo Rainer!
Vielen Dank, dass Du mir wieder antwortest.
Der Tip ist zwar ok, löst aber nicht mein Problem.
Diese Zieldatei ist im vorhinein nicht geöffnet, dh ich müßte sie zuerst mit dem "Datei öffen" Dialog öffnen und dann sollen die Daten von der Quelldatei auf diese neue Zieldatei übertragen werden. Die Frage ist nur ob das auch so gehen kann.
Vielleicht hast Du noch einen anderen Lösungsvorschlag.
Vielen Dank für Deine Mühe!
LG Nadja
Anzeige
AW: Daten auf andere Datei übertragen
08.01.2006 21:47:16
Ramses
Hallo
Kommst du damit klar ?
Option Explicit

Sub Demo()
    Dim toOpenFile As String
    Dim targetWks As Worksheet
    toOpenFile = Application.GetOpenFilename("Excel Mappen (*.xls), *.xls", , "Wählen Sie die Zieldatei")
    If toOpenFile = "" Then
        MsgBox "Keine Datei gewählt"
        Exit Sub
    End If
    Application.Workbooks.Open toOpenFile
    'Hier kann targetWks korrekt zugewiesen werden
    Set targetWks = Workbooks(ActiveWorkbook.Name).Worksheets("Tabelle1")
End Sub

Gruss Rainer
Anzeige
Super es hat funktioniert
08.01.2006 22:20:38
Nadja
Hallo Rainer!
Vielen, vielen Dank - es funktioniert super.
Hab nun nach Deinen Angaben den Code umgebaut und es funktioniert hervorragend.
LG Nadja
Hier ist nun der Code für alle, die später mal das Archiv durchforsten und einen fertigen, funktionierenden Code brauchen

Sub Demo()
Dim wksSource As Worksheet
Dim toOpenFile As String
Dim targetWks As Worksheet
Dim iRow As Integer
Set wksSource = Workbooks(ThisWorkbook.Name).Worksheets(1)
ChDir ("C:\ABC")
toOpenFile = Application.GetOpenFilename("Excel Mappen (*.xls), *.xls", , "Wählen Sie die Zieldatei")
If toOpenFile = "" Then
MsgBox "Keine Datei gewählt"
Exit Sub
End If
Application.Workbooks.Open toOpenFile
'Hier kann targetWks korrekt zugewiesen werden
Set targetWks = Workbooks(ActiveWorkbook.Name).Worksheets("Tabelle1")
iRow = targetWks.Cells(Rows.Count, 1).End(xlUp).Row + 1
targetWks.Cells(iRow, 1).Value = wksSource.Range("B5").Value
targetWks.Cells(iRow, 2).Value = wksSource.Range("B8").Value
targetWks.Cells(iRow, 3).Value = wksSource.Range("B9").Value
targetWks.Cells(iRow, 4).Value = wksSource.Range("B7").Value
End Sub

Anzeige
Danke für die Rückmeldung...
08.01.2006 22:50:12
Ramses
Hallo
... hast du gut eingebaut ;-)
Gruss Rainer

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige