commandbutton blokkeren

Status
Niet open voor verdere reacties.

ASchuurhuis

Gebruiker
Lid geworden
18 aug 2011
Berichten
9
hallo allemaal
ik heb de volgende vraag
in een excel programma heb ik een vba gemaakt met een commandbutton, nu wil ik dat deze button geblokkeerd wordt als een bepaalde cel in de excel werkmap niet ingevuld is, kan iemand mij hierbij helpen?


groetjes
Albert
 
Bv. voor cel A1.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
 If Target.Address = "$A$1" Then
  If Not IsEmpty(Range("A1")) Then
    CommandButton1.Enabled = True
  Else
   CommandButton1.Enabled = False
  End If
 End If
End Sub
 
hartelijk dank voor de snelle reactie.
ik heb deze vba ingevoerd, maar werkt niet volledig, de buton is inderdaad geblokkeerd maar verder gebeurd er niets, misschien komt het doordad er een mgs box voor staat ??.
sorry voor mij onduidelijk heid, ik heb niet veel verstand van vba.

alvast bedankt
Albert
 
Ik weet van de msgbox niets af.

Zet je eigen code hier eens neer.
 
Code:
Private Sub CommandButton1_Click()

End Sub
Code:
Private Sub Activesheet_Change(ByVal Target As Range)
 If Target.Address = "$O$5" Then
  If Not IsEmpty(Range("O5")) Then
    CommandButton1.Enabled = True
  Else
   CommandButton1.Enabled = False
  End If
 End If
End Sub

Code:
    ' Macro1 Macro
' De macro is opgenomen op 25-8-2006 door Albert.
    Dim Msg, Style, Title, Response
    Msg = "Als u op Ja klikt, worden alle gegevens gekopieerd naar grote kluis, geprint en gewist." & vbCrLf & "Wilt u dat echt?"
    Style = vbYesNo + vbQuestion + vbDefaultButton2
    Title = "Gegevens printen en wissen?"
    Response = MsgBox(Msg, Style, Title)
    If Response = vbYes Then
    
    Sheets("grote kluis").Select
    ActiveSheet.Unprotect
    Sheets("kluis contr.").Select
    ActiveSheet.Unprotect
    Sheets("argief").Select
    ActiveSheet.Unprotect
    Sheets("KASSA LADE").Select
    ActiveSheet.Unprotect
    
    Range("C2:N2").Select
    Selection.Copy
    Sheets("argief").Select
    ActiveSheet.Range("A2:L2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        
    Sheets("argief").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown
    ActiveSheet.Range("A3:l3").Select
    Selection.Copy
    ActiveSheet.Range("A2:l2").Select
    ActiveSheet.Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False


    Sheets("grote kluis").Select
    ActiveSheet.Range("C4").Select
    Dim VrijeKolom
    VrijeKolom = 0
    Do While ActiveCell <> ""
        ActiveCell.Offset(0, 1).Select
        VrijeKolom = VrijeKolom + 1
        Loop
        
    If VrijeKolom > 0 Then
        ActiveSheet.Range("C4:C12").Select
        Selection.Resize(Selection.Rows.Count, Selection.Columns.Count + (VrijeKolom - 1)).Select
        Selection.Copy
        ActiveSheet.Range("D4").Select
        Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
        ActiveSheet.Range("C4:C12").Select
        Application.CutCopyMode = False
        Selection.ClearContents
    End If
    
    Sheets("KASSA LADE").Select
    Range("O5").Select
    Selection.Copy
    Sheets("grote kluis").Select
    ActiveSheet.Range("C4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    'Sheets("KASSA LADE 2").Select
    'Range("C5").Select
    'Selection.Copy
    'Datum wordt nu niet meer overgenomen naar bij het starten van de macro wordt "Vandaag" automatisch ingevuld
    Sheets("grote kluis").Select
    ActiveSheet.Range("C5").Value = FormatDateTime(Now, vbShortDate)
    'Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    '    :=False, Transpose:=False

    Sheets("KASSA LADE").Select
    Range("N34:N40").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("grote kluis").Select
    ActiveSheet.Range("C6:C12").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    Sheets("KASSA LADE").Select
    Range("F20").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("grote kluis").Select
    ActiveSheet.Range("C14").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
        

    

    
  
    
' wis_invoer Macro
' De macro is opgenomen op 24-5-2005 door albert schuurhuis.
    Sheets("kluis contr.").Select
    ActiveSheet.Range("g3").Select
    Selection.ClearContents
    ActiveSheet.Range("f6:f20").Select
    Selection.ClearContents
    ActiveSheet.Range("f22:f27").Select
    Selection.ClearContents
    ActiveSheet.Range("g3").Select
    
    
    Sheets("KASSA LADE").Select
    Range("c9:c19").Select
    Selection.ClearContents
    Range("c24:c26").Select
    Selection.ClearContents
    Range("c32:c49").Select
    Selection.ClearContents
    Range("e44:e49").Select
    Selection.ClearContents
    Range("h34:h41").Select
    Selection.ClearContents
    Range("h46:h48").Select
    Selection.ClearContents
    Range("N9:N28").Select
    Selection.ClearContents
    Range("k8:k27").Select
    Selection.ClearContents
    Range("o9:o28").Select
    Selection.ClearContents
    Range("n34:n40").Select
    Selection.ClearContents
    Range("o41").Select
    Selection.ClearContents
    Range("o49").Select
    Selection.ClearContents
    Range("c8").Select
    Selection.ClearContents
    Range("o5").Select
    Selection.ClearContents
    
    
    Sheets("grote kluis").Select
    ActiveSheet.Range("a1").Select
    ActiveSheet.Protect
    ActiveSheet.EnableSelection = xlUnlockedCells
    Sheets("argief").Select
    ActiveSheet.Protect
    ActiveSheet.EnableSelection = xlUnlockedCells
    Sheets("kluis contr.").Select
    ActiveSheet.Protect
    ActiveSheet.EnableSelection = xlUnlockedCells
    Sheets("KASSA LADE").Select
    ActiveSheet.Protect
    ActiveSheet.EnableSelection = xlUnlockedCells
    Range("c8").Select

    End If
    
    ActiveWindow.Close True

End Sub
 
Laatst bewerkt door een moderator:
Heb je mijn code in het moduleblad waar de commandbutton staat?

Maak a.u.b. gebruik van de codetags (selecteren van je tekst en # drukken).
 
moets weer even werken, weet niet wat je bedoeld, de command buttob is geblokkeerd, vul ik in excel de cel in met een getal dan blijft de commandbutton geblokkeerd.
 
In welk blad staat de CommandButton?
Als dit blad1 is, open dan met ALT+F11 de VB editor.
Zoek links naar het juiste blad → dubbelklik daarop, en plak de code in het grote wiite gedeelte.
 
Hallo Harry
ik heb het voor elkaar, je code moest voor de code van de Commandobutton staan.
nog wel een vraagje, is het mogelijk dat ik de code If Not IsEmpty aan pas naar "als O5 =1 Then" ??
wat moet dan de code zijn??

groetjes
Albert
 
Code:
if range("O5") = 1 then
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan