Makro um eine Grafik auszutauschen
Hallo Leute,
ich stehe vor einem für mich unlösbaren Problem. Ich habe eine Auswertedatei erstellt, bei dem auf einem Tabellenblatt eine Grafik (jpeg) ersezt werden soll und das am besten per Mausklick. Das heißt, ich bräuchte ein Makro welches zunächst die alte Grafik entfernt, dann soltte ich sich ein Fenster (Verzeichnis)öffnen, so dass ich das neue Jpeg auswählen kann. Dieses sollte dann an die Stelle J10 eingefügt werden. Weiterhin soll die Grafik automatisch formatiert werden, da die Größe nicht stimmt.
Ist das möglich?
Ich hoffe ihr könnt mir weiterhelfen!!
Grüße struux
Antwort schreiben
Antwort 1 von coros vom 26.03.2019, 11:11 Options
Hallo struux,
nachfolgendes Makro sollte das machen, was Du Dir vorgestellt hast. Kopiere es in ein StandardModul und starte es über z.B. eine Befehlsschaltfläche.
[b]Option Explicit
Sub Bild_wechseln()
Dim Bildname As String
Rem: Dialogfenster zur DGrafikausawahl öffnen
Bildname = Application.GetOpenFilename( _
"Bilddateien (*.*), *.xls, Alle Dateien (*.*), *.*", 1, _
"Bild auswählen...", MultiSelect:=False)
Rem: Wenn Grafik ausgewählt wurde
If Bildname <> "" Then
On Error Resume Next
With ActiveSheet
.Range("J10").Select
Rem: Altes Bild löschen
.Shapes("Bild 1").Delete
Rem: Neues Bild einfügen
.Pictures.Insert(Bildname).Select
With Selection
Rem: Name der Grafik ändern
.Name = "Bild 1"
Rem: Seitenverhältnis deaktivieren
.ShapeRange.LockAspectRatio = msoFalse
Rem: Höhe der Grafik ändern
.ShapeRange.Height = 28.5
Rem: Breite der Grafik ändern
.ShapeRange.Width = 283.5
End With
End With
End If
End Sub[/b]
Mit dem Makro wird ein Dialogfenster geöffnet, in dem man die Grafik auswählen kann. Wenn eine Grafik ausgewählt wurde, wird die Alte gegen die Neue ausgewechselt. Du solltest in Deiner Datei der auszutauschenden Grafik den Namen "Bild 1" geben, da ansonsten das Makro nicht funktioniert.
Ich hoffe, Du kommst klar. Bei Fragen melde Dich wieder.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf
meiner HP in der
Rubrik Anleitungen und dort dann in der
Anleitungsnummer 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von struux vom 29.03.2019, 08:26 Options
Danke Oliver,
allerdings klappt das irgendwie nicht. Wie ändere ich denn den Namen des Bildes auf Bild 1?
Gruß Daniel
Antwort 3 von DukeNT vom 29.03.2019, 10:45 Options
Hi Daniel,
einfach das Bild makieren und oben links im Namenfeld in "Bild 1 " ändern.
Gruß Niels
Antwort 4 von struux vom 30.03.2019, 10:09 Options
Danke,
klappt jetzt super. ich müsste jetzt nur noch eine Sachen wissen und zwar wie ich direkt ein bestimmtes Verzeichnis aufrufe und aus diesem meine bilder wähle.
Ach ja, ist es irgenwie möglich eine Arbeitsmappe so zu sperren, dass sie nicht überschrieben werden kann, sprich nur ein speichern unter anderem Namen möglich ist?
Danke euch
Daniel