Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Speicherpfad aus zelle zusammenfügen


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

Beiträge aus dem Excel-Forum zum Thema "Speicherpfad aus zelle zusammenfügen"