Supportnet / Forum / Tabellenkalkulation
Import von Bildern
Frage
Hallo,
ich habe ein kleines Problem. Ich habe einen Odner mit Fotos. Dann habe ich eine Exceltabelle in der ich Fotos ein einmaligen Zahlencode gegeben habe. Nun möchte ich mit Hilfe eines Makros (VBA) folgendes tun:
Ich gebe eine Zahlcode in eine Ecxelzelle ein
Dann soll dieser Zahlencode in der großen Tabelle gesucht werden und der ensprechende Name des Fotos als Variable gespeichert werden. Diese Variable ist dann auch gleichzeitig der Dateiname des Fotos.
Dann soll das Makro in den Ordner gehen und das Foto in die Ecxeltabelle importieren.
Leider weiß ich mir nicht mehr zu helfen und im Internet habe ich solch einen VBA-Code nicht gefunden. Ich bräuchte solch einen Code.
Danke für eure Hilfe.
Gruß R.
Antwort 1 von Beverly
Hi,
hast du das schon ausprobiert:
http://www.excel-center.de/foren/read.php?2,56240,56249#msg-56249
hast du das schon ausprobiert:
http://www.excel-center.de/foren/read.php?2,56240,56249#msg-56249
Antwort 2 von audifan
Hallo Beverly,
danke für deine schnelle Antwort. Ich hatte noch keine richtige Gelegenheit mir den Link anzuschauen. Werde ich aber noch tun.
Danke.
danke für deine schnelle Antwort. Ich hatte noch keine richtige Gelegenheit mir den Link anzuschauen. Werde ich aber noch tun.
Danke.
Antwort 3 von nighty
hi all :)
ein beispiel :)
gruss nighty
Rem einzufuegen unter alt f11/allgemeinesmodul
Option Explicit
Public Nummer() As String
Public BildName() As String
Public index As Long
Rem einzufuegen unter alt f11/projektexplorer/DeineTabelle
Rem zur zeit eingabe der zahlen DeineTabelle spalte A
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim merker As Long
merker = Val(Sheets(1).Cells(Target.Row, Target.Column))
If Target.Column = 1 And ActiveSheet.Cells(Target.Row, Target.Column).Value < ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 Then
ActiveSheet.Pictures.Insert(BildName(1)).Select
End If
Application.EnableEvents = True
End Sub
Option Explicit
Rem einzufuegen unter alt f11/projektexplorer/DeinWorkbook
Rem Tabelle2/spalteA Deine Zahlen
Rem Tabelle2/spalteB DeinPfad
Private Sub Workbook_Open()
Dim index As Long
Dim zaehler As Long
For zaehler = 2 To Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
index = index + 1
ReDim Preserve Nummer(0 To index)
ReDim Preserve BildName(0 To index)
Nummer(index) = Sheets(2).Cells(zaehler, 1)
BildName(index) = Sheets(2).Cells(zaehler, 2)
Next zaehler
End Sub
ein beispiel :)
gruss nighty
Rem einzufuegen unter alt f11/allgemeinesmodul
Option Explicit
Public Nummer() As String
Public BildName() As String
Public index As Long
Rem einzufuegen unter alt f11/projektexplorer/DeineTabelle
Rem zur zeit eingabe der zahlen DeineTabelle spalte A
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Dim merker As Long
merker = Val(Sheets(1).Cells(Target.Row, Target.Column))
If Target.Column = 1 And ActiveSheet.Cells(Target.Row, Target.Column).Value < ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1 Then
ActiveSheet.Pictures.Insert(BildName(1)).Select
End If
Application.EnableEvents = True
End Sub
Option Explicit
Rem einzufuegen unter alt f11/projektexplorer/DeinWorkbook
Rem Tabelle2/spalteA Deine Zahlen
Rem Tabelle2/spalteB DeinPfad
Private Sub Workbook_Open()
Dim index As Long
Dim zaehler As Long
For zaehler = 2 To Sheets(2).UsedRange.SpecialCells(xlCellTypeLastCell).Row
index = index + 1
ReDim Preserve Nummer(0 To index)
ReDim Preserve BildName(0 To index)
Nummer(index) = Sheets(2).Cells(zaehler, 1)
BildName(index) = Sheets(2).Cells(zaehler, 2)
Next zaehler
End Sub

