Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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

Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.

Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 08:58:37
Erik
Hallo Zusammen,
ich bin recht neu in Excel unterwegs und hätte da eine Frage zu einer Aufgabe die ich nicht gelöst bekomme.
Ich habe eine Datei A in der in Zeile G3 bis G17 Zahlenwerte stehen. Diese Werte sind aber händisch aus einer Datei B eingetragen worden. Sprich Datei B hat Werte die in Datei A in gewisse Zeilen gehören.
Mein Ziel ist es nun, den Werten in G3 bis G17 in Datei A, den Dateipfad zu Datei B woher die Werte kommen zu hinterlegen. Der Dateipfad soll aber nicht angezeigt werden, sondern in der Zelle hinterlegt sein, also durch Doppelklick soll man diesen sehen können, ansonsten ist der Wert nur zu sehen.
Das hinzufügen des Dateipfades soll per Button geschehen. Durch klicken des Buttons möchte ich einmal den Dateipfad eintragen und durch einen Button "Ok" soll dieser Dateipfad dann in allen Zellen von G3 bis G17 übernommen werden.
Hat da einer eine Idee, wie ich da fortfahren kann ?
Ich habe da mal einen Ansatz gebastelt, komme aber leider nicht weiter. Kann mir da jemand helfen ?

Private Sub CommandButton1_Click()
Dim letzte_zeile As Long, Zeile As Long, Spalte As Long
Spalte = 7 '1=Spalte A, 2=Spalte B etc.
letzte_zeile = Cells(Rows.Count, Spalte).End(xlUp).Row 'Letzte Zeile der Spalte ermitteln
For Zeile = 3 To letzte_zeile 'Beginnt ab Zeile 3
Cells(Zeile, Spalte).Value = TextBox1 & Cells(Zeile, _
Spalte).Text & ""       'Schreibt vor und nach den Zelleninhalt
Next
End Sub

23
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 09:30:54
Joachim
Hallo,
wenn ich's richtig verstanden habe was Du willst, geht es auch ohne VBA:
In B4 stehe der Bezug auf die andere Datei, dann liefert
=TEIL(FORMELTEXT(B4);3;SUCHEN("!";FORMELTEXT(B4))-3)
die Datei.
War's das?
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
11.02.2020 10:10:51
Erik
Ich danke euch beiden vielmals. :)
Ich habe nun die Lösung von Franz genommen, funktioniert einwandfrei, besten Dank für die Mühe. :)
Viele Grüße
Erik
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 09:34:32
Jürgen
Hallo Erik,
ich verstehe nicht ganz, wie du den Pfad in der Zelle anzeigen möchtest.
Mein Vorschlag ist den Pfad in die Kommentare aufzunehmen.
Mit der "Application. Filedialog" kannst Du diesen auch "normal" mit dem Explorer aussuchen.
Einfach mal folgenden Code testen und als Anregung verwenden.
Private Sub CommandButton1_Click()
Dim letzte_zeile As Long, Zeile As Long, Spalte As Long, strPfad As String
Spalte = 7 '1=Spalte A, 2=Spalte B etc.
letzte_zeile = Cells(Rows.Count, Spalte).End(xlUp).Row 'Letzte Zeile der Spalte ermitteln
Application.FileDialog(msoFileDialogFolderPicker).Show
strPfad = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
For Zeile = 3 To letzte_zeile 'Beginnt ab Zeile 3
With Cells(Zeile, Spalte).AddComment
.Text strPfad
End With
Next
End Sub
Der "msoFileDialogFolderPicker" kann auch auf Dateien "msoFileDialogFilePicker" ausgeweitet werden, falls du die Datei in die Formel aufnehmen willst.
Gruß
Jürgen
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 09:49:10
fcs
Hallo Erik,
es ist unklar wo die Information zum Pfad der Datei_B herkommt.
Ich würde die Information zum Pfad als Notiz/Kommentar zur Zelle hinterlegen.
LG
Franz
Private Sub CommandButton1_Click()
Dim letzte_zeile As Long, Zeile As Long, Spalte As Long
Dim strPfad As String, rngZelle As Range
Spalte = 7 '1=Spalte A, 2=Spalte B etc.
strPfad = "T:\Test\Datei_B.xlsx"
letzte_zeile = Cells(Rows.Count, Spalte).End(xlUp).Row 'Letzte Zeile der Spalte ermitteln
For Zeile = 3 To letzte_zeile 'Beginnt ab Zeile 3
With Cells(Zeile, Spalte)
.Value = TextBox1 & .Text & ""           'Schreibt vor und nach den Zelleninhalt
'Kommentar einfügen/Text ändern
If .Comment Is Nothing Then
.AddComment Text:=strPfad
Else
.Comment.Text Text:=strPfad
End If
With .Comment 'Kommentarfeld formatieren
With .Shape
.Height = 20
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
End With
Next
End Sub

Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 13:14:04
Erik
Hallo,
ich danke euch erst mal für die so schnellen Hilfestellungen.
Alle Ansätze sind schon ganz gut. Eventuell hab ich es nicht detaillierter erläutert, wie ich das vor habe.
Der Ansatz von @Jürgen ist ganz gut, dass ich per Windows Explorer zur Datei navigieren kann und dementsprechend den Pfad bekomme. Der Ansatz von @fcs ist ebenfalls gut, dass man dies als Kommentar darstellen kann.
Ist es nun möglich beides zu kombinieren. Das heißt, ich öffne meine Datei A in der mein Button ist, ich klicke drauf :
Es öffnet sich der Explorer,
Ich navigiere zu einer anderen Datei B,
Öffne diese und wähle einen Wert aus einer Zelle aus,
Datei A übernimmt den Inhalt der ausgewählten Zelle aus Datei B in die Zelle in Datei A und das von G3 bis G17. Das heißt ich will mit dem Button, G3 bis G17 manuell Werte zuweisen. Ebenso wird dann auch der Dateipfad hinterlegt woher der Wert kommt.
Genau so habe ich dann auch eine Spalte für H3 bis H17 usw. also für weitere Spalten dann diesen Button mehrfach in Verwendung der also die gleiche Funktion in der entsprechenden Spalte haben soll.
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 16:28:11
Jürgen
Hallo Erik,
Ich hatte in meiner Ausführung schon den Eintrag in den Kommentar enthalten.
FCS hat hier nur korrekter Weise noch die Abfrage eingefügt, ob schon ein Kommentar vorhanden ist.
Hier also die zusammengesetze Version:
Private Sub CommandButton1_Click()
Dim letzte_zeile As Long, Zeile As Long, Spalte As Long, strPfad As String
Spalte = 7 '1=Spalte A, 2=Spalte B etc.
letzte_zeile = Cells(Rows.Count, Spalte).End(xlUp).Row 'Letzte Zeile der Spalte ermitteln
Application.FileDialog(msoFileDialogFolderPicker).Show
strPfad = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
For Zeile = 3 To letzte_zeile 'Beginnt ab Zeile 3
If .Comment Is Nothing Then
.AddComment Text:=strPfad
Else
.Comment.Text Text:=strPfad
End If
With .Comment 'Kommentarfeld formatieren
With .Shape
.Height = 20
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
Next
End Sub
Wenn du dies für mehrere Spalten durchführen möchtest wäre eine Möglichkeit:
1. Die erste Eingabezellen markieren
2. Button Drücken
Code ist dann:
Private Sub CommandButton1_Click()
Dim letzte_zeile As Long, Zeile As Long, Spalte As Long, strPfad As String
Spalte = selection.cells(1).column  '1=Spalte A, 2=Spalte B etc.
letzte_zeile = Cells(Rows.Count, Spalte).End(xlUp).Row 'Letzte Zeile der Spalte ermitteln
Application.FileDialog(msoFileDialogFolderPicker).Show
strPfad = Application.FileDialog(msoFileDialogFolderPicker).SelectedItems(1)
For Zeile = 3 To letzte_zeile 'Beginnt ab Zeile 3
If .Comment Is Nothing Then
.AddComment Text:=strPfad
Else
.Comment.Text Text:=strPfad
End If
With .Comment 'Kommentarfeld formatieren
With .Shape
.Height = 20
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
Next
End Sub
Gruß
Jürgen
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
10.02.2020 18:50:40
fcs
Hallo Erik,
hab jetzt mal an deiner Wunschliste gearbeitet.
Ich hoffe ich habe dich richtig verstanden und die Umsetzung passt.
LG
Franz
Private Sub CommandButton1_Click()
Dim Zeile As Long, Spalte As Long
Dim strPfad As String, rngZelle As Range
Dim varDatei_B As Variant, wkb_B As Workbook, wks_B As Worksheet
Dim wkb_A As Workbook, wks_A As Worksheet, rngZiel As Range
On Error GoTo Fehler
'Spalte auswählen, in die Werte aus Datei B eingetragen werden sollen
Set rngZelle = Application.InputBox("Daten in dieser Spalte eintragen?" & vbLf _
& "(ggf. Zelle in anderer Spalte wählen)", _
Title:="Daten in Datei B holen und in dieser Spalte eintragen", _
Default:=ActiveCell.Address, Type:=8)
Spalte = rngZelle.Column
Zeile = 3 'Zeile ab der eingetragen werden soll
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Datei mit den zu übertagenden Daten auswählen"
.AllowMultiSelect = False
If .Show = -1 Then
varDatei_B = .SelectedItems(1)
Else
'Dateiauswahl wurde abgebrochen
GoTo Fehler
End If
End With
Set wkb_A = ActiveWorkbook
Set wks_A = ActiveSheet
'gewählte Datei schreibgeschützt öffnen
Set wkb_B = Application.Workbooks.Open(Filename:=varDatei_B, ReadOnly:=True)
Do
'Zielzelle in Datei A setzen
Set rngZiel = wks_A.Cells(Zeile, Spalte)
Set rngZelle = Application.InputBox( _
"Bitte Zelle auswählen mit zu übertragenden Daten", _
"Daten aus Datei B in Zelle " & rngZiel.Address(False, False, xlA1) _
& " eintragen", Type:=8)
On Error GoTo Fehler 'Auswahl wurde abgebrochen
Set wks_B = ActiveSheet
With rngZiel
'            .Value = wks_B.Range(rngZelle.Address).Value
.Value = rngZelle.Value
If .Comment Is Nothing Then
.AddComment Text:=varDatei_B
Else
.Comment.Text Text:=varDatei_B
End If
With .Comment
With .Shape
.Height = 30
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
End With
Zeile = Zeile + 1
If Zeile = 18 Then
MsgBox "Es wurden Zellen bis Zeile 17 schon ausgefüllt.", _
vbInformation + vbOKOnly, "Daten aus Datei B holen"
Exit Do
End If
Loop
wkb_B.Close savechanges:=False
Set wkb_B = Nothing
Fehler:
With Err
Select Case .Number
Case 0 'alles ist OK
Case 424 'Objekt erforderlich
'Die Auswahl von Zellen in Datei B wurde abgebrochen
If Not wkb_B Is Nothing Then wkb_B.Close savechanges:=False
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehler-Behandlung"
End Select
End With
End Sub

Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
11.02.2020 10:32:46
Erik
Hallo Franz,
die Lösung hat nun gut funktioniert und jetzt habe ich noch eine letzte Sache vor.
Und zwar habe ich einen Bereich von G3 bis G17 und G3 bis L3 also ein Fenster so gesehen an Zellen.
Dort sind in allen Zellen Werte hinterlegt die alle Ihren Ursprung aus einer anderen aber gleichen Datei haben. Ich möchte nun mit einem Klick auf einen Button allen Zellen in diesem zuvor genannten Bereich einen Dateipfad zuordnen.
Ebenso soll durch öffnen des Explorers und der Navigation dorthin, der Dateipfad in alle Zellen hinterlegt werden. Lediglich der Pfad soll hinterlegt werden diesmal ohne die Übertragung von Werten.
Kannst du mir dabei auch noch zur Seite stehen. :)
Viele Grüße
Erik
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
11.02.2020 10:12:24
Erik
Ich danke euch beiden vielmals. :)
Ich habe nun die Lösung von Franz genommen, funktioniert einwandfrei, besten Dank für die Mühe. :)
Viele Grüße
Erik
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
11.02.2020 11:14:46
Erik
Hallo Franz,
entschuldige bitte die zuvor erwähnten Kommentare von mir ignorieren.
Ich bin an einem Projekt dran daher ändert sich das Vorhaben immer wieder.
Also der erste Code erfüllt nun seine Funktion in seinem Anwendungsgebiet.
Jetzt bräuchte ich ein Lösung für folgendes Problem. Entschuldige schon mal für das Hin und Her.
Ich habe eine Datei A, in der von G3 bis G17 (Zeilen) und von G3 bis L3 (Spalten) Werte drine stehe.
Diese Werte sind verschiedenen Dateien zuzuordnen. Das heißt G3 bis G17 hat Werte aus einer Datei B. H3 bis H17 hat Werte aus einer Datei C usw.
Da die anderen Dateien aber alle gleich aufgebaut sind möchte ich nun bestimmte Werte aus Datei B in die Spalte G3 bis G17 in Datei A übertragen mit der Angabe des Dateipfades als Kommentar wie du es auch im ersten Code schon sehr schön gemacht hast.
Genau so dann auch Werte aus Datei C in die Spalte H3 bis H17 in Datei A übertragen. Das soll bis zur Spalte L3 bis L17 gehen.
Jetzt dazu woher die Daten kommen.
- Durch Klick auf den Button soll sich der Explorer öffnen
- Ich navigiere zur entsprechenden Datei (X) und wähle diese aus
- Ich klicke auf Okay im Explorer und Datei A soll alle Werte in G3 bis G17 eingefügt bekommen die in der andere Datei enthalten sind
Um zu wissen in welchen Zellen die Werte in den anderen Dateien enthalten sind, dazu folgende Info :
Alle Dateien die ich auswählen werde um die Werte in Datei A zu übertragen, haben feste Zellen in den anderen Dateien. Es geht um insgesamt 15 Parameter.
Übertragen werden sollen genau in der Reihenfolge :
D17 aus gewählter Datei nach G3 Datei A übernehmen und Dateipfad als Kommentar
D25 aus gewählter Datei nach G4 Datei A übernehmen und Dateipfad als Kommentar
D18 aus gewählter Datei nach G5 Datei A übernehmen und Dateipfad als Kommentar
D13 aus gewählter Datei nach G6 Datei A übernehmen und Dateipfad als Kommentar
D16 aus gewählter Datei nach G7 Datei A übernehmen und Dateipfad als Kommentar
D14 aus gewählter Datei nach G8 Datei A übernehmen und Dateipfad als Kommentar
D21 usw.
D22 usw.
D38 usw.
D20 usw.
D36 usw.
D34 usw.
D31 usw.
D32 usw.
D33 usw. G17
Diese Zellen sind in allen Dateien gleich daher kann man dies fest im Code so definieren.
Für jede Spalte soll es einen Button geben mit dem gleichen Code natürlich, um somit die Funktion für jede Spalte von G3 bis L3 zu erfüllen.
Ich danke dir schon mal im Voraus für die Mühe und die genommene Zeit.
Viele Grüße
Erik
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
11.02.2020 17:55:04
fcs
Hallo Erik,
hier die angepassten Makros um
A) Aus vorgegebenen Zellen in Datei B die Werte in die gewählte Spalte in Datei A zu übertragen
B) Den Dateinamen der gewählten Datei B als Kommentar bei bestimmten Zellen in Datei einzufügen.
LG
Franz
Private Sub CommandButton1_Click()
'Werte aus 15 vorgegebenen Zellen in Datei B ab Zeile 3 in die gewählte _
Spalte eintragen und Pfad als Kommentar.
Dim Zeile As Long, Spalte As Long
Dim strPfad As String, rngZelle As Range
Dim varDatei_B As Variant, wkb_B As Workbook, wks_B As Worksheet
Dim wkb_A As Workbook, wks_A As Worksheet, rngZiel As Range
Dim arrQuelle() As String, iItem As Integer
'Array für Zellen mit Quelldaten anlegen
ReDim arrQuelle(1 To 15)
'Adressen der Quellzellen in Array einlesen
iItem = 1: arrQuelle(iItem) = "D17"
iItem = iItem + 1: arrQuelle(iItem) = "D25"
iItem = iItem + 1: arrQuelle(iItem) = "D18"
iItem = iItem + 1: arrQuelle(iItem) = "D13"
iItem = iItem + 1: arrQuelle(iItem) = "D16"
iItem = iItem + 1: arrQuelle(iItem) = "D14"
iItem = iItem + 1: arrQuelle(iItem) = "D21"
iItem = iItem + 1: arrQuelle(iItem) = "D22"
iItem = iItem + 1: arrQuelle(iItem) = "D38"
iItem = iItem + 1: arrQuelle(iItem) = "D20"
iItem = iItem + 1: arrQuelle(iItem) = "D36"
iItem = iItem + 1: arrQuelle(iItem) = "D34"
iItem = iItem + 1: arrQuelle(iItem) = "D31"
iItem = iItem + 1: arrQuelle(iItem) = "D32"
iItem = iItem + 1: arrQuelle(iItem) = "D33"
On Error GoTo Fehler
'Spalte auswählen, in die Werte aus Datei B eingetragen werden sollen
Set rngZelle = Application.InputBox("Daten in dieser Spalte eintragen?" & vbLf _
& "(ggf. Zelle in anderer Spalte wählen)", _
Title:="Daten in Datei B holen und in dieser Spalte eintragen", _
Default:=ActiveCell.Address, Type:=8)
Spalte = rngZelle.Column
Zeile = 3 'Zeile ab der in A eingetragen werden soll
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Datei mit den zu übertagenden Daten auswählen"
.AllowMultiSelect = False
If .Show = -1 Then
varDatei_B = .SelectedItems(1)
Else
'Dateiauswahl wurde abgebrochen
GoTo Fehler
End If
End With
Set wkb_A = ActiveWorkbook
Set wks_A = ActiveSheet
'gewählte Datei schreibgeschützt öffnen
Set wkb_B = Application.Workbooks.Open(Filename:=varDatei_B, ReadOnly:=True)
Set wks_B = wkb_B.Sheets(1)
Application.ScreenUpdating = False
For iItem = 1 To UBound(arrQuelle)
'Zielzelle in Datei A setzen
Set rngZiel = wks_A.Cells(Zeile, Spalte)
With rngZiel
.Value = wks_B.Range(arrQuelle(iItem)).Value
If .Comment Is Nothing Then
.AddComment Text:=varDatei_B
Else
.Comment.Text Text:=varDatei_B
End If
With .Comment
With .Shape
.Height = 30
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
End With
Zeile = Zeile + 1
Next
Application.ScreenUpdating = False
wkb_B.Close savechanges:=False
Set wkb_B = Nothing
Application.ScreenUpdating = True
Fehler:
With Err
Select Case .Number
Case 0 'alles ist OK
Case 424 'Objekt erforderlich
'Die Auswahl von Zellen in Datei B wurde abgebrochen
If Not wkb_B Is Nothing Then wkb_B.Close savechanges:=False
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehler-Behandlung"
End Select
End With
End Sub
Private Sub CommandButton3_Click()
'Pfad der ausgewählten Datei B in Zellbereich G3:17 und H3:L3 des aktiven Blattes _
als Kommentar ergänzen - keine Werte Eintragen.
Dim strPfad As String
Dim varDatei_B As Variant, wkb_B As Workbook
Dim wks_A As Worksheet, rngZiel As Range
On Error GoTo Fehler
With Application.FileDialog(msoFileDialogOpen)
.Title = "Bitte Datei mit den zu übertagenden Daten auswählen"
.AllowMultiSelect = False
If .Show = -1 Then
varDatei_B = .SelectedItems(1)
Else
'Dateiauswahl wurde abgebrochen
GoTo Fehler
End If
End With
Set wks_A = ActiveSheet
Application.ScreenUpdating = False
With wks_A
For Each rngZiel In Application.Union(.Range("G3:G17"), .Range("H3:L3")).Cells
With rngZiel
If .Comment Is Nothing Then
.AddComment Text:=varDatei_B
Else
.Comment.Text Text:=varDatei_B
End If
With .Comment
With .Shape
.Height = 30
.Width = 150
.TextFrame.Characters.Font.Size = 10
End With
End With
End With
Next
End With
Application.ScreenUpdating = True
Fehler:
With Err
Select Case .Number
Case 0 'alles ist OK
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehler-Behandlung"
End Select
End With
End Sub

Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
12.02.2020 09:29:30
Erik
Hallo Franz,
vielen Dank. Der Prozess bis zur Auswahl der entsprechenden Datei über den Explorer funktioniert. Den Dateipfad übernimmt er auch als Kommentar.
Die Werte werden jedoch nicht übertragen. Weißt du woran das liegt.
VG
Erik
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
12.02.2020 12:10:16
fcs
Hallo Erik,
bei welchem Makro klemmts?
CommandButton1_Click
Übeträgt Werte aus vorgebenen Zellen aus Datei B nach A - hab ich getestet -funktioniert.
CommandButton3_Click
Dieses Makro überträgt nur die Kommentare in bestimmte Zellen.
Das ist meine Antwort zu hier: https://www.herber.de/forum/messages/1739625.html
LG
Franz
Anzeige
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
12.02.2020 13:08:08
Erik
Hallo Franz,
also ich benutze aktuell den CommandButton1_Click Button.
Eigentlich sollte der ja aus der gewählten Datei aus den zuvor genannten Zellen die Werte in Spalte G übertragen, jedoch wird bei mir nur der Kommentar erstellt mit der Angabe des Pfades.
Die Werte selber werden aber nicht übernommen. Hmmm...
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 07:48:26
fcs
Hallo Erik,
hier in einer ZIP-Datei die Datei mit den Makros und eine Datei mit Testdaten.
https://www.herber.de/bbs/user/135158.zip
Hab gesehen in der Datei ist auch noch ein Userform. Dieses kannst du ignorieren.
Hat bei dir die Datei B aus der Daten gehölt werden evtl mehrere Tabellenblätter?
Das Makro holt die Daten aus dem 1. Tabellenblatt. Evtl. muss hier die Indexnummer des Tabellenblatts im Makro angepasst werden oder wenn das Blatt in allen Dateien den gleichen Namen hat kann auch der Blattname vorgegeben werden.
In diesen Codezeilen:
    'gewählte Datei schreibgeschützt öffnen
Set wkb_B = Application.Workbooks.Open(Filename:=varDatei_B, ReadOnly:=True)
Set wks_B = wkb_B.Sheets(1)

Set wks_B = wkb_B.Sheets(1)
ändern z.B. in
Set wks_B = wkb_B.Sheets(2)
oder
Set wks_B = wkb_B.Sheets("Tabelle XYZ") 'Name anpassen
LG
Franz
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 09:18:08
Erik
Hallo Franz,
ja super danke dir es klappt.
Ich bin nun noch dran eine dritte Version aufzustellen.
Jetzt wo du Bescheid weiß woran ich dran bin wäre die Frage, ob du weißt wie man die letzte Variante noch umsetzen kann.
Geht wieder um das rüberholen der Werte aus einer ausgesuchten Datei in Datei A in die Spalte G3 bis G17, H3 bis H17, I3 bis I17 usw. bis L3 bis L17.
Jetzige Lösung soll sein :
- Ein Button mit dem sich ein Fenster öffnet mit 5 Eingabefeldern.
Der Reihenfolge nach will ich in das erste Fenster selber den Pfad einfügen also die Datei wo ich Werte holen möchte und anschließend soll aus dem eingefügten Pfad der Datei aus den folgenden Zellen
D17
D25
D18
D13
D16
D14
D21
D22
D3
D20
D36
D34
D31
D32
D33
der enthaltene Wert in meine Datei kopiert werden und zwar für die Angabe des ersten Eingabefeldes in Spalte G3 bis G17, dann für das zweite Eingabefenster dem angegebenen Pfad entlang und die Werte holen und in H3 bis H17 einfügen, drittes Eingabefenster Werte holen und in I3 bis I17 einfügen, viertes Eingabefenster Werte holen und in J3 bis J17, fünftes Eingabefelder Werte holen und in K3 bis K17 eintragen und sechstes Eingabefenster Werte holen und in L3 bis L17 eintragen.
Und entsprechend noch jeweils im Eingabefenster den eingegebenen Pfad als Kommentar wieder in den entsprechenden Zellen darstellen.
Ich danke dir vielmals für die Hilfestellungen Franz. Das hilft mir momentan sehr weiter.
VG
Erik
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 15:36:55
fcs
Hallo Erik,
hier dann die nächste Variante in meiner Testdatei, diesmal mit Userform zur Eingabe/Auswahl der bis zu 6 Dateinamen.
https://www.herber.de/bbs/user/135181.xlsm
LG
Franz
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 16:05:58
Erik
Hallo Franz,
das funktioniert alles super ich danke dir sehr. Ich wollte mir den Code in den Buttons noch raußkopieren und in meine "richtige" Datei einfügen, wo ich diese brauche da dort noch andere Ding enthalten sind.
Leider kann man den Code der Buttons nicht öffnen per Rechtsklick. Ist das eventuell geschützt oder ähnliches ?
VG
Eren
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 09:19:13
Erik
Korrektur :
Selbstverständlich meinte ich ein Fenster mit 6 Eingabefeldern.
VG
Erik
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 11:02:12
Erik
Also am Ende sollen in dem Fenster alle Felder ausgefüllt werden, und anschließend soll der Vorgang durch einen weiteren Button im Fenster ausgeführt werden können. Oder entsprechend Abbrechen durch "Unload Me".
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 17:01:18
Erik
Hallo Franz,
das mit dem Code kopieren hab ich jetzt geschafft.
Ich hätte noch eine kurze Frage zu einer kleinen Abänderung. Wenn ich den Button zum öffnen der GUI klicke, öffnet sich direkt schon der Explorer für das erste Eingabefeld. Ist es möglich, dass man erst die GUI öffnet und dann anschließend erst durch klicken in die Eingabefelder den Explorer zur Dateisuche nutzen kann.
Denn als Benutzer, sieht das komisch aus, wenn man nicht die GUI sieht worum es eigentlich geht und sich zuerst direkt ein Explorer öffnet. :) Wenn man das noch abändern kann dann wäre das perfekt.
Du hast mir sehr geholfen nochmals vielen Dank.
Gibst du eventuell auch VBA Kurse mich würde das interessieren, da ich das gerne besser lernen möchte. Hast du eine E-Mail sodass ich mit dir Kontakt aufnehmen kann ? Eventuell für weitere Fragen.
VG
Eren
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
13.02.2020 17:56:11
fcs
Hallo Erik,
es gibt die Eigenschaft "TabIndex" für die Steuerelemente des Userforms.
Setze den Tabindex für die Schaltfläche "Abbrechen" auf 0.
Dann wird dass Userform angezeigt ohne den Datei-Dialog sofort einzublenden.
Gibst du eventuell auch VBA Kurse mich würde das interessieren, da ich das gerne besser lernen möchte.
Bisher nicht - da ich ab 1.März in meinen "beschaulichen" Ruhestand gehe, könnte ich da evtl. was machen. Bin da bisher aber nicht wirklich drauf vorbereitet.
Hast du eine E-Mail sodass ich mit dir Kontakt aufnehmen kann ? Eventuell für weitere Fragen.
In meinem Profil findest du sie. Klicke auf das Symbol links neben meinen Anworten.
LG
Franz
AW: Dateipfad einer Datei in Zelle einer anderen Datei hinterlegen.
14.02.2020 10:37:24
Erik
Hallo Franz,
vielen Dank läuft nun alles. Danke sehr!
Und ich habe mir Ihre E-Mail notiert. :)
VG
Erik

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige