Hoe knop in- of uitschakelen op basis van celwaarde in Excel?
In dit artikel zal ik het hebben over enkele methoden om de knop in of uit te schakelen op basis van de celwaarde in het Excel-werkblad.
Schakel twee knoppen in of uit op basis van twee kolomgegevens met VBA-code
Schakel een knop in of uit op basis van twee celwaarden met VBA-code
Schakel twee knoppen in of uit op basis van twee kolomgegevens met VBA-code
Ik heb bijvoorbeeld twee opdrachtknoppen in een werkblad. Als kolom A gegevens bevat, is knop1 ingeschakeld en knop 2 uitgeschakeld; als kolom C gegevens bevat, is knop 2 ingeschakeld en is knop 1 uitgeschakeld. Om deze taak op te lossen, kan de volgende VBA-code u helpen.
1. Klik met de rechtermuisknop op het blad met de knoppen en kies Bekijk code zie screenshot vanuit het contextmenu:
2. In de Microsoft Visual Basic voor toepassingen venster, kopieer en plak de onderstaande code in de lege module:
VBA-code: schakel twee knoppen in of uit 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
Note: In de bovenstaande code, CommandoKnop1 en CommandoKnop2 zijn 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 deze naar wens.
3. Sla vervolgens het codevenster op en sluit het. Nu krijgt u het volgende resultaat als u dat nodig heeft:
(1.) Als u gegevens in kolom A typt, is knop 1 ingeschakeld en knop 2 uitgeschakeld, zie screenshot:
(2.) Als u gegevens in kolom C typt, is knop 2 ingeschakeld en knop 1 uitgeschakeld, zie screenshot:
(3.) Zowel kolom A als kolom C hebben gegevens, twee knoppen zijn allemaal ingeschakeld, zie screenshot:
(4.) Twee knoppen zijn allemaal uitgeschakeld als er geen gegevens zijn in kolom A en kolom C, zie screenshot:
Schakel een knop in of uit op basis van twee celwaarden met VBA-code
Als u een opdrachtknop wilt in- of uitschakelen op basis van twee celwaarden, bijvoorbeeld wanneer de waarde in A1 groter is dan de waarde in B1, is de knop ingeschakeld, anders is de knop uitgeschakeld. De volgende VBA-code kan u ook een plezier doen.
1. Klik met de rechtermuisknop op het blad dat de knop bevat en kies vervolgens Bekijk code vanuit het contextmenu, in het Microsoft Visual Basic voor toepassingen venster, kopieer en plak de onderstaande code in de lege module, zie screenshot:
VBA-code: schakel een knop in of uit op basis van twee celwaarden:
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
Note: In de bovenstaande code, A1 en B1 zijn de celwaarden die u gebruikt, Commandoknop1 is de knopnaam, verander deze in uw eigen naam.
2. Sla vervolgens het codevenster op en sluit het. Als de celwaarde in A1 groter is dan B1, is de knop ingeschakeld, anders is de knop uitgeschakeld als de celwaarde in A1 kleiner is dan B1, zie screenshot:
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!