簡體   English   中英

使用VBA在excel中動態打開輸入框

[英]dynamically open a inputbox in excel with VBA

我有一個Excel表和特定區域。 例如,該區域可以是Range(“ A1:A5”)僅必須接受 0和1。當用戶輸入0(僅單擊按鈕或類似的按鈕)時,它必須自動打開Inputbox。 當然在那一刻。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address.Value = 0 Then 'open InputBox End If End Sub

有這個,但這行不通。

謝謝大家

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim valueEnter As Long, lastRow As Long
    Set rng = Range("A1:A5") 'specify your range here
    lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If Intersect(Target, rng) Is Nothing Or Target.Value <> 0 Then Exit Sub
    valueEnter = InputBox("Gebe die ein:", "Eingabe")
    If valueEnter >= 0 Then
        Range("B" & lastRow + 1) = valueEnter
    End If
End Sub

編輯:___________________________________________________________

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False
    Dim rng As Range
    Dim valueEnter As Variant, lastRow As Long
    Set rng = Range("A1:A5") 'specify your range here
    lastRow = Cells(Rows.Count, "B").End(xlUp).Row
    If Intersect(Target, rng) Is Nothing Or Target.Value <> 0 Then GoTo Jump
    valueEnter = InputBox("Gebe die ein:", "Eingabe", 1)
    If IsNumeric(valueEnter) Then
        If valueEnter > 0 Then
            Range("B" & lastRow + 1) = CInt(valueEnter)
            Target.Value = ""
        End If
    Else
        Target.Value = ""
    End If
Jump:
    Application.EnableEvents = True
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM