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

Macro button zichtbaar afhankelijk van inhoud cel

Status
Niet open voor verdere reacties.

S.Teeling

Gebruiker
Lid geworden
13 jul 2005
Berichten
65
Hallo,

heeft iemand een idee hoe ik een macro knop wel of niet zichtbaar kan maken afhankelijk van de inhoud van een cel.

Wat ik wil is dat de macro via de button gestart kan worden als in een cel een bepaalde waarde staat, staat deze waarde er niet dan moet deze knop niet zichtbaar zijn.
 
S.Teeling,
Zet deze macro onder het betreffende werkblad. Vervang "ja" voor de waarde die je voor je doel wilt gebruiken.

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A1") = "ja" Then
CommandButton1.Visible = True
Else
CommandButton1.Visible = False
End If
End Sub

Met dank aan Pierre.
 
Foutmelding met 2x Worksheet_Change

Opzich werkt de macro, bedankt.

Echter wanneer ik de code opneem in het betreffende sheet waar al diverse andere macros instaan krijg ik de melding "Er is een dubbelzinnige naam gevonden: Worksheet_Change"

Inderdaad staat er al een macro in het sheet waarvan de eerste regel
Private Sub Worksheet_Change(ByVal Target As Range) is.

Ik begrijp niet helemaal wat de code Worksheet_Change inhoud en hoe ik dit probleem kan omzeilen. Wanneer ik beide macro's combineer krijg ik geen foutmelding meer maar wordt het 2e deel niet uitgevoerd. Onderstaand de code.



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 And Target.Row <> 1 Then Exit Sub
If Range("A1") = "ja" Then
CommandButton1.Visible = True
Else
CommandButton1.Visible = False
MsgBox "Weg is 't ie."
End If

'Beperkt het aantal decimalen in het cellen bereik "GETAL" -
'bereik is cellen G/H 15 tm G/H36.
'
For Aantal = 1 To Target.Count
If IsNumeric(Target(Aantal)) = True Then
If Not Intersect(Target(Aantal), Range("GETAL")) Is Nothing Then
If Len(Target(Aantal)) - Len(Int(Target(Aantal))) > 3 Then
Target(Aantal) = Abs(Left(Target(Aantal), Len(Int(Target(Aantal))) + 3))
MsgBox "U mag maximaal 2 decimalen invoeren!"
End If
End If
End If
Next

End Sub
 
Laatst bewerkt:
Er mogen in een Excel-bestand geen macro's voorkomen met dezelfde naam.

Het is altijd een goed idee het bestand hier te plaatsen.
(Privacy gevoelige zaken kun je door iets anders vervangen.)
 
Bijgaand het Excel test sheet met de Macro.

Begrijp ik goed dat "Worksheet_Change(ByVal Target As Range)" de naam van de macro is ? Ik heb geprobeerd deze aan te passen maar ook dat heeft niet het gewenste resultaat.
 

Bijlagen

Laatst bewerkt:
S.Teeling zei:
Bijgaand het Excel test sheet met de Macro.

Begrijp ik goed dat "Worksheet_Change(ByVal Target As Range)" de naam van de macro is ? Ik heb geprobeerd deze aan te passen maar ook dat heeft niet het gewenste resultaat.

Nee, "Worksheet_Change(ByVal Target As Range)" is een event (oftewel gebeurtenis).
Dit houdt in dat de code die hier instaat aangeroepen wordt als er in de cel iets gewijzigd wordt en de gewijzigde cel wordt verlaten.
Dus stel dat je cel A1 wijzigt en via de pijltjestoetsen of muis een andere cel selecteert dan wordt de code gestart.

Je moet er dus voor zorgen dat er maar 1 keer een "Worksheet_Change(ByVal Target As Range)" in de code staat.
 
Laatst bewerkt:
Overzicht:

Worksheet- en Worbook-Macro's.
Deze Macro's gaan allemaal over gebeurtenissen (Events)

Maar ook als je op een knopje klikt om een Module-macro te starten
is dit een Commandbutton-Click-Event.
 

Bijlagen

Heren, bedankt. Het probleem is opgelost. Het zat in de regel met:

If Target.Column <> 3 And Target.Row <> 14 Then Exit Sub

In het testje stond hier 2x <> 1 wat blijkbaar duidt op cel AI. Mijn variabele stond in cel C14.

Bedankt
 
Hi,

Is het ook mogelijk om ipv ja in cell A1, een willekeurig waarde de knop zichtbaar maakt.

dus
als cel A1 een waarde heeft ===> knop2 , knop3 en knop4 Onzichtbaar
knop1 Zichtbaar
als cel B1 een waarde heeft =====> knop1, knop3 en knop4 Onzichtbaar
knop2 Zichtbaar
etc.

alvast bedankt,
 
Na aanvinken Optionbutton moet een Commandbutton verschijnen

Hallo,

Ik heb een probleem met een werkbestand in excel. Het betreft hier een afstudeeropdracht.

Mijn probleem is als volgt:
Ik wil door het aanvinken van een optionbutton in een andere cel een commandbutton laten verschijnen.

Alles werkt op dit moment, alleen wil ik deze toepassing toevoegen zodat de button verschijnt op het moment dat ik dat wil.

Nu heb ik al veel geprobeerd maar lukt het me niet om automatisch de keuze van de optionbutton te linken aan het verdwijnen of verschijnen van de commandbutton.

Weet iemand de oplossing voor dit probleem?

Alvast bedankt!
 
de regel

Code:
CommandButton1.Visible=[A1]="ja"

doet hetzelfde als
Code:
If Range("A1") = "ja" Then
CommandButton1.Visible = True
Else
CommandButton1.Visible = False
End If
 
Button 73

Ik heb het nodige geprobeerd, ook codes vergeleken, maar ik krijg het niet voor elkaar om de button te laten verschijnen, danwel te verbergen.

Ik krijg een foutbericht betreffende de regel:
CommandButton73.Visible = True
Else
CommandButton73.Visible = False

De buttonnaam is dus Knop 73. De button moet zichtbaar worden als in C14 een willekeurige tekst wordt ingevoerd.

Kan iemand mij van dienst zijn?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan