こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel VBA テキストボックスを検索

テキストボックス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

投稿日時 - 2013-10-29 14:56:31

QNo.8325672

すぐに回答ほしいです

質問者が選んだベストアンサー

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

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

投稿日時 - 2013-10-29 15:17:12

お礼

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

投稿日時 - 2013-10-30 16:19:09

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問