Excel VBA質問箱 IV

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

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


8659 / 13644 ツリー ←次へ | 前へ→

【31992】消去の簡易なコードの表現について Hirok 05/12/3(土) 22:20 質問[未読]
【31994】Re:消去の簡易なコードの表現について かみちゃん 05/12/3(土) 22:43 回答[未読]
【31995】Re:消去の簡易なコードの表現について Hirok 05/12/3(土) 23:00 質問[未読]
【31996】Re:消去の簡易なコードの表現について とまと 05/12/3(土) 23:21 回答[未読]
【31998】Re:消去の簡易なコードの表現について とまと 05/12/4(日) 9:10 回答[未読]
【31999】Re:消去の簡易なコードの表現について かみちゃん 05/12/4(日) 9:30 回答[未読]
【32000】Re:消去の簡易なコードの表現について Hirok 05/12/4(日) 9:59 お礼[未読]

【31992】消去の簡易なコードの表現について
質問  Hirok  - 05/12/3(土) 22:20 -

引用なし
パスワード
   項目行が5行目にあります。
A5からA10が項目行です。
それ以降はデータが入っています。
項目行を残し、データ部分(行は変動します)を全て消去したいのですが
Range("A6:A10").Select
 Range(Selection, Selection.End(xlDown)).ClearContents
のコードをもっとシンプルに書く事ができるのでしょうか。
もし簡易なコードがあれば教えてください。

【31994】Re:消去の簡易なコードの表現について
回答  かみちゃん  - 05/12/3(土) 22:43 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>項目行を残し、データ部分(行は変動します)を全て消去したいのですが
>Range("A6:A10").Select
> Range(Selection, Selection.End(xlDown)).ClearContents
>のコードをもっとシンプルに書く事ができるのでしょうか。

Range("A6", Range("A65536").End(xlUp)).ClearContents
の一行だけでできます。

【31995】Re:消去の簡易なコードの表現について
質問  Hirok  - 05/12/3(土) 23:00 -

引用なし
パスワード
   ▼かみちゃん さん:
今晩は。早速ご解答ありがとうございます。
質問が間違っていました。失礼しました。

質問は次の通りです。
項目行が5行目にあります。
A5からD5が項目行です。
~~~~~~~~~~~~~~~~~~~~
それ以降はデータが入っています。
項目行を残し、データ部分(行は変動します)を全て消去したいのですが
Range("A6:D6").Select
 Range(Selection, Selection.End(xlDown)).ClearContents
のコードをもっとシンプルに書く事ができるのでしょうか。
もし簡易なコードがあれば教えてください。

【31996】Re:消去の簡易なコードの表現について
回答  とまと  - 05/12/3(土) 23:21 -

引用なし
パスワード
   ▼Hirok さん:


Range("A6:D65536").ClearContents

一番下まで消してしまえばよいかも。

【31998】Re:消去の簡易なコードの表現について
回答  とまと  - 05/12/4(日) 9:10 -

引用なし
パスワード
   >▼Hirok さん:

あと,offsetつかってみるとか

Range("A6", Range("A65536").End(xlUp).offset(,3)).ClearContents

【31999】Re:消去の簡易なコードの表現について
回答  かみちゃん  - 05/12/4(日) 9:30 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>項目行を残し、データ部分(行は変動します)を全て消去したい

A6を開始位置として、A列の値が入っている最終行までのA列〜D列の値をクリアしたいということであれば、以下のような感じでできます。
 Range("A6", Range("A65536").End(xlUp)).Resize(, 4).ClearContents

ただし、A列の値が入っている最終行よりも下にB列〜D列に値がある場合は、それらの値は、クリアされません。
また、Offset(,3)などでは、D列しかクリアしませんので、使えません。

【32000】Re:消去の簡易なコードの表現について
お礼  Hirok  - 05/12/4(日) 9:59 -

引用なし
パスワード
   ▼かみちゃん さん とまと さん:

ありがとうございました。
offsetやresizeの使い方を有効に利用する事が
理解できました。
これからも宜しくお願いします。

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