• 締切済み

どなたか教えてください。

Public myop As Integer 'オプション選択保持用 Private Sub CommandButton1_Click() Dim row As Integer Dim mykey As String '比較キー '選択したオプションボタンにより '比較キーと選択保持用変数に各値を代入 Select Case True Case OptionButton3: mykey = ("A2:A11"): myop = 1 Case OptionButton4: mykey = ("B2:B11"): myop = 2 Case OptionButton5: mykey = ("C2:C11"): myop = 3 Case OptionButton6: mykey = ("D2:D11"): myop = 4 Case Else: myop = 0 End Select If myop = 0 Then Exit Sub For row = 1 To 65535 If ActiveSheet.Cells(1, row).Value Like mykey Then ActiveSheet.Cells(1, row) = "#####" End If Next row End Sub で、For row = 1 To 65535でエラーがでます。 どうしてなのでしょうか・・・?

みんなの回答

回答No.1

「オーバーフローしました」ってエラーが出ていませんか? Integerは -32768 ~ 32767 の範囲の数値しか扱えません。 0 ~ 65535 を扱うならば Long型の変数を使ってください。 (VBAのIntegerの話。VB.NETではない。) >Dim row As Integer Dim row As Long