Projektanfrage

Projektanfrage über Web Formular   per Online-Formular 
Projektanfrage über E-Mail  Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Projektanfrage per Telefon  +49 (0)151 / 164 55 914
Projektanfrage weitere Informationen  weitere Informationen 

Sie benötigen Hilfe oder Unter-stützung? Nutzen Sie für Ihre Anfrage unser Online-Formular, senden Sie uns eine Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! oder rufen Sie uns einfach an.

   
      Referenzen 

 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   
     Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
   

Projektanfrage

 Sie benötigen eine Auftragsprogrammierung?
 Oder suchen Unterstützung bei der Lösungs-
 findung?

  Nutzen Sie unser Anfrageformular

  Jetzt anrufen unter 0151 / 164 55 914

 Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! Projektanfrage per Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein! senden

  Weitere Informationen

sitepanel question2

P
r
o
j
e
k
t
a
n
f
r
a
g
e
   

Bilder in Zellen importieren

Per VBA lassen sich Bilder aus einem angegebenen Verzeichnis auslesen und importieren. Die vorgestellte Prozedur liest die Bilder aus dem eingestellten Verzeichnis "F:\Pic" aus. Die im Verzeichnis vorhandenen Bilder werden entsprechend der Spaltenbreite der Spalte A skaliert. Die Bilder werden vergrößert oder verkleinert, wobei die Seitenverhältnise unverändert bleiben. Damit befindet sich das Bild genau innerhalb einer Zelle.

Im vorstellten Beispiel beginnt der Import in Zeile 5 der Spalte A.

Erfassen Sie den VBA-Code in einem Code-Modulblatt.



 Sub BilderImport()
 '*********************************************************************************
 '** Bilder werden in die Spalte A eingefügt. Die Bilder werden auf die  
 '** eingestellte Spaltebreite skaliert. Die Zeilenhöhe wird an die         
 '** skalierte Bildhöhe angepasst                                                     
 '*********************************************************************************
 
 '* * Dimensionierung der Variablen
 Dim strVerzeichnis$, strDatei$
 Dim pct As Picture
 Dim lngZeile As Long 'Zeile zum Eintragen der Bilder
 Dim lngSpalte As Long 'Spalte zum Eintragen der Bilder
 Dim varBreite As Variant 'Spaltenbreite
 Dim varHoehe As Variant
 
 
 '** Verzeichnis und Dateinamen definieren und auslesen
 strVerzeichnis = "F:\Pic"
 strDatei = Dir(strVerzeichnis & "\*.jpg")
 
 '** Startzeile + Spalte festelegen
 lngZeile = 5
 lngSpalte = 1
 
 '** Ermittlung der Spaltenbreite
 varBreite = Columns("A:A").Width
 
 Cells(lngZeile, lngSpalte).Select
 Cells(lngZeile, lngSpalte + 1) = strDatei  ' schreiben Dateinamen
 Set pct = ActiveSheet.Pictures.Insert(strVerzeichnis & "\" & strDatei)
 
 With ActiveSheet.Shapes("Picture 1")
   '** Auslesen der Breite
   ActiveSheet.Shapes("Picture 1").Select
   Selection.ShapeRange.LockAspectRatio = msoTrue
   
   '** Bild auf aktuelle Spaltenbreite skalieren
   Selection.ShapeRange.Width = varBreite
   
   '** Zeilenhöhe festlegen
   varHoehe = ActiveSheet.Shapes("Picture 1").Height
   Rows(lngZeile).RowHeight = varHoehe
 End With
 
 '** Zähler für Shape definieren
 shp = 2
 
 '** Zeilenzähler erhöhen
 lngZeile = lngZeile + 1
 
 
 '** Bild 2 bis n durchlaufen
 Do While strDatei <> ""
   strDatei = Dir()
   If strDatei = "" Then Exit Do
   Cells(lngZeile, lngSpalte).Select
   Set pct = ActiveSheet.Pictures.Insert(strVerzeichnis & "\" & strDatei)
   ActiveSheet.Shapes("Picture " & shp).Select
   Cells(lngZeile, lngSpalte + 1) = strDatei  ' schreiben Dateinamen
   Selection.ShapeRange.LockAspectRatio = msoTrue
   
   Selection.ShapeRange.Width = varBreite '* 5.355 'Bild auf Spaltenbreite skallieren
   
   '** Zeilenhöhe festlegen
   varHoehe = ActiveSheet.Shapes("Picture " & shp).Height
   Rows(lngZeile).RowHeight = varHoehe
   
   '** Zeilenzähler erhöhen
   lngZeile = lngZeile + 1
   
   '** Shape-Zahler erhöhen
   shp = shp + 1
   
 Loop
 End Sub 

   

Relevante Artikel

  • Zufallszahlen ermitteln

    109017 Das folgende Makro ermittelt Zufallszahlen. Jede Zahl kommt dabei jedoch nur ein einziges Mal vor.Sie geben beim Programmstart einfach die gewünschte Menge an Zufallszahlen an. Möchten Sie z....

  • Autofilter mit mehreren Kriterien

    Ab Excel 2007 können in einem Filter beliebige Filterkriterien manuell vorgegeben werden, indem die gewünschten Werte im Filterdialog an- oder abgehakt werden. Als Ausgangsbasis dient eine kleine...

  • ActiveCell: Fragen und Antworten

    101001   Frage im Spotlight-Forum zum Befehl ActiveCell: Hallo, warum funktioniert denn folgender VBA-Code nicht?     If ActiveCell = "exportiert" Then Sheets("Leistungsabruf").ActiveCell.Value = ""...

  • Eingaben in Tabellenblatt protokollieren

    Die folgende Lösung zeigt, wie Sie Eingaben in ein Tabellenblatt protokollieren können. Zum Protokollieren, müssen Sie die Werte nur auf ein eigenes Tabellenblattschreiben, was im vorgestellten...

  • Zellen mit Formeln, Zahlen oder Text farbig markieren

    101074 Der VBA-Code in Variante 1markiert alle Zellen im benutzten Bereich farbig, die eine Formeln enthalten. Die Variante 2 prüft den Zelleninhalt auf Zahlen und die Variante 3 markiert alle...