為什麼這篇vba判斷是否為整數鄉民發文收入到精華區:因為在vba判斷是否為整數這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者u19901006 (U)看板Visual_Basic標題[VBA ] 求救 關於連續加法的程...
老師雖然只要求我們寫出1加到n即可 但我想試試更好的版本
結果就出問題了 請板上先進指點一下迷津:)
這個程式主要是可以指定由A連加到B 另外當輸入值非整數時可以拒絕運作
程式碼不長 如下:
Option Explicit
Sub 連續加法() '為該程式命名
Dim A, B, i, ans As Integer
MsgBox ("這是一個簡單的小程式,只要輸入A、B兩數,
就能自動算出由A連續加到B的答案喔!")
ans = 0
Do While ans = 0
A = InputBox("請輸入A") '要求使用者輸入變數n
If Fix(A) - A = 0 Then
B = InputBox("請輸入B") '要求使用者輸入變數n
If B - Fix(B) = 0 Then
ans = (A + B)*(B-A+1)/2
Else: MsgBox ("要輸入整數才行!請重新輸入!")
End If
Else: MsgBox ("要輸入整數才行!請重新輸入!")
End If
Loop
MsgBox ("由" & A & "加到" & B & "的答案為" & ans) '顯示答案
End Sub
問題在於計算答案的部份 原本的(A+B)*(B-A+1)/2 在最初是可以使用的
可是加了Do Loop、If 之後卻算不出來了
後來發現是(A+B)出了問題 當A=1 B=10
出來的數不是11 而是110
它好像把數字當成字串一樣加在一起 為什麼會這樣?
我想了好久也想不通= = 還請高手指點
P.S:判斷輸入值是否為整數的地方 是否有更好的作法?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.240.122
感謝您~~我這就去試試
另外用variant會對數字運算造成什麼影響嗎?
還有isnumeric()不是只能判斷是否為數值嗎? 它可以用來分整數跟小數嗎?
※ 編輯: u19901006 來自: 140.112.240.122 (04/09 23:41)