Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bilder automatisch einfüllen

Bilder automatisch einfüllen
09.07.2007 23:14:00
Thomas
Hallo!
Ich habe vor ein paar "Jahren" mal ein paar Zeilen VBA Code von Euch bekommen!
Diese Zeilen fügten in Excel 2003 automatisch in die Spalte L Bilder ein, deren Dateiname in der Spalte AV stehen, dabei wurden die Bilder direkt an die entsprechende Spalten-/Zeilengröße angepasst. Das zweite Script hat dann die Bilder wieder komplett gelöscht ...
Leider funktioniert das in Excel 2007 nicht mehr so wie in 2003 ... ;-(
In 2007 werden die Bilder nicht mehr richtig an/in die entsprechenden Zellen angepasst, nach 20-30 Bildern stehen die Bilder dann eine Zeile zu tief usw ...
Neben diesem Problem hatte ich noch zwei weitere Probleme:
1) Wenn eine Zeile leer ist oder ein Dateiname in dem Verzeichnis fehlte /falsch war, dann kommt der Code aus dem Rhytmus. Dann wird das letzte richtige (vorhandene) Bild an die Position für das "letzte" (nächste falsche Bild positioniert) die Bilder dazwischen sind leer ...
2) Die Bilder "blähen" die Excel Datei natürlich noch weiter auf, kann man das irgendwie lösen, das die Datei nicht so stark vergrößert wird.
Danke für Eure Hilfe!
THOMAS

Sub Bilder_einfügen()
Dim pic As Picture
Dim xRow As Integer
Dim xName As String
On Error Resume Next
xRow = [AV65536].End(xlUp).Row
For i = 12 To xRow
Range("L" & i).Activate
xName = Range("AV" & i).Value
Set pic = ActiveSheet.Pictures.Insert(xName)
With pic
.Left = ActiveCell.Left
.Top = ActiveCell.Top
.Width = ActiveCell.Width
.Height = ActiveCell.Height
End With
Next
End Sub



Sub Bilder_löschen()
For i = ActiveSheet.Pictures.Count To 1 Step -1
If Left(ActiveSheet.Pictures(i).Name, 3)  "Com" Then
ActiveSheet.Pictures(i).Delete
End If
Next
End Sub


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bilder automatisch einfüllen
10.07.2007 00:31:00
fcs
Hallo Thomas,
das Problem mit den nicht vorhandenen Dateien kannst die mit einer Prüfung umschiffen. Warum das Positionieren/Einstellne der Größe solche Probleme macht kann ich mangels Excel 2007 nicht testen.
Verwende statt des Pictures-Objektes das Shape-Objekt, da das Picture-Objekt nur aus Gründen der Abwärtskompatibilät zu früheren Excelversionen vorhanden ist. Ob das die Probleme bereinigt ?
Code schaut dann wie nachfolgenden aus.
Gruß
Franz

Sub Bilder_einfügen()
Dim pic As Shape
Dim xRow As Integer
Dim xName As String
xRow = [AV65536].End(xlUp).Row
For i = 12 To xRow
Range("L" & i).Activate
xName = Range("AV" & i).Value
If Dir(xName) "" Then
ActiveSheet.Shapes.AddPicture FileName:=xName, Linktofile:=False, _
SaveWithDocument:=True, Left:=ActiveCell.Left, Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, Height:=ActiveCell.Height
End If
Next
End Sub


Anzeige
AW: Bilder automatisch einfüllen
10.07.2007 20:57:33
Thomas
Super!
Genau das war es !
DANKE!
Thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige