dポイントプレゼントキャンペーン実施中!

テキストボックス3に数値を入力し
ExcelのA列にあるか検索をかける。
ある場合は、B列の同じ行に
「みーつけた!」と入力。

その設定で組んでみたのですが、
テキストボックス3にデータを6桁入力しようとすると
6桁目にオーバーフローエラーが出ます。

このプログラムの何処がおかしいのでしょうか?


Private Sub TextBox3_Change()
Dim Number As Integer
If TextBox3.Value <> "" Then '空じゃない場合
Number = TextBox3.Value
Call 検索(Number)
MsgBox TextBox3.Value
End If
End Sub


Sub 検索(ByVal Number As Variant)
Dim FoundCell As Range
Set FoundCell = Range("A:A").Cells.Find(What:=Number, lookat:=xlPart)
If FoundCell Is Nothing Then
Else
FoundCell.Activate
Range("O" & ActiveCell.Row).Value = "みーつけた!"
End If
End Sub

A 回答 (1件)

TextBox3_Change内で、Numberという変数をIntegerで宣言していますが、


Integerは-32,768 ~ 32,767の範囲の数字しか扱えません。
なので、この範囲外の数字を代入しようとするとオーバーフローエラーが発生します。

以下のページなどを参考にして、適切な型を使用してください。
http://excelvba.pc-users.net/fol5/5_2.html
    • good
    • 0
この回答へのお礼

回答ありがとうございました!
直して上手く動くか、確認します。
ありがとうございました!

お礼日時:2013/10/30 16:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!