電子書籍の厳選無料作品が豊富!

インプットボックスのキャンセルを押したときに「型が一致しません」というエラーがでてしまいます。いろいろ調べてみてはいるのですが分かりません。教えて下さい。
Sub 指定した行数を挿入()
Dim TopRow As Integer, CntRow As Integer, InstRows As Integer
Dim i As Integer, ii As Integer, n As Integer
Sheets("Sheet1").Select
Rows("7:7").Select
TopRow = ActiveCell.Row
CntRow = Selection.Rows.Count
n = InputBox("行数を入力して下さい。", "指定した行の挿入")
If n = "" Then
Exit sub
End if
InstRows = n
For i = 1 To CntRow
Rows(TopRow + (i - 1) * (InstRows + 1)).Select
For ii = 2 To InstRows
Selection.EntireRow.Insert
Next ii
Next i
End Sub

A 回答 (2件)

InputBoxメソッドならFalseを返すのでnをValiant型で宣言して、



Dim n As Variant

n = Application.InputBox("行数を入力して下さい。", "指定した行の挿入")
If n = False Then Exit Sub

とかをよく使います。
ご参考程度に。
    • good
    • 1
この回答へのお礼

お礼遅くなり申し訳ありません。
ありがとうございました。

お礼日時:2010/10/04 13:49

Dim n As Integer


If n = "" Then

これが、エラーの原因です。

Dim n as String

InstRows = Val(n)
とすれば、とりあえず動くと思います。
    • good
    • 0
この回答へのお礼

お礼遅くなり申し訳ありません。
ありがとうございました。

お礼日時:2010/10/04 13:49

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