320 Aufrufe
Gefragt in Tabellenkalkulation von

Hallo Forumsmitglieder, -besucher, -betreiber

Habe Artikelnummern in einer Spalte (Spalte C) stehen und möchte mittels einem Makro den NAMEN des zugehörigenden Bildes in die Spalte J schreiben. Der Name des Bildes hat am Anfang die Artikelnummer stehen (ArtikelnummerZusatzbezeichnung.jpg) und befindet sich in einem Ordner auf dem NAS (kann für diesen Zweck auch lokal gespeichert werden..)

Folgendes Makro müsste geändert werden, dass nicht das eigentliche Bild, sondern nur der Name in die Zelle geschrieben wird...        (zwischendurch hat es vielleicht mal eine leere Zelle ohne Nummer...da soll das Makro bei der nächsten Zelle weitermachen)

Option Explicit

Sub Bildername_einfügen()
Dim Pfad As String, Wiederholungen As Long
On Error Resume Next
Pfad = "C:\Bilder"
For Wiederholungen = 2 To Range("H1000").End(xlUp).Row
Cells(Wiederholungen, 3).Activate
ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg").Select
Next
End Sub

Wie soll ich das anstellen bzw. was muss ich im Makro ändern? Herzlichen Dank

Gruss mona

12 Antworten

0 Punkte
Beantwortet von m_0_n_ Einsteiger_in (68 Punkte)

Hallo Karin - ich bins wieder...

Irgendwie gehts nimmer.  In Spalte 4 sind Nummern mit L  z.B. L464 und es soll den entsprechenden URL-Pfad-Namen suchen und finden, welcher mit "L 464" beginnt und in Spalte X eintragen. 

Debugging stoppt bei "If Not rngBild Is Nothing Then"

Code:

Sub DateinamenZuordnen()
    Dim strPfad As String
    Dim strDatei As String
    Dim rngBild As Range
    strPfad = "Z:\Pfad..." '<== Pfad anpassen!
    strDatei = Dir(strPfad & "\*.JPG")
    Do
        ' Finde den ersten Teil des Dateinamens bis zum Leerzeichen in Spalte D,
        ' dabei genaue Übereinstimmung erforderlich
        Set rngBild = Columns(4).Find(Split(strDatei, " ")(0), lookat:=xlWhole)
        ' wenn in Spalte D gefunden -> Dateiname 1 Spalte rechts eintragen
        If Not rngBild Is Nothing Then rngBild.Offset(0, 1) = strDatei
        strDatei = Dir
    Loop While strDatei <> ""
End Sub


Der Einfachheit halber könnte ich einen Abstand zwischen L und der Nummer in der Excelspalte machen, damit die ersten 4 Zeichen mit dem Bildnamen genau übereinstimmen würden. Habe aber das Makro nicht hingekriegt....  

Vielleicht kannst Du mir weiterhelfen? Vielen lieben Dank im voraus. 

Lieber Gruss

mona

0 Punkte
Beantwortet von m_0_n_ Einsteiger_in (68 Punkte)
Problem anderweitig gelöst   (Bilder Leerzeichen rausgenommen und Makro für identische Nummer genommen)

Schönen Tag, ... Woche, ...Jahr :-)

Gruss

mona
...