Discussion:
Object zoeken en verwijderen
(te oud om op te antwoorden)
TeMa
2005-01-20 10:05:03 UTC
Permalink
Geachte forum leden,

Kan iemand mij helpen met het volgende:

Ik ben op zoek naar een methode om m.b.v. een script te zoeken naar een
object (in mijn geval een figuur) op een bepaald werkblad. De werkbladnaam
is in mijn geval bv Sheet 4.
Als dit object is gevonden, dan moet deze verwijdert worden. Is deze niet
gevonden dan moet er een andere actie worden uitgevoerd.

Ik hoop dat iemand mij op weg kan helpen.

Bij voorbaat dank.

Met vriendelijke groet,

M. Tettero
emil
2005-01-20 19:16:07 UTC
Permalink
tema,
hier een vba oplossing met een maar..... de tekening die je zoekt moet zijn
voorzien van een door jouw ingegeven naam dus niet de standaard naam hebben.
even technisch bij het opvragen van de tekeningnaam wordt de engelse naam
opgegeven in plaats van de nederlandse naam dus figuur 1 is in het engels
picture 1.
de eigenschap namelocal wil niet werken.

Sub ZoekFiguur()
Dim WSh As Worksheet
Dim Shp As Shape
Dim ZoekFiguur As String

'welke figuur moet worden gezocht?
ZoekFiguur = InputBox("welke figuur zoek je?")

'geen figuurnaam dan afsluiten
If ZoekFiguur = "" Then Exit Sub

'alle bladen doorzoeken
For Each WSh In ThisWorkbook.Worksheets
'alle figuren opzoeken
For Each Shp In WSh.Shapes
If LCase(Shp.Name) = LCase(ZoekFiguur) Then
Shp.Delete
MsgBox ZoekFiguur & " verwijderd ;-)"
Exit Sub
End If
Next Shp
Next WSh
MsgBox ZoekFiguur & "nie gevonde nie :-("
End Sub
--
groet, emil
<getest met office2000>



"TeMa" <***@discussions.microsoft.com> schreef in bericht news:AA25ACFA-312B-41E1-9297-***@microsoft.com...
Geachte forum leden,

Kan iemand mij helpen met het volgende:

Ik ben op zoek naar een methode om m.b.v. een script te zoeken naar een
object (in mijn geval een figuur) op een bepaald werkblad. De werkbladnaam
is in mijn geval bv Sheet 4.
Als dit object is gevonden, dan moet deze verwijdert worden. Is deze niet
gevonden dan moet er een andere actie worden uitgevoerd.

Ik hoop dat iemand mij op weg kan helpen.

Bij voorbaat dank.

Met vriendelijke groet,

M. Tettero
TeMa
2005-01-26 09:39:03 UTC
Permalink
Beste Emil,

Jouw antwoord heeft mij wel op weg geholpen, maar ik als onervaren VBA
programmeur, ben toch vastgelopen.

De objecten welke ik wil verwijderen hebben inderdaad een door mij gegeven
naam en bevinden zich, indien aanwezig, altijd op Sheet1.
Ik zou graag willen dat het script kijkt of er objecten met bijv. Naam1,
Naam2, Naam3, etc. aanwezig zijn. Zodra dit het geval is voor alle of een van
de gevallen, dan moeten deze verwijderd worden. Zijn ze niet aanwezig dan
moet er niets gebeuren.

Ik hoop dat je me nog iets op weg kunt helpen.
Je hulp wordt zeer gewaardeerd.

Met vriendelijke groet,

M. Tettero.
Post by emil
tema,
hier een vba oplossing met een maar..... de tekening die je zoekt moet zijn
voorzien van een door jouw ingegeven naam dus niet de standaard naam hebben.
even technisch bij het opvragen van de tekeningnaam wordt de engelse naam
opgegeven in plaats van de nederlandse naam dus figuur 1 is in het engels
picture 1.
de eigenschap namelocal wil niet werken.
Sub ZoekFiguur()
Dim WSh As Worksheet
Dim Shp As Shape
Dim ZoekFiguur As String
'welke figuur moet worden gezocht?
ZoekFiguur = InputBox("welke figuur zoek je?")
'geen figuurnaam dan afsluiten
If ZoekFiguur = "" Then Exit Sub
'alle bladen doorzoeken
For Each WSh In ThisWorkbook.Worksheets
'alle figuren opzoeken
For Each Shp In WSh.Shapes
If LCase(Shp.Name) = LCase(ZoekFiguur) Then
Shp.Delete
MsgBox ZoekFiguur & " verwijderd ;-)"
Exit Sub
End If
Next Shp
Next WSh
MsgBox ZoekFiguur & "nie gevonde nie :-("
End Sub
--
groet, emil
<getest met office2000>
Geachte forum leden,
Ik ben op zoek naar een methode om m.b.v. een script te zoeken naar een
object (in mijn geval een figuur) op een bepaald werkblad. De werkbladnaam
is in mijn geval bv Sheet 4.
Als dit object is gevonden, dan moet deze verwijdert worden. Is deze niet
gevonden dan moet er een andere actie worden uitgevoerd.
Ik hoop dat iemand mij op weg kan helpen.
Bij voorbaat dank.
Met vriendelijke groet,
M. Tettero
emil
2005-01-26 18:46:52 UTC
Permalink
tema,
stuur een mailtje onderwerp "figurenwissen".

dan heb ik een testbestand voor je met een userform; opties:
voor het te zoeken figuur volledige of linkergedeelte van de naam opgeven
of niets en dan worden alle figuren in het actieve werkblad opgezocht.

in een listbox worden de gevonden figuurnamen weergegeven.
wissen met de keuze:
geselecteerde naam of
alle gevonden figuren wissen.

om hier uit te leggen hoe een en ander inelkaar is gestoken gaat me wat te
ver.
daarom stuur een mail dan krijg je het testbestand.
--
groet, emil
<getest met office2000>



"TeMa" <***@discussions.microsoft.com> schreef in bericht news:2FACD127-AFCC-4887-A7C6-***@microsoft.com...
Beste Emil,

Jouw antwoord heeft mij wel op weg geholpen, maar ik als onervaren VBA
programmeur, ben toch vastgelopen.

De objecten welke ik wil verwijderen hebben inderdaad een door mij gegeven
naam en bevinden zich, indien aanwezig, altijd op Sheet1.
Ik zou graag willen dat het script kijkt of er objecten met bijv. Naam1,
Naam2, Naam3, etc. aanwezig zijn. Zodra dit het geval is voor alle of een
van
de gevallen, dan moeten deze verwijderd worden. Zijn ze niet aanwezig dan
moet er niets gebeuren.

Ik hoop dat je me nog iets op weg kunt helpen.
Je hulp wordt zeer gewaardeerd.

Met vriendelijke groet,

M. Tettero.
Post by emil
tema,
hier een vba oplossing met een maar..... de tekening die je zoekt moet zijn
voorzien van een door jouw ingegeven naam dus niet de standaard naam hebben.
even technisch bij het opvragen van de tekeningnaam wordt de engelse naam
opgegeven in plaats van de nederlandse naam dus figuur 1 is in het engels
picture 1.
de eigenschap namelocal wil niet werken.
Sub ZoekFiguur()
Dim WSh As Worksheet
Dim Shp As Shape
Dim ZoekFiguur As String
'welke figuur moet worden gezocht?
ZoekFiguur = InputBox("welke figuur zoek je?")
'geen figuurnaam dan afsluiten
If ZoekFiguur = "" Then Exit Sub
'alle bladen doorzoeken
For Each WSh In ThisWorkbook.Worksheets
'alle figuren opzoeken
For Each Shp In WSh.Shapes
If LCase(Shp.Name) = LCase(ZoekFiguur) Then
Shp.Delete
MsgBox ZoekFiguur & " verwijderd ;-)"
Exit Sub
End If
Next Shp
Next WSh
MsgBox ZoekFiguur & "nie gevonde nie :-("
End Sub
--
groet, emil
<getest met office2000>
Geachte forum leden,
Ik ben op zoek naar een methode om m.b.v. een script te zoeken naar een
object (in mijn geval een figuur) op een bepaald werkblad. De werkbladnaam
is in mijn geval bv Sheet 4.
Als dit object is gevonden, dan moet deze verwijdert worden. Is deze niet
gevonden dan moet er een andere actie worden uitgevoerd.
Ik hoop dat iemand mij op weg kan helpen.
Bij voorbaat dank.
Met vriendelijke groet,
M. Tettero
Loading...