Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
Inhaltsverzeichnis

Makro aus Excel 2003 geht in Excel 2007 nicht - Bi

Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
Joe
Hallo zusammen,
hab folgendes Mkro:
-----------------------------------------------
Sub Bilder_einfügen()
Dim Pfad As String, Wiederholungen As Long
On Error Resume Next
Pfad = "I:\Allgemein\Organisationshandbuch\6 Marketing\Bilddatenbank\"
For Wiederholungen = 2 To Range("A65536").End(xlUp).Row
Cells(Wiederholungen, 2).Activate
ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg").Select
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 90
Selection.ShapeRange.IncrementLeft 0.75
Selection.ShapeRange.IncrementLeft 0.75
Selection.ShapeRange.IncrementTop 1.75
Next
End 

Sub
Problem:
Makro lief in Excel 2003 bestens - jedes Zeile hatte ihr entsprechendes Bild
In Excel 2007 werden alle Bilder übereinander gestapelt (in Zeile 4 = 1. Zeile der Unterlage)  _
und nicht in die entsprechenden Zeilen eingefügt.
Bitte um Lösungsvorschläge und sag schon jetzt --> Besten Dank
Joe


		
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
02.12.2009 21:45:59
Josef
Hallo Joe,
ungetestet!
Sub Bilder_einfügen()
  Dim Pfad As String, Wiederholungen As Long
  Dim objShp As Object
  
  Pfad = "I:\Allgemein\Organisationshandbuch\6 Marketing\Bilddatenbank\"
  
  For Wiederholungen = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Dir(Pfad & Cells(Wiederholungen, 1) & ".jpg", vbNormal) <> "" Then
      Set objShp = ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg")
      With objShp
        .Top = Cells(Wiederholungen, 2).Top
        .Left = Cells(Wiederholungen, 2).Left
        .LockAspectRatio = msoTrue
        .Height = 90
        .IncrementLeft 0.75
        .IncrementLeft 0.75
        .IncrementTop 1.75
      End With
    End If
  Next
  
  Set objShp = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
02.12.2009 22:20:44
Joe
Hallo Sepp,
danke für die schnelle Antwort.
Leider erscheint folgende Fehlermeldung:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"
Haben Sie einen Lösungsvorschlag?
Danke
Joe
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
03.12.2009 15:54:38
Josef
Hallo Joe,
so geht's.
Sub Bilder_einfügen()
  Dim Pfad As String, Wiederholungen As Long
  Dim objShp As Object
  
  Pfad = "I:\Allgemein\Organisationshandbuch\6 Marketing\Bilddatenbank\"
  
  For Wiederholungen = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Dir(Pfad & Cells(Wiederholungen, 1) & ".jpg", vbNormal) <> "" Then
      Set objShp = ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg")
      With objShp
        .Top = Cells(Wiederholungen, 2).Top
        .Left = Cells(Wiederholungen, 2).Left
        .ShapeRange.LockAspectRatio = msoTrue
        .Height = 90
        .ShapeRange.IncrementLeft 0.75
        .ShapeRange.IncrementLeft 0.75
        .ShapeRange.IncrementTop 1.75
      End With
    End If
  Next
  
  Set objShp = Nothing
End Sub


Gruß Sepp

Anzeige
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
03.12.2009 18:02:48
Joe
Hallo Sepp,
ganz herzlichen Dank für die Antwort.
Jetzt klappt das wunderbar - Sie sind eine große Hilfe!!!!!!
Jetzt gibt es noch 1 Problem.
Einige Bilder ragen rechts zuweit über die Spalte hinaus.
Für mich ist nicht erkennbar, was der Auslöser hierfür ist.
Es ist für mich nur verwunderlich, daß Bilder im gleichen
Format und in gleicher Auflösung unterschiedliche Breiten
haben.
Wichtig für das SOLL ist, daß
a.) die Spaltenbreite
bzw.
b.) die Zeilenhöhe
berücksichtigt wird und sich die Bildgröße poportional an diese
2 Kriterien orientiert und zwar so, daß entweder die Spaltenbreite
voll genutzt wird bzw. die volle Zeilenhöhe - je nach dem was für
das Bild besser ist.
Wenn Sie hier auch noch eine Lösung haben, dann sind Sie für mich
der absolute Crack!!!!
Schon jetzt mein herzlichster Dank
Joe
Anzeige
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
03.12.2009 19:26:02
Josef
Hallo Joe,
hier im Forum wird im Allgemeinen das "Du" gebraucht.
So sollte es klappen.
Sub Bilder_einfügen()
  Dim Pfad As String, Wiederholungen As Long
  Dim objShp As Object
  
  Pfad = "I:\Allgemein\Organisationshandbuch\6 Marketing\Bilddatenbank\"
  
  For Wiederholungen = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    If Dir(Pfad & Cells(Wiederholungen, 1) & ".jpg", vbNormal) <> "" Then
      Set objShp = ActiveSheet.Pictures.Insert(Pfad & Cells(Wiederholungen, 1) & ".jpg")
      With objShp.ShapeRange
        .LockAspectRatio = msoTrue
        .Top = Cells(Wiederholungen, 2).Top + 1
        .Left = Cells(Wiederholungen, 2).Left + 1
        .Height = Cells(Wiederholungen, 2).Height - 1
        If .Width > Cells(Wiederholungen, 2).Width - 1 Then .Width = Cells(Wiederholungen, 2).Width - 1
      End With
    End If
  Next
End Sub


Gruß Sepp

Anzeige
AW: Makro aus Excel 2003 geht in Excel 2007 nicht - Bi
04.12.2009 08:49:38
Joe
Hallo Sepp,
o.k. - das mit dem DU wußte ich nicht, hab einfach nach meiner Erziehung
verfahren ;-)
Also du wirs jetzt von mir geadelt!!!
A: Lösungen schnell
B: Lösungen exact
C: Lösungen voll funktional
daraus resultierend - ein glücklicher Joe
Vielen Dank und eine schöne Weihnachtszeit sowie einen
guten Rutsch in ein erneutes Exceljahr.
Alles Gute für Dich
Joe

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige