Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Wie lokale Bild-Quelle in Zelle schreiben?
14.04.2016 12:43:35
Juergen
Hallo zusammen,
ich habe folgendes Erfassungsformular erstellt, was soweit auch funktioniert:
  • 
    Private Sub cmdAbbruch_Click()
    'schliesst die Erfassung der Bauteile
    Unload frmErfassung
    End Sub
    

    
    Private Sub cmdEingabe_Click()
    'fügt die Daten in das Tabellenblatt ein und schliesst die Erfassung der Bauteile
    Dim intErsteLeereZeile As Long
    intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtDatum.Value
    ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.txtObjektstrasse.Value
    ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.txtObjektstandort.Value
    ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.txtEinbaulage.Value
    ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.txtAnzahl.Value
    ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.txtBauteil.Value
    Unload frmErfassung
    End Sub
    

    
    Private Sub UserForm_Initialize()
    'Datumswert aktuell bei Formularaufruf eintragen
    With Me
    .txtDatum.Value = Date
    End With
    End Sub
    

  • Nun möchte ich auch noch einen Bild local von der Festplatte auswählen und dann als Link an dem Datensatz anfügen (z.B. in der Zeile an der 7. Stelle der Datenzeile)
    Kann mir jemand unter die Arme greifen und mir die Codezeile benennen? Ich steh nämlich auf dem Schlauch :/
    Danke!
    Gruss, Juergen

    6
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 13:03:07
    Rudi
    Hallo,
    prinzipiell so:
      With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .InitialFileName = "c:\test\"
    .Filters.Add "Bilder", "*.jpg"
    .FilterIndex = .Filters.Count
    If .Show = -1 Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(Rows.Count, 1).End(xlUp).Offset(, 6), _
    Address:=.SelectedItems(1)
    End If
    End With
    
    Gruß
    Rudi

    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 13:13:51
    Juergen
    Hallo Rudi,
    danke für deine schnelle Hilfe!
    Frage: ich hab den Code auf einen Button innerhalb meines Formulares gelegt. Der Code funktioniert einwandfrei (Danke!!) aber es ist leider so, dass sobald ich den Button drücke auch die Zelle oberhalb der beabsichtigten gefüllt wird. Erst nach Übernahme der restlichen Daten werden dann eine Zeile drunter geschrieben.
  • 
    Private Sub cmdAbbruch_Click()
    'schliesst die Erfassung der Bauteile
    Unload frmErfassung
    End Sub
    

    Private Sub cmdEingabe_Click()
    'fügt die Daten in das Tabellenblatt ein und schliesst die Erfassung der Bauteile
    Dim intErsteLeereZeile As Long
    intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtDatum.Value
    ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.txtObjektstrasse.Value
    ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.txtObjektstandort.Value
    ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.txtEinbaulage.Value
    ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.txtAnzahl.Value
    ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.txtBauteil.Value
    Unload frmErfassung
    End Sub
    

    Private Sub CommandButton1_Click()
    With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .InitialFileName = "c:\tmp\"
    .Filters.Add "Bilder", "*.jpg"
    .FilterIndex = .Filters.Count
    If .Show = -1 Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(Rows.Count, 1).End(xlUp).Offset(, 6), _
    Address:=.SelectedItems(1)
    End If
    End With
    End Sub
    

    Private Sub UserForm_Initialize()
    'Datumswert aktuell bei Formularaufruf eintragen
    With Me
    .txtDatum.Value = Date
    End With
    End Sub
    


  • Was meinst du, wo sollte deine Code Zeile integriert werden, dass alles in einem Rutsch dann in der Zeile geschrieben wird? Wäre das zwischen-auslesen des URL-Strings woanders hin und dann einlesen in ein neues Textfeld des Folrmular ein gängiger Weg?
    Gruss, Juergen

    Anzeige
    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 13:19:24
    Rudi
    Hallo,
    Option Explicit
    Dim strBild As String
    Private Sub cmdEingabe_Click()
    'fügt die Daten in das Tabellenblatt ein und schliesst die Erfassung der Bauteile
    Dim intErsteLeereZeile As Long
    intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtDatum.Value
    ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.txtObjektstrasse.Value
    ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.txtObjektstandort.Value
    ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.txtEinbaulage.Value
    ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.txtAnzahl.Value
    ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.txtBauteil.Value
    If strBild  "" Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(intErsteLeereZeile, 7), Address:=strBild
    End If
    Unload frmErfassung
    End Sub
    Private Sub CommandButton1_Click()
    With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .InitialFileName = "c:\tmp\"  'anpassen
    .Filters.Add "Bilder", "*.jpg"
    .FilterIndex = .Filters.Count
    If .Show = -1 Then
    strBild = .SelectedItems(1)
    End If
    End With
    End Sub
    

    Gruß
    Rudi

    Anzeige
    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 13:40:43
    Juergen
    Hallo Rudi,
    danke für deine Hilfe.
    leider wills nicht klappen. Jetzt bleibt die 7. Zelle leider ganz leer, obwohl zuvor ein Bild gewählt wurde.
    Mein Code sieht jetzt so aus:
    Habe ich was falsch gemacht?
  • 
    Private Sub cmdAbbruch_Click()
    'schliesst die Erfassung der Bauteile
    Unload frmErfassung
    End Sub
    
    Private Sub cmdBild_einfuegen_Click()
    'Bild suchen und einfügen
    With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .InitialFileName = "c:\tmp\"
    .Filters.Add "Bilder", "*.jpg"
    .FilterIndex = .Filters.Count
    If .Show = -1 Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(Rows.Count, 1).End(xlUp).Offset(, 6), _
    Address:=.SelectedItems(1)
    End If
    End With
    End Sub
    

    Option Explicit
    Dim strBild As String
    Private Sub cmdEingabe_Click()
    'fügt die Daten in das Tabellenblatt ein und schliesst die Erfassung der Bauteile
    Dim intErsteLeereZeile As Long
    intErsteLeereZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
    ActiveSheet.Cells(intErsteLeereZeile, 1).Value = Me.txtDatum.Value
    ActiveSheet.Cells(intErsteLeereZeile, 2).Value = Me.txtObjektstrasse.Value
    ActiveSheet.Cells(intErsteLeereZeile, 3).Value = Me.txtObjektstandort.Value
    ActiveSheet.Cells(intErsteLeereZeile, 4).Value = Me.txtEinbaulage.Value
    ActiveSheet.Cells(intErsteLeereZeile, 5).Value = Me.txtAnzahl.Value
    ActiveSheet.Cells(intErsteLeereZeile, 6).Value = Me.txtBauteil.Value
    If strBild  "" Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(intErsteLeereZeile, 7), Address:=strBild
    End If
    Unload frmErfassung
    End Sub
    
    Private Sub CommandButton1_Click()
    With Application.FileDialog(msoFileDialogFilePicker)
    .AllowMultiSelect = False
    .InitialFileName = "c:\tmp\"  'anpassen
    .Filters.Add "Bilder", "*.jpg"
    .FilterIndex = .Filters.Count
    If .Show = -1 Then
    strBild = .SelectedItems(1)
    End If
    End With
    End Sub
    
    Private Sub UserForm_Initialize()
    'Datumswert aktuell bei Formularaufruf eintragen
    With Me
    .txtDatum.Value = Date
    End With
    End Sub
    


  • Gruss, Juergen

    Anzeige
    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 14:23:21
    Rudi
    Hallo,
    Habe ich was falsch gemacht?
    Ja.
    nimm für deine
    cmdBild_einfuegen_Click
    den Code aus meiner
    CommandButton1_Click
    Da wird lediglich der Dateiname (strBild) abgefragt sonst nix. Wenn der leer ist, wird in
                  If strBild  "" Then
    ActiveSheet.Hyperlinks.Add _
    Anchor:=Cells(intErsteLeereZeile, 7), Address:=strBild
    End If
    

    nichts eingetragen.
    Gruß
    Rudi

    AW: Wie lokale Bild-Quelle in Zelle schreiben?
    14.04.2016 15:10:37
    Juergen
    Hallo Rudi!
    herzlichen Dank für deine Mühe, jetzt klappts astrein!!
    Gruss, Juergen

    361 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige