Print side | Luk vindue

Fjern billeder i bestemte celler ?

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=1911
Udskrevet den: 22.Jan.2025 kl. 18:08


Emne: Fjern billeder i bestemte celler ?
Besked fra: Mikkel
Emne: Fjern billeder i bestemte celler ?
Posteringsdato: 17.Dec.2014 kl. 00:53
Hej Forum,
 
Jeg har lavet et Excel ark som skal bruges til rapportering, og har lavet en macro med en knap til at "Nulstille" arket (Clear Contents)
 
Men jeg kan ikke helt se hvordan jeg for denne til også at fjerne de billeder som der er sat ind! nogen der kan hjælpe med dette?
 
Har flettet cellerne T,U,V,W,X,Y fra 7:23 så det er 1 celle, heri ligger der et billede, som jeg gerne vil have slettet og erstattet med et andet billede, eller en tekst, hvis ikke man kan indsætte et bestemt billede under "Nulstilling" af arket.
 
Nogle bud ?
 
Det jeg bruger til at nulstille de andre celler ser således ud:
 
Public Sub Nulstil()
   
    Application.ScreenUpdating = True
    MsgBox "HEY!!! Are you sure, you want to reset this report ? ALL the data you have entered will be lost, so be sure mate :-)"
   
   
    Application.ScreenUpdating = False
    For Each cc In Range("C5:C11,D28,D34,J6:J31,K6:K31,L6:L31")
        cc.Value = "N/A"
    Next
    Application.ScreenUpdating = False
    For Each bb In Range("O6:O31,P6:P31,Q6:Q31,R6:R31")
        bb.Value = ""
    Next
   
    Application.ScreenUpdating = True
    MsgBox "All cells have been cleared, Inspection Report is ready for new data. ;-)"
End Sub

 
Mikkel



Svar:
Besked fra: Allan
Posteringsdato: 17.Dec.2014 kl. 10:42
Hej Mikkel,
 
Nedenstående kode sletter alle billeder fra dit ark og indsætter et nyt.
Det nye billede som sættes ind, tilpasses størrelsen på din flettede celle som er placeret i T7:Y23
Du skal naturligvis ændre Placering = "C:\testbillede.jpg" til det billede du ønsker at sætte ind.
 
Sub SletOgOmbytBillede()
Dim Billede As Object
Dim Placering As String
Placering = "C:\testbillede.jpg"
For Each Billede In ActiveSheet.Pictures
    Billede.Delete
Next Billede
Set Billede = ActiveSheet.Pictures.Insert(Placering)
With Billede
        .ShapeRange.LockAspectRatio = msoFalse
        .Height = Range("T7:Y23").Height
        .Width = Range("T7:Y23").Width
        .Top = Range("T7:Y23").Top
        .Left = Range("T7:Y23").Left
        .Placement = xlMoveAndSize
End With
Set Billede = Nothing
End Sub
 
Er det nogenlunde som du havde forstillet dig?
 
//Allan


Besked fra: Mikkel
Posteringsdato: 17.Dec.2014 kl. 10:54
Hej Allan,
 
Ja det vil jeg tro, nu har jeg da i hvert fald noget at gå ud fra, da jeg har op til 26 billeder som skal fjernes med denne funktion, men det er vel bare at angive deres placering, på samme måde som du har gjort.
 
Men jeg leger lidt med det og vender tilbage med mere info.
 
Tak indtil videre.
 
Mikkel



Print side | Luk vindue