エクセルで行を非表示にするとアクティブなセル?行?がどこかわからなくなり、マクロでアクティブなセルを移動するときにエラーが出ます。
Sub example()
ActiveSheet.Range("D3").Select
Do Until ActiveCell = 23
If ActiveCell <> "" Then
ActiveCell.Offset(1, 0).Select
ElseIf ActiveCell <> "" Then
ActiveCell.Offset(1, -3).Select
ElseIf ActiveCell <> "" Then
ActiveCell.Offset(1, -6).Select
Else: ActiveCell.EntireRow.Select
Selection.EntireRow.Hidden = True
ActiveCell.Offset(0, -6).Select
End If
Loop
End Sub
一番下のActiveCell.Offset(0, -6).Select
にエラーが出るのですが、どうすればセルを移動できるでしょうか?
No.1ベストアンサー
- 回答日時:
うーん、どうしようとしているコードかわからないが、
エラーが出るのはわかる。
ActiveCell.Offset(0, -6).Select
で、
列位置を -6 できないからだ。
もともとActiveCellがD3だから列は4だ。
ActiveCell.Offset(0, -6).Select
にくるまでに、たぶん
ActiveCell.Offset(1, -3).Select
で、-3しているから
ActiveCell.Offset(0, -6).Selectにきたときは列は1だろう。
もうあとがない。
>どうすればセルを移動できるでしょうか?
移動はできないよ。
それから、こういう書き方もあるのかもしれないが、ちょっと変えたほうがいいんじゃないか。
if,elseifで、みんな同じ条件を取っている。ActiveCellは変わっていくとしてもね。
回答ありがとうございます
説明不足 申し訳ございませんでした
ご指摘の通り(0、-3)(0、-6)はあとがなくなっていました
またよく見直したら、全然だめなことに気がつきました。
Sub 非表示()
行 = 3
列 = 4
While Cells(行, 列 - 2) <> ""
If Cells(行, 列) = "" And Cells(行, 列 + 3) = "" And Cells(行, 列 + 6) = "" Then
Rows(行).EntireRow.Hidden = True
End If
行 = 行 + 1
Wend
End Sub
で解決しました
ありがとうございます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
- Visual Basic(VBA) vbaでセルに入力したときに,その横にあるセルを保護し入力不可にするマクロを作りたいです。 2 2022/04/24 20:59
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) いつもお世話になります 下記のコード実行すると エラーになります わかるかた教えてくれませんでしょう 6 2022/12/17 15:01
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
直近の5個の平均を求めたい
-
[EXCEL]ボタン押す→時刻が表に...
-
【Excel関数】UNIQUE関数で"0"...
-
アクティブになっている行をマ...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
【EXCEL】連続データの個数を抽...
-
エクセルで特定の文字列が入っ...
-
Excel 時刻の並び替え
-
エクセルのセルに指定画像(.jpg...
-
チェックボックスをクリックし...
-
セルの色によって条件文をつけ...
-
エクセル マクロ オートフィ...
-
エクセル2016で時間を入力して...
-
電話番号の入力方式が違うデー...
-
このような複雑な表をワードで...
-
エクセルで、ポインタのある行...
-
Excel マクロで特定のセルに入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報