Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

xlBitmap - Instanz?

Forumthread: xlBitmap - Instanz?

xlBitmap - Instanz?
05.04.2024 01:13:39
Fred
Hallo Excel Profis,
U.a. lade ich "xlBitmap" aus Bereichen anderer Sheets ins aktuelle.
Das geschieht beispielsweise so:
Sub bild_Liste1()


Dim rRange_To_Copy As Range
ende_06 = ThisWorkbook.Sheets("Minuten").Cells(Rows.Count, 5).End(xlUp).Row

Application.ScreenUpdating = True

Set rRange_To_Copy = Sheets("Minuten").Range("E10:BT" & ende_06)
rRange_To_Copy.CopyPicture xlScreen, xlBitmap


Sheets("Live").Activate

Range("G10").Select
ActiveSheet.Paste
With Selection
.Height = .Height * 0.89
.Width = .Width * 0.89
.Top = Range("G10").Top + 0
.Left = Range("G10").Left
End With

Range("N1").Select

End Sub

und wenn ich die "Bilder" löschen will, dann zB:
Public Sub Bilder_Löschen()

Dim objShape As Shape
Application.ScreenUpdating = False
For Each objShape In Worksheets("Live").Shapes
If objShape.Type = msoPicture Then Call objShape.Delete
Next
End Sub


Meine Frage: Gibt es eine Möglichkeit, das erste Makro dahin zu ändern, dass es auf einer bestimmten "Instanz" geladen wird und dass ich konkret dann dieses "Bild" wieder mit einem Makro löschen kann?

Gruss
Fred

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Mit selbst vergebenen Namen
05.04.2024 08:51:51
Kuwer
Hallo Fred,

vergib bei der Erstellung eigene Namen:

Sub Bild_Liste1()

Dim rRange_To_Copy As Range
Dim ende_06 As Long

Application.ScreenUpdating = True
ende_06 = ThisWorkbook.Sheets("Minuten").Cells(Rows.Count, 5).End(xlUp).Row
Set rRange_To_Copy = Sheets("Minuten").Range("E10:BT" & ende_06)
rRange_To_Copy.CopyPicture xlScreen, xlBitmap

Sheets("Live").Activate
Range("G10").Select
ActiveSheet.Paste
With Selection
.Name = "MeinBild_1"
.Height = .Height * 0.89
.Width = .Width * 0.89
.Top = Range("G10").Top + 0
.Left = Range("G10").Left
End With
Range("N1").Select
End Sub

Public Sub Bilder_Loeschen()
Dim objShape As Shape

'ein Bild direkt löschen
' On Error Resume Next
' Worksheets("Live").Shapes("MeinBild_1").Delete
' On Error GoTo 0

'alle Bilder, deren Namen mit "MeinBild_" beginnen, löschen
Application.ScreenUpdating = False
For Each objShape In Worksheets("Live").Shapes
If objShape.Name Like "MeinBild_*" Then objShape.Delete
Next objShape
End Sub


Gruß, Uwe
Anzeige
AW: Mit selbst vergebenen Namen
05.04.2024 10:47:30
Fred
Hallo Uwe,
vielen Dank!
Eine einfache Lösung, die bestens funktioniert.

Gruss
Fred
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige