エクセルで作成した表中に測定結果を集約し、管理しております。
測定を行った際に得られる数値を項目毎に対象列のセルへ集積しているのですが、
測定を行っていない項目のセルは空白となるため、空白セルを左詰めで一括削除したく望んでおります。
下記のようにマクロの記録を使用してコードを取得し、実行してみたのですが、エラーになってしまいます。
Private Sub CommandButton1_Click()
Sheets("A").Select
Range("B:AH").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlToLeft
Range("A1").Select
End Sub
対象範囲(列)はB列からAH列としておりますが、測定項目が増えると記載列も増えますので、
範囲を柔軟に変更出来るような方法で希望しております。
お手数ですがご教授いただけませんでしょうか?
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
提示されたコードでは、実行エラー(RangeクラスのSelectメソッドが失敗しました)に
なりますね。
Private Sub CommandButton1_Click()
Sheets("A").Range("B:AH").SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
とか?
>対象範囲(列)はB列からAH列としておりますが、測定項目が増えると記載列も増えますので、
>範囲を柔軟に変更出来るような方法で希望しております。
求める結果がわからなかったです。
希望通りの動作が得られました。
とても感謝しております。ありがとうございました。
>求める結果がわからなかったです。
大変申し訳ありませんでした。
Range("B:AH")の変更で対応することを望んでおりました。
No.4
- 回答日時:
意味が違ってるかも知れませんが…
先に処理したい範囲を選択しておいて、その範囲に対して同様の処理(左詰め)を行いたいのであれば、
Private Sub CommandButton1_Click()
Selection.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlToLeft
End Sub
みたいにすればよいのでは?
選択したものが、セル範囲でない場合はエラーになるので、最初にそのチェックを入れておいたほうがよいですけど。
違っていたら、無視してください。
ご回答いただいたコードの前部(Selection)を
Sheets("A").Range("B:AH") に変更して解決致しました。
ご教授いただき、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) ExcelVBAのマクロについて。 9 2022/05/04 14:50
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Excel(エクセル) エクセルのVBAにショートカットキーの割り当て 3 2022/07/13 14:19
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
エクセル 空白を除き左に詰めたいのですが・・・
Windows 8
-
EXCELのVBAで空白列を削除して左づめにできますか?
Access(アクセス)
-
VBA 空白セルを削除ではない方法で詰めるやり方
Visual Basic(VBA)
-
-
4
マクロで空白セルを詰めて別シートに転記
Visual Basic(VBA)
-
5
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
6
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
7
VBAで重複するデータがあれば1個だけ残して他の重複セルを"(空白)にしたいのですが
Excel(エクセル)
-
8
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
9
EXCELのマクロで条件に一致したセル範囲を削除する方法
Excel(エクセル)
-
10
エクセルの色も=イコールできますか?
Windows Me・NT・2000
-
11
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
-
12
エクセル関数 空白(関数あり)の列を削除し、左に詰めたい
Excel(エクセル)
-
13
空白セルをつめる。
Excel(エクセル)
-
14
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
15
あるセルの値を認識しないのですが、何が悪いのでしょうか?
Excel(エクセル)
-
16
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
17
ExcelのVBAのマクロで他のシートの複数項目をクリアする方法
Visual Basic(VBA)
-
18
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
19
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
20
Excel VBA A列が特定の値以外の場合、その行を削除
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
vba 2つの条件が一致したら...
-
Changeイベントでの複数セルの...
-
エクセル 2つの表の並べ替え
-
エクセルでフォームのチェック...
-
VBAを使って検索したセルをコピ...
-
【VBA】2つのシートの値を比較...
-
文字列の結合を空白行まで実行
-
VBAコンボボックスで選択した値...
-
マクロ 最終列をコピーして最終...
-
VBA 値と一致した行の一部の列...
-
URLのリンク切れをマクロを使っ...
-
Excelで、あるセルの値に応じて...
-
VBAでのリスト不一致抽出について
-
マクロについて。S列の途中から...
-
エクセルVBA intersect colu...
-
VBマクロ 色の付いたセルを...
-
VBAを用いて条件付きの平均値、...
-
データグリッドビューの一番最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
VBAのコードを教えてください
-
VBAを使って検索したセルをコピ...
-
B列の最終行までA列をオート...
-
エクセルvbaについて
-
vba 2つの条件が一致したら...
-
Excelで、あるセルの値に応じて...
-
VBA UserFormからの転記で
-
VBAのFind関数で結合セルを検索...
-
文字列の結合を空白行まで実行
-
IIF関数の使い方
-
VBA 何かしら文字が入っていたら
-
マクロ 最終列をコピーして最終...
-
Changeイベントでの複数セルの...
-
エクセルVBAにて =A1=B1とすれ...
-
【VBA】2つのシートの値を比較...
-
データグリッドビューの一番最...
-
VBマクロ 色の付いたセルを...
-
VBAで指定範囲内の空白セルを左...
おすすめ情報