Herbers Excel-Forum - das Archiv

Speicherpfad aus zelle zusammenfügen

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Label


Betrifft: Speicherpfad aus zelle zusammenfügen
von: Dominik

Geschrieben am: 15.09.2019 11:51:26
Hallo,
ich habe folgenden code der mir alle pdf dateien aus einem ordner in excel einbettet. das funktioniert auch super. der pfad ist bis zu dem ordner mitarbeiter gleich und dann muss der pfad variabel sein. er soll sich aus der zelle den entsprechenden mitarbeiter suchen, und unter dem mitarbeiter dann den kundenordner den der mitarbeiter bearbeitet und aus diesem dann das pdf einbetten.
ich habe es so versucht: const strpfad = "c:\users\hallo\desktop\mitarbeiter\" & cells(i, 2) & "\" & cells(i, 3) & "\". das funktioniert aber leider nicht.
Sub aaa()
Dim i As Integer
i = 6
Const strPfad = "C:\users\marcel brandner\desktop\mitarbeiter\" 'anpassen
Do While Cells(i, 1).Value <> ""
If Dir(strPfad & Cells(i, 4).Value & ".pdf", vbNormal) = "" Then
MsgBox "Die Datei gibt es nicht!", vbInformation, "Gebe bekannt..."
Else
Cells(i, 5).Select
ActiveSheet.OLEObjects.Add(Filename:=strPfad & Cells(i, 4).Value & ".pdf", Link:=False, _
DisplayAsIcon:=True, IconFileName:="T:\PFT\pft.ico", _
IconIndex:=0, IconLabel:="").Select
End If
i = i + 1
Loop
Dim Picture As Shape
For Each Picture In ActiveSheet.Shapes
With Picture
.LockAspectRatio = msoFalse
.Width = [e5].Width
.Height = [e5].Height
End With
Next
End Sub
gruß
dominik

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713173.html
Geschrieben am: 15.09.2019 12:17:41
Hi,
lade mal eine Beispieldatei hoch, damit man sieht, was in den einzelnen Zellen steht. So ist das schwer zu beurteilen.
Was heißt "funktioniert nicht"? Gibt es eine Fehlermeldung?
Gruß
Regina

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713176.html
Geschrieben am: 15.09.2019 12:39:25
hallo regina,
anbei die excel-datei.
https://www.herber.de/bbs/user/132044.xlsm
als fehlermeldung erhalte ich "konstanter ausdruck erforderlich
gruß
dominik

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713180.html

Geschrieben am: 15.09.2019 12:56:38
Hi Dominik,
der "Fehler" kommt daher, weil du versuchst, einer KONSTANTEN (keine Variable!) einen variablen Wert zuzuweisen.
Lösung:
Schreib nicht
Const strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" 'anpassen

sondern

Dim strPfad As String
strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" 'anpassen

in der unteren Zeile definierst du mit Dim eine Variable.
Einer Konstanten (die 1. Zeile) darf nur einen festen Wert erhalten.
Hilfts?
Wenn nicht, zeig uns per Upload bitte eine Datei UND Bsp-Daten, mit denen wir auch testen können.
Ciao
Thorsten

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713195.html

Geschrieben am: 15.09.2019 14:26:12
Hallo Thorsten,
danke für die rückmeldung. So habe ich es auch schon probiert, aber da macht er es nur für die zeile 6 aber nicht für alle zeilen die wo die spalte a und d ungleich "" sind. eine Beispieldatei habe ich schon hochgeladen.
https://www.herber.de/bbs/user/132044.xlsm
gruß
dominik

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713196.html
Geschrieben am: 15.09.2019 14:34:25
Hi Dominik,
ok, recht haste, ne Bsp-Datei zeigtest du schon.
Leider kann ich dir trotzdem nicht helfen.
Zum Testen benötige ich ja "deine" PDF-Dateien in genau den angegebenen Verzeichnissen.
All das müsste ich per Hand erstellen.
Ich wünsch dir weiter viel Erfolg!
Ciao
Thorsten

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713197.html

Geschrieben am: 15.09.2019 14:35:28
Hi
wenn du einer Variablen einen Wert zugewiesen hast, dann behält diese Variable ihren Wert solange, bis du ihr einen anderen Wert zuweist.
Auch wenn du i änderst, behält strPfad den ursprünglichen Wert.
dh wenn sich strPfad über die Do-Schleife ändern soll muss auch die Zuweisung der Variablen innerhalb der DO-Schleife erfolgen:
Falsch:
strPfad = strPfad = "C:\...\" & Cells(i, 2) & "\" & Cells(i, 3) & "\"
Do While Cells(i, 1).Value <> ""
Loop
Richtig:

Do While Cells(i, 1).Value <> ""
strPfad = strPfad = "C:\...\" & Cells(i, 2) & "\" & Cells(i, 3) & "\"
Loop
Gruß Daniel

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713199.html

Geschrieben am: 15.09.2019 14:39:15
Hi, also mit diesem Code (Ausschnitt) läuft er bei mri durch alle Zeilen durch:
  Dim i As Integer
i = 6
Dim strPfad As String
strPfad = "C:\users\hallo\desktop\mitarbeiter\" & Cells(i, 2) & "\" & Cells(i, 3) & "\" ' _
anpassen
Do While Cells(i, 1).Value <> ""
If Dir(strPfad & Cells(i, 4).Value & ".pdf", vbNormal) = "" Then

Zweimal die Meldung, dass Datei (logischer Weise)nicht gefunden.

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713200.html
Geschrieben am: 15.09.2019 14:42:18
... vergiss es, Daniel hat natürlich recht...
Gruß
Regina

Betrifft: AW: Speicherpfad aus zelle zusammenfügen
von: 1713214.html
Geschrieben am: 15.09.2019 16:38:04
Hallo Daniel,
oh man, vielen dank es funktioniert.
gruß
dominik

Excel-Beispiele zum Thema "Speicherpfad aus zelle zusammenfügen"
Textinhalte zusammenfügen
Bewerten Sie hier bitte das Excel-Portal