- ベストアンサー
エクセルVBAで空白セルを削除する方法
- エクセルVBAで空白セルを削除する方法を教えてください。
- エクセルのA列に空白セルがある場合に、セルを削除するマクロを作成しましたが、空白セルがない場合にエラーが出てしまいます。空白セルが無い場合にエラーが出ない方法を教えてください。
- エクセルのA列に空白セルがある場合に、セルを削除する方法について教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「A列に空白セルがある場合にそのセルを削除し、 空白セルが無い場合何もしないと言うマクロ」 というが、なにか余計なことをしている。 Sub Macro1() maxrow = Cells(Rows.Count, 1).End(xlUp).Row For i = maxrow To 1 Step -1 If Range("A" & i).Value = "" Then Range("A" & i).Delete Shift:=xlUp End If Next End Sub のようなことをしたいのかな?
その他の回答 (4)
- mar00
- ベストアンサー率36% (158/430)
すいません。余計なものが入っていました。 On Error GoTo LINE (1) LINE: (2) です。
- mar00
- ベストアンサー率36% (158/430)
>A列に空白セルがない場合はエラーが出てしまいます。 Selection.SpecialCells(xlCellTypeBlanks).Selectの ところでエラーが出ると思います。 違っていたら無視して下さい。 Sub Macro1() Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False On Error GoTo LINE: (1) Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Delete Shift:=xlUp LINE:: (2) End Sub (1)、(2)を追加すれば、エラーが出た時に(1)から(2)に処理がとびます。 Application.CutCopyMode = Falseの位置をずらしています。
- imogasi
- ベストアンサー率27% (4737/17069)
Sub Macro1() d = Range("a65536").End(xlUp).Row Range("A2:A" & d).Select On Error GoTo err Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Delete Shift:=xlUp Exit Sub err: MsgBox "空白セルなし" End Sub --- Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False の部分は、この質問の場合意味不明だが。何か省いたのか?
- keithin
- ベストアンサー率66% (5278/7941)
空白セルの有無を事前に計算して,分岐しましょう。 if application.worksheetfunction.countblank(activesheet.usedrange.columns("A:A")) = 0 then exit sub