|
>提示コードの危うい場合とはどういった場合でしょうか?
>Dim rc As Long
rcをLong型(長整数型)で宣言しています。
>rc = InputBox("列を入力して下さい。")
ここで数字以外の文字を入れるとエラーです。
Cancelの場合もエラーです。
仮に数値を入れたとしても
rc < 1
や
rc > Columns.Count
の場合、
>If Cells(i, rc) = "" Then
ここでエラーになります。
>If Cells(i, rc) = "" Then
> Rows(i).Delete
>End If
CellsとRowsの親が指定されていません。
通常はActiveSheetを指定したと見做されますが
そのコードがシートモジュールに書いてある場合は
シートモジュールがあるシートのCells、Rowsを指定したと見做されます。
Rangeオブジェクトについては特に、
その親オブジェクト(シート)を省略しない書き方を心がけたほうが良いと思います。
>For i = MaxRow To 1 Step -1
>:
> Rows(i).Delete
>usedrangeが1行目からない場合は理解しております。
UsedRangeが1行目からない場合でも1行目までLoopします。
UsedRangeではないので当然、未入力だから削除されます。
>Private Sub 指定列がのセルに空白があったら行削除_Click()
..なので、そういう仕様で良いのだろうとは思いますが念のため。
|
|