• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで空白セルを削除する方法)

エクセルVBAで空白セルを削除する方法

このQ&Aのポイント
  • エクセルVBAで空白セルを削除する方法を教えてください。
  • エクセルのA列に空白セルがある場合に、セルを削除するマクロを作成しましたが、空白セルがない場合にエラーが出てしまいます。空白セルが無い場合にエラーが出ない方法を教えてください。
  • エクセルのA列に空白セルがある場合に、セルを削除する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.2

「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)
回答No.5

すいません。余計なものが入っていました。 On Error GoTo LINE  (1) LINE:  (2) です。

  • mar00
  • ベストアンサー率36% (158/430)
回答No.4

>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)
回答No.3

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)
回答No.1

空白セルの有無を事前に計算して,分岐しましょう。 if application.worksheetfunction.countblank(activesheet.usedrange.columns("A:A")) = 0 then exit sub