Clever-Excel-Forum

Normale Version: VBA: Daten von einer in andere Datei schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hey Doc,
der Befehl funktioniert wunderbar. will jetzt nur erreichen, dass das ganze Ergebnis in mehreren Dateien gespeichert wird.
Gruß
Hey,

habe es aktuell mal so gelöst.

Gruß

Code:
Sub Tabelle_kopieren()
' Tabelle_kopieren Makro
Const strZiel As String = "C:\Users\xxx\Desktop\Neuer Ordner (3)\Mappe3.xlsx"   'Pfad + Dateiname
Const strZiel2 As String = "C:\Users\xxx\Desktop\Neuer Ordner (3)\Mappe4.xlsx"   'Pfad + Dateiname
Dim WB_B As Workbook
Dim WsQuelle As Worksheet
Dim WsZiel As Worksheet

'Quellesheet definieren
  Set WsQuelle = ThisWorkbook.Sheets("Auswertung") ' <= eventuell falsch angepasst? Hier muss der Name des Ausgangsblattes hin, oder?

'Ziel öffnen
  Set WB_B = Workbooks.Open(strZiel)

'Zielsheet definieren:
  Set WsZiel = WB_B.Sheets(1)              ' <= wie "richtig" anpassen?

'kopieren:
  WsZiel.Range("A:J").Value = WsQuelle.Range("A:J").Value
   
'Zieldatei speichern und schließen
  WB_B.Close savechanges:=True
 
'Ziel öffnen
  Set WB_B = Workbooks.Open(strZiel2)

'Zielsheet definieren:
  Set WsZiel = WB_B.Sheets(1)              ' <= wie "richtig" anpassen?

'kopieren:
  WsZiel.Range("A:J").Value = WsQuelle.Range("A:J").Value
   
'Zieldatei speichern und schließen
  WB_B.Close savechanges:=True

End Sub
Hallo!

Ich habe folgendes Problem. Ich will ebenfalls einen Inhalt einer Zelle in eine andere Datei schreiben.
Nun besteht aber das Problem, dass sich der Pfad des Öfteren ändert. Wäre es auch möglich, dass beim Ziel mehrere eingegeben werden können und wenn er eine Datei nicht findet, dies ignoriert und einfach bei dem nächsten sucht und eintragt? Was auf jeden Fall immer gleich bleibt ist, dass sich die zwei Dateien immer im gleichen Ordner befinden.

Ich hätte es schon mit

Code:
Const strZiel As String = "..\Mappe2.xlsx"   'Pfad + Dateiname
probiert, funktioniert aber leider nicht.
Ich hoffe, dass mir jemand helfen kann.
LG
Hallöchen,

eine Konstante kannst Du nur einmal vergeben. Im Prinzip könntest Du so vorgehen:

Dim strZiel As String

If Dir("..\Mappe2.xlsx") <> "" then
strziel = "..\Mappe2.xlsx"   'Pfad + Dateiname
Elseif Dir("..\Mappe3.xlsx") <> "" then
strziel = "..\Mappe3.xlsx"   'Pfad + Dateiname
'... und noch mehr
End If

Wobei man das auch mit einer Schleife lösen kann.
Hallo.

Danke sehr, funktioniert super.

LG
Seiten: 1 2