• 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.

regels combineren tot 1 regel

Status
Niet open voor verdere reacties.

vrouw

Terugkerende gebruiker
Lid geworden
27 mrt 2010
Berichten
1.434
Hoi,

Ik heb onderstaande regels in een macro staan maar om het netjes te maken wil ik het graag in 1 zin hebben.
Volgens mij moet dat met een array in de zin maar dat wil me maar niet lukken.

Sheets("Trans-P").Select
ActiveSheet.Shapes("CommandButton1").Select
Selection.Delete
Sheets("Trans-O").Select
ActiveSheet.Shapes("CommandButton1").Select
Selection.Delete
Sheets("Trans-T").Select
ActiveSheet.Shapes("CommandButton1").Select
Selection.Delete
Sheets("Trans-Z").Select
ActiveSheet.Shapes("CommandButton1").Select
Selection.Delete
 
Zou deze dat doen?

Code:
With Sheets(Array("Trans-P", "Trans-O", "Trans-T", "Trans-Z"))
     .Shapes("CommandButton1").Delete
End With
 
Helaas loopt ie stuk op:
.Shapes("CommandButton1").Delete

eigenschap of methode word niet ondersteund door dit object is de melding.
 
Laatst bewerkt:
Probeer dit:
Code:
Sub macro1()
Dim k As Integer, sh As String
For k = 1 To 4
sh = WorksheetFunction.Choose(k, "Trans-P", "Trans-O", "Trans-T", "Trans-Z")
Sheets(sh).Shapes("CommandButton1").Delete
Next k
End Sub
Voor de goede werking is wel vereist is dat in alle 4 de bladen de button de naam Commandbutton1 heeft.
 
Laatst bewerkt:
:eek: En als er nu ook nog een button2 is die verwijderd moet worden?:eek:
Sorry, had ik nog niet gezien dat er meer buttons waren.
 
Dan hangt het ervan af in welk blad die extra buttons staan en hoe ze heten.
 
in ieder tabblad staat die button en in ieder tabblad heet die CommandButton2
 
Dat had je nu toch zelf moeten kunnen vind ik, de methode kun je uit mijn eerste macro overnemen.
Je voegt gewoon een extra lusje in om 2 knoppen per blad te verwijderen, aldus:
Code:
Sub macro2()
Dim k As Integer, sh As String, x as integer
For k = 1 To 4
sh = WorksheetFunction.Choose(k, "Trans-P", "Trans-O", "Trans-T", "Trans-Z")
For x = 1 To 2
Sheets(sh).Shapes("CommandButton" & x).Delete
Next x
Next k
End Sub
 
Ik had deze nu al bedacht en werkt ook :eek:

Code:
Dim k As Integer, sh As String
For k = 1 To 4
sh = WorksheetFunction.Choose(k, "Trans-P", "Trans-O", "Trans-T", "Trans-Z")
Sheets(sh).Shapes("CommandButton1").Delete
Sheets(sh).Shapes("CommandButton1").Delete
Next k
 
Goedzo,
alleen zul je in de voorlaatste regel commandbutton2 bedoelen i.p.v. 1.
En voortaan de omgekeerde volgorde toepassen: eerst zelf proberen en daarna pas vragen stellen (indien dan nog nodig).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan