Hoe een knop in- of uitschakelen op basis van een celwaarde in Excel?
In dit artikel bespreek ik enkele methoden om een knop in- of uit te schakelen op basis van een celwaarde in een Excel-werkblad.
Twee knoppen in- of uitschakelen op basis van gegevens in twee kolommen met VBA-code
Een knop in- of uitschakelen op basis van waarden in twee cellen met VBA-code
Twee knoppen in- of uitschakelen op basis van gegevens in twee kolommen met VBA-code
Bijvoorbeeld, ik heb twee opdrachtknoppen in een werkblad: als kolom A gegevens bevat, is knop 1 ingeschakeld en knop 2 uitgeschakeld; als kolom C gegevens bevat, is knop 2 ingeschakeld en knop 1 uitgeschakeld. Om deze taak op te lossen, kan de volgende VBA-code u helpen.
1. Klik met de rechtermuisknop op het werkblad dat de knoppen bevat en kies vervolgens Weergave Code uit het contextmenu, zie screenshot:
2. In het Microsoft Visual Basic for Applications-venster kopieert en plakt u de onderstaande code in de lege module:
VBA-code: Twee knoppen in- of uitschakelen op basis van twee kolommen:
Private Sub Worksheet_Change(ByVal Target As Range)
CommandButton1.Enabled = False
CommandButton2.Enabled = False
If Application.WorksheetFunction.CountA(Range("C:C")) > 0 Then
CommandButton2.Enabled = True
End If
If Application.WorksheetFunction.CountA(Range("A:A")) > 0 Then
CommandButton1.Enabled = True
End If
End Sub
Opmerking: In de bovenstaande code zijn CommandButton1 en CommandButton2 de namen van de knoppen, A:A en C:C zijn de twee kolommen die u gebruikt om twee knoppen in- of uit te schakelen, wijzig ze indien nodig.
3. Sla daarna het codevenster op en sluit het. Nu krijgt u het volgende resultaat zoals u nodig hebt:
(1.) Als u gegevens invoert in kolom A, wordt knop 1 ingeschakeld en knop 2 uitgeschakeld, zie screenshot:
(2.) Als u gegevens invoert in kolom C, wordt knop 2 ingeschakeld en knop 1 uitgeschakeld, zie screenshot:
(3.) Beide kolom A en kolom C bevatten gegevens, beide knoppen zijn ingeschakeld, zie screenshot:
(4.) Beide knoppen zijn uitgeschakeld als er geen gegevens zijn in kolom A en kolom C, zie screenshot:
Een knop in- of uitschakelen op basis van waarden in twee cellen met VBA-code
Als u een opdrachtknop wilt in- of uitschakelen op basis van waarden in twee cellen, bijvoorbeeld wanneer de waarde in A1 groter is dan de waarde in B1, wordt de knop ingeschakeld, anders wordt de knop uitgeschakeld. De volgende VBA-code kan u ook helpen.
1. Klik met de rechtermuisknop op het werkblad dat de knop bevat en kies vervolgens Weergave Code uit het contextmenu. Kopieer en plak in het Microsoft Visual Basic for Applications-venster de onderstaande code in de lege module, zie screenshot:
VBA-code: Een knop in- of uitschakelen op basis van waarden in twee cellen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim TargetAdd As String
Dim xTemp As Double
On Error GoTo ExitSub
TargetAdd = Target.Address
CommandButton1.Enabled = False
If (TargetAdd = Range("A1").Address) Or (TargetAdd = Range("B1").Address) Then
If Range("A1") > Range("B1") Then
CommandButton1.Enabled = True
End If
End If
ExitSub:
End Sub
Opmerking: In de bovenstaande code zijn A1 en B1 de celwaarden die u gebruikt, CommanButton1 is de naam van de knop, wijzig ze naar uw eigen waarden.
2. Sla daarna het codevenster op en sluit het. Nu, als de celwaarde in A1 groter is dan B1, wordt de knop ingeschakeld, anders, als de celwaarde in A1 kleiner is dan B1, wordt de knop uitgeschakeld, zie screenshot:
Beste Office-productiviteitstools
Versterk je Excel-vaardigheden met Kutools voor Excel en ervaar ongeëvenaarde efficiëntie. Kutools voor Excel biedt meer dan300 geavanceerde functies om je productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die je het meest nodig hebt...
Office Tab brengt een tabbladinterface naar Office en maakt je werk veel eenvoudiger
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
- Verhoog je productiviteit met50% en bespaar dagelijks honderden muisklikken!