eine Frage vorab:
Warum gibt es keinen Button "Code einfügen" bei der Beitragserstellung, bei Antworten jedoch schon?
Ok, nun zum eigentlichen Problem. Dieser Code läuft unter Excel2003 und 2007 (32 Bit) perfekt. Bildnummer in F3 auswählen und Bild wird ab Zelle I8 eingefügt.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Dateiname As String
Dim Pfad As String
If Not Intersect(Target, Range("F3,Z7")) Is Nothing Then
ActiveSheet.Unprotect Password:="test"
ActiveSheet.DrawingObjects.Delete
If Range("Z7") = "ja" Then
Pfad = ThisWorkbook.Path & "\Sonderfundbilder\"
Dateiname = Dir(Pfad & Format(Range("F3").Value, "0000") & "*")
If Dateiname "" Then
ActiveSheet.Pictures.Insert(Pfad & Dateiname).Select
With Selection
.Top = Rows(18).Top
.Left = Columns(9).Left
.ShapeRange.LockAspectRatio = msoFalse
.Height = 400
.Width = 400
End With
End If
End If
End If
ActiveSheet.Protect Password:="test"
ActiveSheet.EnableSelection = xlUnlockedCells
Range("F3").Select
End Sub
In Excel 2013 (64 Bit) jedoch verschiebt Excel unmotiviert die Bilder.Die 500ter Bildnummern landen bei F5 und die 1000ter bei F3 (die Nummern sind nur Bsp., hab nicht alle getestet). Die Bilder werden korrekt wiedergegeben, also ausgewählte Nummer passt zum Bild.
Liegt es am Code, dass da ein Element nicht von Excel2013 richtig interpretiert wird?
Und noch ne Frage:
ActiveSheet.DrawingObjects.Delete
löscht die Bilder, leider auch die Bildlaufleiste (Formularsteuerelement) , was ich aber benötige. Hatte es schon mit if then versucht, bin da aber ebenso gescheitert.
Wäre für Hilfe und Ratschläge sehr dankbar.
Viele Grüße
Hopps