Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Afbeeldingen verwijderen met Marco  (gelezen 4037 keer)

0 leden en 1 gast bekijken dit topic.

Offline Jamnesia

  • Volledig lid
  • **
  • Berichten: 136
  • Oplossing.be
Afbeeldingen verwijderen met Marco
« Gepost op: 13 september 2021, 14:42:32 »
Goedemiddag,

Ik heb in de bijlage een klein documentje gestoken hoe ik hetgeen ik zou willen maken ongeveer moet werken.

Ik wil verschillende knoppen maken van verschillende leveranciers. In het document heb ik dit METAAL, HOUT en STEEN genoemd. Ook zie je linksboven een voorbeeld van de hoofding + gegevens van het eigen bedrijf. Deze moeten ten alle tijden blijven staan en zal nooit iets aan moeten veranderen.

Wanneer ik dan op één van de knoppen van de leverancier zal drukken, dan moet er een foto en tekst (maar deze heb ik er uit gelaten) in de cel geplakt worden. Dat heb ik nu met simpele macro al toegevoegd aan de knoppen. Maar als er nog een afbeelding zou staan van bv HOUT, dan moet eerst deze afbeelding gewist worden en daarna de afbeelding van de knop waar je op drukt op die plaats komen. Ook als er geen afbeelding zou staan, dan mag bij het drukken op de knop dit ook geen foutmelding of storing geven. Met tekst lukt mij dit perfect, maar met afbeeldingen niet.

Kan hier mij iemand aub in helpen, want ik vind er echt niets van terug.

Met vriendelijke groeten,
Jamnesia.


Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Afbeeldingen verwijderen met Marco
« Reactie #1 Gepost op: 13 september 2021, 17:10:50 »
Je kan het ook zonder VBA doen.

Selecteer je keuze in H4

Offline Jamnesia

  • Volledig lid
  • **
  • Berichten: 136
  • Oplossing.be
Re: Afbeeldingen verwijderen met Marco
« Reactie #2 Gepost op: 14 september 2021, 14:44:10 »
Maar welke formule gebruik ik dan? Want het gaat hier over een afbeelding en geen tekst. Bij tekst zorg je dan gewoon dat de inhoud van je cel gewist gaat worden, maar bij een afbeelding, welke formule gebruik je dan. Plus ik ga wel meerdere cellen moeten samenvoegen, zodat deze afbeelding in 1 cel komt te staan.

Offline Jamnesia

  • Volledig lid
  • **
  • Berichten: 136
  • Oplossing.be
Re: Afbeeldingen verwijderen met Marco
« Reactie #3 Gepost op: 14 september 2021, 15:36:45 »
Heb de oplossing gevonden na wat te proberen.

Onderstaande werkt zoals ik het zou willen. Mss niet de makkelijkste oplossing, maar ze werkt wel.

Sub Steen()
'
' Steen Macro
'

'

Dim xPicRg As Range
Dim xPic As Picture
Dim xRg As Range
Application.ScreenUpdating = False
Set xRg = Range("H2:I6")
For Each xPic In ActiveSheet.Pictures
Set xPicRg = Range(xPic.TopLeftCell.Address & ":" & xPic.BottomRightCell.Address)
If Not Intersect(xRg, xPicRg) Is Nothing Then xPic.Delete
Next
Application.ScreenUpdating = True

    ActiveSheet.Shapes.Range(Array("Picture 7")).Select
    Selection.Copy
    Range("H2").Select
    ActiveSheet.Paste
End Sub

Online Montagnard

  • Ambassadeur
  • *****
  • Berichten: 2.385
  • Geslacht: Man
  • To Windows or not to Windows , that's the question
Re: Afbeeldingen verwijderen met Marco
« Reactie #4 Gepost op: 14 september 2021, 16:12:33 »
had ondertussen ook al iets uitgewerkt....zeer beknopt , en onder "thisworkbook" staan ook 3 lijntjes.
ik heb de 3 afbeeldingen eerst op dezelfde plaats gezet in cel H2 en deze zijn bij het opstarten verborgen via de code onder "thisworkbook" > (Workbook Open).
daarna gewoon naargelang de keuze , de betreffende afbeelding tonen en de andere 2 verbergen....
Mvg,
Montagnard.
HP ProBook 450 G3 15 inch
OS : Windows 11 Pro NLD 64bit
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
16 GB  Vengeance 2666 MHz
KINGSTON SA400S37480G - 447,13 GB als bootdisk
WD Blue Solid state 2 TB - intern - M.2 2280 - SATA als datadisk
AV: Windows Defender
FW: Windows Firewal

Offline Warme bakkertje

  • Volledig lid
  • **
  • Berichten: 215
  • Geslacht: Man
Re: Afbeeldingen verwijderen met Marco
« Reactie #5 Gepost op: 14 september 2021, 16:50:50 »
Als je je knoppen en afbeeldingen betekenisvolle namen geeft is onderstaande alles wat je nodig hebt van code.

Aan elke knop wijs je dan deze zelfde code.

Sub shpCopy()

    Dim shp As Shape
    Application.ScreenUpdating = False
    With ActiveSheet
        For Each shp In .Shapes
            If shp.TopLeftCell.Address = "$H$2" Then shp.Delete
        Next
        .Shapes("shp" & Application.Caller).Copy
        Application.Goto .Range("H2")
        .Paste
        Application.Goto .Range("A1")
    End With
    Application.ScreenUpdating = True
   
End Sub
Windows 10 Home   NLD 64bit

Microsoft Office Professional Plus 2016 US

Online JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 422
Re: Afbeeldingen verwijderen met Marco
« Reactie #6 Gepost op: 14 september 2021, 18:49:39 »
Nog een optie:
Plaats al je afbeeldingen(met specifieke naam) allemaal in H2.

Met onderstaande macro aan alle knoppen gekoppeld heb je dan genoeg

Sub jec()
 For Each shp In ActiveSheet.Shapes
   If shp.TopLeftCell.Address(0, 0) = "H2" Then shp.Visible = InStr(1, shp.Name, Application.Caller, 1)
 Next
End Sub

Offline Jamnesia

  • Volledig lid
  • **
  • Berichten: 136
  • Oplossing.be
Re: Afbeeldingen verwijderen met Marco
« Reactie #7 Gepost op: 27 september 2021, 14:46:13 »
Sorry voor mijn late antwoord.

Allemaal hartelijk dank voor jullie hulp. Al jullie opties zijn perfect bruikbaar voor mij.


Met vriendelijke groeten,

 


www.combell.com