Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenüberprüfung Liste stört Bildeinfüge Makro

Forumthread: Datenüberprüfung Liste stört Bildeinfüge Makro

Datenüberprüfung Liste stört Bildeinfüge Makro
15.05.2024 16:55:50
Dominic_Schweiz
Hallo zusammen

Ich habe einen Fehler, den ich nicht ganz verstehe.

Ich habe ein Makro, welches sauber funktioniert, bis ich im selben Blatt die Drop-Down-Liste anklicke um einen Wert auszuwählen. Sobald ich dies tu, funktioniert mein Makro sehr komisch:
Bild wird nicht mehr skaliert, wird nicht mehr an den richtige Ort kopiert.

Dies gilt dann für alle Buttons, welche jeweils den gleichen selben Makro-Code haben.
Auch wenn ich dann eine andere Zelle auswähle, nachdem ich die Drop-Down-Liste ausgewählt habe, tritt dieser Effekt ein.
Macht das Klicken auf eine solche Drop-Down-Liste im Hintergrund etwas?

Ist hier was bekannt oder gibt es sogar eine Lösung. Hier mein Makro um die Bilder einzufügen.
Dies wäre natürlich echt super, bekommen wir eine Lösung hin...

Sub Schaltfläche6_Klicken()

Dim ws As Worksheet
Dim img As Shape
Dim cellRange As Range
Dim imgWidth As Double
Dim imgHeight As Double
Dim imgRatio As Double
Dim imgCellRatio As Double

' Das aktive Blatt setzen
Set ws = ActiveSheet

' Bereich setzen, in den das Bild eingefügt werden soll
Set cellRange = ws.Range("A37:D49")

' Überprüfen, ob das Clipboard ein Bild enthält (Format 9)
If Application.ClipboardFormats(1) = 9 Then
' Bild einfügen und das eingefügte Bildobjekt referenzieren
ws.Paste
Set img = ws.Shapes(ws.Shapes.count)

' Größe des Bildes anpassen, um in die verbundenen Zellen zu passen
With cellRange
imgWidth = .Width
imgHeight = .Height
End With

' Seitenverhältnis des Bildes erhalten
imgRatio = img.Width / img.Height
imgCellRatio = imgWidth / imgHeight

' Bildgröße anpassen, um in die verbundenen Zellen zu passen und das Seitenverhältnis beizubehalten
If imgRatio > imgCellRatio Then
' Wenn das Bild breiter ist als die Zelle, skaliere die Höhe entsprechend
img.LockAspectRatio = msoTrue
img.Width = imgWidth
Else
' Andernfalls, skaliere die Breite entsprechend
img.LockAspectRatio = msoTrue
img.Height = imgHeight
End If

' Bild in die Zelle A37 verschieben
img.Top = cellRange.Top
img.Left = cellRange.Left
Else
MsgBox "Das Format in der Zwischenablage entspricht nicht einem Bildformat (Format 9)."
End If
End Sub
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datenüberprüfung Liste stört Bildeinfüge Makro
15.05.2024 17:10:37
Onur
Poste die GANZE Datei und nicht nur das, wovon DU glaubst, dass es relevant ist.
AW: Datenüberprüfung Liste stört Bildeinfüge Makro
15.05.2024 19:59:36
schauan
Hallöchen,

also, Dein Makro nennt sich Sub Schaltfläche6_Klicken()
Wenn es sich dabei wirklich um ein Makro einer Schaltfläche handelt, dann hat das mit dem Klick auf ein DropDown aber eher nix zu tun. Davon wird das nicht ausgelöst. Nun kann man natürlich Makros irgendwelche Namen vergeben, nicht jeden, aber ziemlich einige ... Sollte ein Makro hinter einem Dropdown liegen, könnte es Sub Dropdown1_BeiÄnderung() heißen, wenn man es über "Makro zuweisen" erzeugt.
Oder, anders gesagt, schauen wir mal - in Deine Datei ...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige