Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1728to1732
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
Inhaltsverzeichnis

Pfad

Pfad
10.12.2019 09:57:14
Antonio
Hallo Gemeinde,
mit diesem Code lese ich eine Tabelle und füge ich den Inhalt in die aktive Tabelle:

Public Sub Files_Read()
Dim wbZiel As Workbook
Dim wbQuelle As Workbook
Set wbZiel = ThisWorkbook
Set wbQuelle = Workbooks.Open("C:\Users\Test.xlsx")
wbQuelle.Sheets(1).UsedRange.Copy
wbZiel.Sheets(1).Cells(1, 26).PasteSpecial xlPasteValues
wbQuelle.Close
Set wbZiel = Nothing
Set wbQuelle = Nothing
End Sub
soweit funzt sehr gut, ich würde aber den Pfad ("C:\Users\Test.xlsx") aus der Aktive Tabelle ablesen, da der Pfad immer variabel ist.
Und hier brauche ein wenig Hilfe.
Vielen Dank im Voraus
Antonio

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad
10.12.2019 10:08:42
Pierre
Hallo Antonio,
meinst du, dass du den Pfad in einer Zelle stehen hast?
Gruß Pierre
AW: Pfad
10.12.2019 10:16:34
Antonio
Hi Pierre,
so ist es.
LG
Antonio
AW: Pfad
10.12.2019 10:19:14
Pierre
Okay, sorry das war für mich gerade nicht vollkommen klar.
Wäre dann beispielsweise so zu machen:
Dim wbQuelle As String '(statt As Workbook)
(Set) wbQuelle = ActiveWorkbook.Worksheets("Tabelle1").Range("A1").Value
Workbooks.Open Filename:=Pfad '(Statt deiner Zeile Set wbQuelle ...)
Die Zelle entsprechend anpassen, das Set kannst du eigentlich auch weg lassen.
Gruß Pierre
AW: Pfad
10.12.2019 10:34:54
Antonio
Hi Pierre,
mein Code sieht jetzt so aus:
Public Sub Files_Read()
Dim wbZiel As Workbook
Dim wbQuelle As String
Dim Pfad As String
wbZiel = ThisWorkbook
Pfad = ThisWorkbook.Worksheets("Tabelle1").Range("DB1").Value
wbQuelle.Open Filename:=Pfad '(Statt deiner Zeile Set wbQuelle ...)
wbQuelle.Worksheets("Tabelle1").UsedRange.Copy
wbZiel.Sheets(1).Cells(1, 26).PasteSpecial xlPasteValues
wbQuelle.Close
wbZiel = Nothing
wbQuelle = Nothing
End Sub

Beim wvQuelle nach Pfad angabe, fehler: ungültiger Bezeichner
Anzeige
AW: Chaos
10.12.2019 10:37:34
Antonio
Hi Pierre,
ich glaube ein wenig (oder sehr viel) Chaos gemacht zu haben.
AW: Chaos
10.12.2019 10:50:50
Pierre
Alles gut, ich dachte, es gut genug erklärt zu haben.
Außerdem habe ich selbst einen Fehler drin gehabt.
Dein kompletter Code sollte so aussehen:
   Public Sub Files_Read()
Dim wbZiel As Workbook
Dim wbQuelle As String
Set wbZiel = ThisWorkbook
Set wbQuelle = ActiveWorkbook.Worksheets("Tabelle1").Range("A1").Value
Workbooks.Open Filename:=wbQuelle
wbQuelle.Sheets(1).UsedRange.Copy
wbZiel.Sheets(1).Cells(1, 26).PasteSpecial xlPasteValues
wbQuelle.Close
Set wbZiel = Nothing
Set wbQuelle = Nothing
End Sub
Schau mal, ob das so klappt.
Gruß Pierre
Anzeige
AW: Chaos
10.12.2019 11:03:47
Antonio
Hallo Pierre,
wbQuelle ist ein String ( spricht Pfad) und ich glaube kann nicht geöffnet werden
ich bekomme den gleichen Fehler hier:
wbQuelle.Sheets(1).UsedRange.Copy
wbQuelle Ungültiger Bezeichner
Sorry, ich versuche dich zu verstehen, aber ich glaube, ich habe den Faden verlohren
LG
Antonio
AW: Hallo Pierre, noch da?
10.12.2019 11:47:44
Antonio
Kannst du mir bitte sagen ob du noch im Spiel bist?
LG
Antonio
AW: Neues Glück
10.12.2019 12:14:54
Antonio
Habe jetzt diesen Code hier im Forum gefunden:
'Konstanten für Dateipfad, Dateiname und Blattname der
'Quell-Datei (aus der Daten gelesen werden)
Const PFAD As String = "C:\Users\test\"
Const DNAME As String = "test.xlsx"
Const BLATT As String = "Tabelle1"
'Bildschirm-Aktualisierung ausschalten
Application.ScreenUpdating = False
'Die Ziel-Datei bestimmen als DIESE Datei, d.h. die Datei
'die dieses Makro enthält
Dim WbZiel As Workbook: Set WbZiel = ThisWorkbook
'Das Ziel-Blatt bestimmen
Dim WsZiel As Worksheet: Set WsZiel = WbZiel.Worksheets("Chord - Arpeggio")
Dim WbQuell As Workbook
Dim WsQuell As Worksheet
'Die Quell-Mappe aufrufen/öffnen
Set WbQuell = Workbooks.Open(PFAD & DNAME)
With WbQuell
'In der Quell-Mappe das Quell-Blatt bestimmen
Set WsQuell = .Worksheets(BLATT)
'Den verwendeten Bereich des Quell-Blattes kopieren...
With WsQuell
'...und im Ziel-Blatt einfügen
.UsedRange.Copy WsZiel.Range("Z1")
End With
'Quell-Mappe wieder schließen, Änderungen nicht speichern
.Close False 'Alternativ: True, Änderungen speichern
End With
End Sub
Funzt sehr gut aber nur mit einen fix Dateiname:
Const DNAME As String = "test.xlsx"
Ich würde gerne an dieser Stelle den Dateiname aus der Zieldatei auslesen:
Const DNAME As String = Worksheets("Tabelle1").Range("DB5").Value

oder so ähnlich da meine xlsx Datei variable ist.
Ich bitte hier um ein wenig Hilfe.
Vielen Dank im Voraus
Antonio
Anzeige
AW: Neues Glück
10.12.2019 12:19:05
Torsten
Hallo Antonio,
ist der Pfad auch variabel? Oder steht hier der Pfad und die Datei?
Worksheets("Tabelle1").Range("DB5").Value

AW: Neues Glück
10.12.2019 12:37:36
Antonio
Hallo Thorsten,
danke für die Rückmeldung.
Pfad = konstant
DName = Variable
BLATT = konstant
LG
Antonio
AW: Neues Glück
10.12.2019 13:21:12
Torsten
Dann so:

'Konstanten für Dateipfad, Dateiname und Blattname der
'Quell-Datei (aus der Daten gelesen werden)
Const PFAD As String = "C:\Users\test\"
Const BLATT As String = "Tabelle1"
'Bildschirm-Aktualisierung ausschalten
Application.ScreenUpdating = False
'Die Ziel-Datei bestimmen als DIESE Datei, d.h. die Datei
'die dieses Makro enthält
Dim WbZiel As Workbook: Set WbZiel = ThisWorkbook
'Das Ziel-Blatt bestimmen
Dim WsZiel As Worksheet: Set WsZiel = WbZiel.Worksheets("Chord - Arpeggio")
Dim WbQuell As Workbook
Dim WsQuell As Worksheet
Dim DNAME As String
DNAME = Worksheets("Tabelle1").Range("DB5").Value
'Die Quell-Mappe aufrufen/öffnen
Set WbQuell = Workbooks.Open(PFAD & DNAME)
With WbQuell
'In der Quell-Mappe das Quell-Blatt bestimmen
Set WsQuell = .Worksheets(BLATT)
'Den verwendeten Bereich des Quell-Blattes kopieren...
With WsQuell
'...und im Ziel-Blatt einfügen
.UsedRange.Copy WsZiel.Range("Z1")
End With
'Quell-Mappe wieder schließen, Änderungen nicht speichern
.Close False 'Alternativ: True, Änderungen speichern
End With
End Sub

Gruss Torsten
Anzeige
AW: Danke
10.12.2019 13:45:44
Antonio
YES!!!
Das war's.
DANKE Torsten.
LG
ANtonio
gerne...
10.12.2019 14:42:20
Torsten
.
Sorry, Zeit war Mangelware gestern ...
11.12.2019 08:43:23
Pierre
Hallo Antonio,
sorry, ich war ab gestern mittag aus Zeitmangel nicht mehr hier.
Aber dir konnte geholfen werden, das ist super.
Habe zum Schluss nur auch festgestellt, dass da etwas mehr unstimmig war im Code.
Ich bin leider noch nicht so weit wie z. B. Torsten, dir komplett frei einen laufenden Code zu schreiben.
Teilweise ja, aber auch aus Zeitmangel gestern, ging das in dem Fall echt nicht.
Deswegen habe ich versucht, dass dein vorhandener Code irgendwie laufen würde.
Wollte mich nur kurz noch gemeldet haben ;-)
Gruß Pierre
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige