| |
| Blechfertigung: Leitfaden zur Materialauswahl, ein Fachartikel
|
Autor
|
Thema: Bild in Excel Zelle löschen, Buttons nicht (1235 / mal gelesen)
|
Tammy89 Mitglied
Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 20. Sep. 2016 11:35 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, habe nun schon mehrere Beisträge durchgeschaut, finde aber leider keine passende Lösung. Ich habe per Makro ein Bild in die Zelle L8 eingefügt. Per Klick auf den Button "Eingabe lsöchen" soll auch das Bild gelöscht werden, die Buttons in dem Sheet allerdings nicht. Bisher habe ich nur Lösungen, die mir auch die Buttons löschen, wie z.B. ActiveSheet.DrawingObjects.Delete Wie bekomme ich es hin, dass wirklich nur das eine Bild gelöscht wird? In dem Sheet befinden sich 4 Buttons und eben das eine Bild! Vielen Dank und Gruß Tammy89 Excel 2010 Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KlaK Ehrenmitglied V.I.P. h.c. Dipl. Ing. Vermessung, CAD- und Netz-Admin
Beiträge: 2812 Registriert: 02.05.2006 Office 2010; Office365 Visual Basic
|
erstellt am: 20. Sep. 2016 12:53 <-- editieren / zitieren --> Unities abgeben: Nur für Tammy89
Hallo Tammy89, Habe jetzt gerade kein Beispiel parat (vielleicht postest Du ja eines, da wäre die Motivation zum Testen größer ) aber normalerweise gibt es eine Auflistung der DrawingObjects, in der Du Dir das passende heraussuchen kannst. Grüße Klaus Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 20. Sep. 2016 15:32 <-- editieren / zitieren --> Unities abgeben: Nur für Tammy89
Hallo Tammy89 Ich würde, beim Einfügen des Bildes, diesem einen Namen zuweisen. So kann man es schneller selektieren/löschen.
Code: Sub einfuegen() Dim objPicture As Picture On Error GoTo Fehler With ActiveSheet.Cells(8, 12) ' Bild kommt in Zelle L8 Set objPicture = .Parent.Pictures.Insert("C:\Logo.jpg") objPicture.Top = .Top objPicture.Left = .Left objPicture.Height = 150 'objPicture.Width = 150 objPicture.Name = "MeinBild" End With Fehler: If Err.Number <> 0 Then MsgBox Err.Number & " " & Err.Description Set objPicture = Nothing End Sub
Code: Sub loeschen() ActiveSheet.Shapes("MeinBild").Delete End Sub
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tammy89 Mitglied
Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 20. Sep. 2016 16:21 <-- editieren / zitieren --> Unities abgeben:
Hallo HenryV, danke für den Code, leider bekomme ich es bei mir nicht zum Laufen, bzw. das Bild wird viel größer und nicht in L8 eingefügt. Ich hatte bisher folgenden Code: Sub BildWE() If Range("C6").Value = "" Then Exit Sub 'Bildpfad setzen strPfadWE = "P:..." & ActiveSheet.Range("C6").Value & ".jpg" 'Zelle auswählen, in welches das Bild eingefügt werden soll ActiveSheet.Range("L8").Select 'MsgBox strPath7 'Bild einfügen ActiveSheet.Pictures.Insert (strPfadWE) ActiveSheet.Pictures.Width = 200 ActiveSheet.Pictures.Height = 200 End Sub Sub Clean_Button() 'Text löschen ActiveSheet.Range("C6:F6,C7:F7,C12:F12,C13:F13,L8").ClearContents 'Bild löschen ActiveSheet.Shapes("Bild").Delete End Sub Wenn ich hier nun den Code ActiveSheet.Pictures.Name = "Bild" ergänze bekomme ich eine Fehlermeldung (Laufzeitfehler '438': Objekt unterstützt diese Eigenschaft oder Methode nicht).
Wie kann ich in diesem Code dem Bild einen Namen vergeben, oder alles komplett zu ändern? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
HenryV Mitglied Konstrukteur, Engineering
Beiträge: 817 Registriert: 18.05.2005 SolidWorks 2022 x64 SP5.0 Dell Precision 5820 Intel Xeon W-2125 4x4GHz NVIDIA Quadro P2000 5GB 32GB RAM 2x Dell U2412M, 24" TFT Windows 10 Enterprise x64 22H2 Microsoft 365 E5 Microsoft Visual Studio Enterprise 2022
|
erstellt am: 20. Sep. 2016 16:56 <-- editieren / zitieren --> Unities abgeben: Nur für Tammy89
Hallo Tammy89 Du kannst den Namen auch gleich beim Einfügen vergeben.
Code: 'Bild einfügen ActiveSheet.Pictures.Insert(strPfadWE).Name = "Bild"
Gruss Andreas ------------------ 21 ist nur die halbe Antwort. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Tammy89 Mitglied
Beiträge: 24 Registriert: 28.07.2016 Microsoft Office 2010 Windows 7
|
erstellt am: 21. Sep. 2016 08:36 <-- editieren / zitieren --> Unities abgeben:
|
Beverly Mitglied Dipl.-Geologe (Rentner)
Beiträge: 395 Registriert: 11.08.2007
|
erstellt am: 21. Sep. 2016 09:09 <-- editieren / zitieren --> Unities abgeben: Nur für Tammy89
Hi, wenn es sich um 4 Formular-Schalter handelt und sich keine weiteren Steuerelemente im Tabellenblatt befinden, kannst du folgenden Code für das Löschen des eingefügten Bildes verwenden: Code: Dim shaShape As Shape For Each shaShape In ActiveSheet.Shapes If shaShape.OLEFormat.Object.OnAction = "" Then shaShape.Delete Next shaShape
------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |