
どなたかお力をお貸しください。
A8からJ8で適当な長さの行の範囲にデータが入力されています。
F列ならば、確実にデータが入っているため、F列のデータが最後まで入力されている行を調べ、
A8からJのその列までの範囲のデータを消そうとし、下記VBAを記載したのですが、
「400」とだけ書かれたエラーメッセージが表示され、動きませんでした。。。
どのように記載すればいいのか教えて頂けないでしょうか?
Dim ClearRow
ClearRow = ActiveSheet.Range("F8").End(xlDown).Row
ActiveSheet.Range(Cells(1, 8), Cells(ClearRow, 10)).Clear
No.2ベストアンサー
- 回答日時:
こんにちは。
再現性は取れなかったけれども、いくつかの点を示しておきます。
エラーは、たぶん、物理的(実際には存在しないのに、あたかもあるかのように扱った)エラーなのだと思います。
>A8からJのその列までの範囲のデータを消そうとし、下記VBAを記載したのですが、
まず、そういう内容ならコードは少し違います。
このようなスタイルのコードは、主に標準モジュールに置くことになります。
また、オブジェクト(Range, Cells)の前に「.」(ピリオド)があることに注意してください。
'//
Sub Test1Clear()
Dim ClearRow As Long
With ActiveSheet
ClearRow = .Range("F8").End(xlDown).Row '*
If ClearRow = Rows.Count Then Exit Sub 'F列に何もない時中止
.Range("A8", .Cells(ClearRow, "J")).Clear 'A8~Jの末尾
End With
End Sub
*場合によっては、以下が使えます。
ClearRow = .Cells(Rows.Count, "F").End(xlUp).Row
If ClearRow < 8 Then Exit Sub 'F列に何もない時
ご回答ありがとうございます。
そして大変申し訳ございません。
>ActiveSheet.Range(Cells(1, 8), Cells(ClearRow, 10)).Clear
にて、最初のセルの指定が間違っておりました。
上記記載ですと”A8”ではなく”H1”になっていました。。。
”G1”~”O1”まで結合していたため、”H1”が指定できずにエラーになっていたようです。。。
ActiveSheet.Range(Cells(8, 1), Cells(ClearRow, 10)).Clear
と記載しなおしたところ無事実行できました。
お手数をおかけして申し訳ございません。
もっと基本的なところを確認するように致します。
ご回答頂いたお二方、本当にありがとうございました。

No.1
- 回答日時:
>「400」とだけ書かれたエラーメッセージ
たとえば現在の環境ではできないことを命令したときに表示されますが、
シートの保護とかかけてませんか?
ご回答ありがとうございます。
>現在の環境ではできないことを命令したときに表示されます
なるほど。そういうエラーなのですね。
シートの保護はかけていません。念のため、対象のシート全てを選択した後に、「シートの保護」→「シートの保護解除」をやってから試したのですが、結果は変わりませんでした。
また、一応マクロのセキュリティも「全て有効にする」になっていることは確認しました。
もし他に思いつくようでしたら、教えて頂けると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel2017 フィルタ昇順並びがA...
-
エクセルの行の削除について
-
【マクロ】並び替えの範囲が、...
-
複数回答のアンケート集計
-
エクセルの時刻のカウントが出...
-
エクセル VBA 行間隔を飛ばした...
-
値が更新されたときに実行され...
-
エクセルで行の高さ及び列幅の...
-
【Excel VBA】集計ボタンで行削除
-
エクセルで2つの郵便番号を比較...
-
EXCEL 最終行のデータを他のセ...
-
【マクロ】【画像あり】関数が...
-
エクセル関数のSUMPRODUCTにつ...
-
エクセル関数について
-
エクセルで、時間 0:00を表示...
-
エクセルで円グラフに引き出し...
-
エクセルの主軸と第2軸の0を合...
-
エクセルで文字を含む式に、カ...
-
【エクセル】オートフィルタで...
-
テキストデータのPDFをWordで開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel2017 フィルタ昇順並びがA...
-
【マクロ】【画像あり】関数が...
-
【マクロ】並び替えの範囲が、...
-
Excelで並び替え後にア行...
-
エクセルで行の高さ及び列幅の...
-
基準日以前のデータを範囲を指...
-
エクセル VBA 行間隔を飛ばした...
-
急ぎ!色のついたセルを非表示...
-
エクセル関数について
-
文字列を比較し、相違するフォ...
-
【Excel VBA】指定した行の最大...
-
EXCELで日付を比べ3か月以内の...
-
【Excel】数式の参照範囲を可変...
-
エクセルで2つの郵便番号を比較...
-
エクセルの時刻のカウントが出...
-
オートフィルタ後のデータから...
-
VBA 複数行の検索及び抽出
-
マクロで行の高さを設定したい
-
VBA 配列で型がエラーになります。
-
excel / ピポッド 日数を出したい
おすすめ情報