Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12329 / 76734 ←次へ | 前へ→

【69931】Re:マクロエラー
発言  n  - 11/9/24(土) 20:43 -

引用なし
パスワード
   >提示コードの危うい場合とはどういった場合でしょうか?

>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()
..なので、そういう仕様で良いのだろうとは思いますが念のため。

6 hits

【69928】マクロエラー free 11/9/24(土) 17:53 質問
【69929】Re:マクロエラー n 11/9/24(土) 19:46 発言
【69930】Re:マクロエラー free 11/9/24(土) 20:20 お礼
【69931】Re:マクロエラー n 11/9/24(土) 20:43 発言
【69932】Re:マクロエラー free 11/9/24(土) 21:38 お礼

12329 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free