[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBAで セルの範囲指定(変数)をして削除』(nana san)
1行目がタイトル行で、AからG列まで入力されたデータがあります。
データは変数とし、E2から最終行(数値が入力されたセル)まで範囲を指定し
削除し左側へシフトしたいのですが、以下のマクロ構文だと他のsheet上で
マクロを実行すると「実行時エラー1004 RangeクラスのSelectメソッドが失敗しました」
とメッセージが表示されます。
対処方法を教えてください。よろしくお願いします。
Sheets("data2").Range("E2:E65536").Select
Application.CutCopyMode = False Selection.Delete Shift:=xlToLeft
<データ>
A B C D E F F 1 No. data1 data2 data3 data4 data5 data6 ← タイトル 2 234 23.4 22 34 12 25 21 ← 数値データ(以下同様) : : :
< 使用 Excel:Excel2003、使用 OS:Windows7 >
参考HPです。
Office TANAKA - VBA高速化テクニック(Selectするな!) http://officetanaka.net/excel/vba/speed/s2.htm (カリーニン) 2014/05/06(火) 18:09
そのまま書くとこんな感じです。
Sheets("data2").Select Range("E2:E65536").Select Selection.Delete Shift:=xlToLeft
要約するとこういうことになります。
Sheets("data2").Range("E2:E65536").Delete Shift:=xlToLeft
または
Sheets("data2").Range("E2:E" & Cells.Rows.Count).Delete Shift:=xlToLeft
(カリーニン) 2014/05/06(火) 18:17
ちょっと質問の意図を読み間違えていました。
Sheets("data2").Range(Sheets("data2").Range("E2") ,Sheets("data2").Range("E2").End(XlDown)).Delete Shift:=xlToLeft
場合によっては
Sheets("data2").Range(Sheets("data2").Range("E2") ,Sheets("data2").Range("E" & Cells.Rows.Count).End(XlUp)).Delete Shift:=xlToLeft (カリーニン) 2014/05/06(火) 18:24
Range("E2:E65536").Select Selection.Delete Shift:=xlToLeft
でうまくいきましたが、最新の
Sheets("data2").Range(Sheets("data2").Range("E2") ,Sheets("data2").Range("E2").End(XlDown)).Delete Shift:=xlToLeft
等はうまくいきませんでした。 なぜかは不明です。
うまくいったほうを使って利用させていただきます。ありがとうございました。
(nana san) 2014/05/07(水) 09:45
>Sheets("data2").Range(Sheets("data2").Range("E2") ,Sheets("data2").Range("E2").End(XlDown)).Delete Shift:=xlToLeft
こちらは E2が選択されている状態で Shift+Ctrl+↓ で選択される範囲が削除対象になります。
>Sheets("data2").Range(Sheets("data2").Range("E2") ,Sheets("data2").Range("E" & Cells.Rows.Count).End(XlUp)).Delete Shift:=xlToLeft
こちらは E2から最終行(バージョンによって最終行の行数が違ってきます)を選択している状態でCtrl+↑ で選択される範囲が削除対象になります。
E2にデータが入っているか、途中に空白行があるかないか、で選択されるセルが違ってきますので使い分ける必要があります。 (カリーニン) 2014/05/07(水) 10:08
(nana san) 2014/05/07(水) 17:14
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.