[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空白行を詰めて最終行を削除』(マクロ初心者)
A1からB10までに空白があれば行を詰めて最終行を削除するマクロですが
空白がない場合は何もしないとしたいのですが実行時エラー1004となるのを回避したいです。
皆様のお知恵をお借りしたいと思います。宜しくお願いします。
Sub 空白行詰め()
Range("A1:B10").Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.EntireRow.Delete Selection.End(xlDown).EntireRow.Delete Shift:=xlUp End Sub
< 使用 Excel:Excel2016、使用 OS:Windows8 >
>空白があれば行を詰めて
こっちはわかりますが、
>最終行を削除する
これはできていますか?
削除されないときがありませんか。
(マナ) 2019/03/09(土) 22:12
1) -A- -B- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 9 9 10 10 10
2) -A- -B- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 9 9 10 10
3) -A- -B- 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 7 7 8 8 9 10
(マナ) 2019/03/09(土) 22:53
1)の場合は10行目
2)3)の場合は5行目です。宜しくお願いします。 (マクロ初心者) 2019/03/09(土) 23:52
>空白がない場合は何もしないとしたい
空白がある場合にのみ実行するという風に考えると
空白でないセルの数や空白セルの数を調べて
If WorksheetFunction.CountA(Selection) < Selection.Count Then
とか
If WorksheetFunction.CountBlank(Selection) > 0 Then
と表現できます。
2)次に、最終行を削除する件
今回は、End(xlDown)ではなく、End(xlUP)を使うとよいです、
使い方は調べてみてください。
(マナ) 2019/03/10(日) 09:42
(マクロ初心者) 2019/03/10(日) 21:46
あと、提示の部分以外にも何か入力はされているのでしょうか?
(まっつわん) 2019/03/11(月) 00:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.