[英]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.