• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

verwijderen tekening in VBA

Status
Niet open voor verdere reacties.

Alexander86

Gebruiker
Lid geworden
22 feb 2007
Berichten
83
Hallo

in mijn bestand heb ik in VBA geprogrammeerd dat wanneer cel D10 veranderd dat er een tekening tevoorschijn komt overeenstemmend met de waarde in D10

het is nu zo wanneer dat D10 veranderd dat de tekening die er staat verwijderd wordt, want door de verandering in D10 komt er een nieuwe tekening, het is dus de bedoeling dat er geen 2 tekeningen boven elkaar staan ...

ik heb dit geprogrameerd met behulp van een macro op te nemen en dan te vergelijken en wat te veranderen. nu zit ik wel nog met het probleem om de tekening die er staat te verwijderen wanneer D10 veranderd. ik heb dit al op heel wat manieren geprobeerd maar het lukt me maar niet.

zou er mij iemand kunnen helpen aub,

ik een bestand bijgevoegd waar je alles kunt terug vinden.

Mvg,
Alexander
 

Bijlagen

En als je deze regel als 1e in je code neer zet:
Code:
ActiveSheet.Pictures.Delete
 
Test dit eens uit:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address = "$D$10" Then
            
        On Error Resume Next
            
        With Range("G16")
            
            .Select
            
            ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete
            
            ActiveSheet.Pictures.Insert("F:\Tek. Alexander" & Target & ".bmp").Select
            
            With .ShapeRange
                
                .LockAspectRatio = msoTrue
                .Height = 75#
                .Width = 113.25
                .Rotation = 0#
            
            End With
        
        End With
        
        On Error GoTo 0
    
    End If

End Sub

Vervangt alle code van jou. Is wel grotendeels ongetest.

Wigi
 
Laatst bewerkt:
Hallo

Wanneer ik de regel invoeg die "demeter" aangaf, lukt het wel, maar het duurdt enorm lang voordat alles is uitgevoerd, het scherm flikkert enkele seconden en het lijkt of alles blokkeerd.

de oplossing van Wigi, lukt momenteel nog niet, er wordt nergens een foutmelding gegeven maar de tekening wordt niet ingevoegd ...

zou je anders eens willen kijken hoe het komt dat hij dit niet doet? de oplossing van demeter is ook wel goed, maar het is niet echt handig dat het scherm flikkert en blokkeerd ... of zou er nog andere oplossing mogelijk zijn?

mvg, Alexander
 
Er moet wel een \ staan net achter Tek. Alexander in de regel waar de afbeelding ingevoegd wordt.

Maar het forum hier pakt die niet goed op.

Wigi
 
Laatst bewerkt:
Hallo Wigi

Nu lukt het inderdaad wel ... bedankt hé

maar nu komt hij wel nog niet op de juist afmetingen. ik dacht wanneer ik :
.Height = 75#
.Width = 113.25
.Rotation = 0#

die 75 en 113.25 zou veranderen dat de tekening zich zou aanpassen maar blijkbaar niet
doe ik iets mis?

Alexander
 
Hallo Wigi

Nu lukt het inderdaad wel ... bedankt hé

maar nu komt hij wel nog niet op de juist afmetingen. ik dacht wanneer ik :
.Height = 75#
.Width = 113.25
.Rotation = 0#

die 75 en 113.25 zou veranderen dat de tekening zich zou aanpassen maar blijkbaar niet
doe ik iets mis?

Alexander

Aan de getallen uit jouw code heb ik niets veranderd.
 
Ik wilde deze avond nog een poging wagen om de code beter te maken maar zie dat Wigi er al een mooi stukje voor gemaakt heeft. Vooral het delete gedeelte was ik niet op gekomen (ActiveSheet.Shapes(ActiveSheet.Shapes.Count).Delete).

Het blijft lastig om met shapes te werken in een programma waar het eigenlijk niet voor bedoeld is. :).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan