返回列表 上一主題 發帖

[發問] inputbox 出現型態不符合

回復 1# wei9133


Dim x As String '文字型態
x = InputBox("第" & Row & "行" & "勝場:" & 勝場數 & "場" & vbCrLf & "是否勝利並加鍵入的數量上去", "確認窗口", 1)
'回傳的值,1=確定 2=取消 3=異常終止 4=重試 5=略過 6=是 7=否
If Val(x) > 0 Then '將文字轉為數值
   Range("by" & Row) = 勝場數 + x
ElseIf x = "" Then
   MsgBox "已取消操作"
End If

TOP

回復 3# wei9133

InputBox 按取消後, 是個空字符""
所以 Dim x As Integer 必然發生錯誤, 因為x="", 不是數值

TOP

本帖最後由 准提部林 於 2020-1-4 10:57 編輯

回復 3# wei9133

Sub ttst()
Dim x
x = Application.InputBox("第" & Row & "行" & "勝場:" & 勝場數 & "場" & vbCrLf & "是否勝利並加鍵入的數量上去", "確認窗口", 1)
If x & "" = "False" Then
   MsgBox "已取消操作"   '按取消時(注意:輸入0按確定, x也會被定為0=False, 所以要加"", 變成文字與0做區別)  
ElseIf x = "" Then
   MsgBox "未輸入內容"
ElseIf IsNumeric(x) = False Then
    MsgBox "輸入的非數值"
Else
    Range("by" & Row) = 勝場數 + x
End If
End Sub

TOP

        靜思自在 : 有願放在心裡,沒有身體力行,正如耕田不播種,皆是空過因緣。
返回列表 上一主題