![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
エクセルのマクロを組んでいて、なぜか実行すると意図しない文字が消えてしまいます
至急解消したいので、どうぞよろしくお願いします
N8から、数値が一列に並んでいて、「0」を消して行くという目的です
下記のような組み方をしています
すると、P列1行目からAF列まで入っていた文字が消えてしまいます
これを解消する方法を教えて下さい
'0を消す
Const intCriteria As Integer = 0
With Cells(8, 14).CurrentRegion
On Error GoTo errhandler
.AutoFilter Field:=14, Criteria1:=intCriteria
.Offset(1).Resize(.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
ActiveSheet.AutoFilterMode = False
Exit Sub
errhandler:
ActiveSheet.AutoFilterMode = False
MsgBox intCriteria & "はありません。"
No.2ベストアンサー
- 回答日時:
こんばんは。
>なぜか実行すると意図しない文字が消えてしまいます
With Cells(8, 14).CurrentRegion
この部分が問題です。
おそらく、セルが続いているからなのですが、CurrentRegion ではなく、8行目を左端にするように決めてください。CurrentRegion では曖昧です。
本来は、CurrentRegion のままでもできるのですが、回答者側では、レイアウトが分かりませんので、CurrentRegion のままで、コードを書くことはできません。
少し手直ししてみました。
'--------------------------------------
Sub Test1()
Const intCRITERIA As Integer = 0
On Error GoTo ErrHandler
'念のため
If ActiveSheet.AutoFilterMode = True Then
ActiveSheet.AutoFilterMode = False
End If
With Range("N8", Range("N65536").End(xlUp).Offset(, 18)) '右は決めてください。現在は、AFまで
.AutoFilter Field:=14, Criteria1:=intCRITERIA
.Offset(1).Resize(.Rows.Count - 1). _
SpecialCells(xlCellTypeVisible).EntireRow.Delete
End With
ActiveSheet.AutoFilterMode = False
Exit Sub
ErrHandler:
ActiveSheet.AutoFilterMode = False
MsgBox intCRITERIA & "はありません。"
End Sub
No.1
- 回答日時:
>、「0」を消して行くという目的です
下のコードを見るとN列のセルの値で0の行を削除するではないか。表現は正確に。
ーー
難しいフィルタたやxlCellTypeVisible
を使っているから勘違いが起こっているのでは。
参考
私は削除をやるときはForNextを使い、下行からやっている。上からやると大変。
簡単に
Sub test01()
d = Range("N65536").End(xlUp).Row
MsgBox d
For i = d To 1 Step -1
If Cells(i, "N") = 0 Then Cells(i, "N").EntireRow.Delete
Next
End Sub
で出来るが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Visual Basic(VBA) Sheet1をフィルターで「りんご」を抽出し、Sheet2へ地域を貼り付ける下記マクロを変更して S 2 2022/12/11 03:01
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/01/11 08:33
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) 【至急】Excel 同一人物の情報を一行にまとめる(複数行) 6 2022/05/24 17:58
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
エクセルvbaで転記したのですが、数字のゼロが消えてしまいます。 ゼロも転記するためにはどうしたらい
Excel(エクセル)
-
VBA 数式を残して値をクリアについて
Excel(エクセル)
-
-
4
マクロ実行時、ユーザーフォームにラベルのテキストが表示されません。
Access(アクセス)
-
5
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
6
VBAで、セル(Range)のオブジェクトが取得できない
Excel(エクセル)
-
7
エクセルVBAのエディターが上書きモード?に・・・・。
Excel(エクセル)
-
8
Excelの条件付き書式設定の太い罫線
Excel(エクセル)
-
9
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
10
Excel マクロ VBA プロシージャが大きすぎます のエラー対処方法
Visual Basic(VBA)
-
11
VBA たまに変数がempty値になるエラー
Excel(エクセル)
-
12
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
13
EXCEL VBAで、セルの文字列の前後に文字を入力する方法は?
その他(Microsoft Office)
-
14
エクセル VBA -"ハイフンの削除"
Excel(エクセル)
-
15
他のシートの特定のセルが変わると、自動実行されるマクロについて
Excel(エクセル)
-
16
Excelに埋め込んだVBAのプログラムが消えた。
その他(Microsoft Office)
-
17
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセル マクロ オートフィ...
-
excelのデータで色つき行の抽出...
-
エクセル 上下で列幅を変えるには
-
Excel グラフのプロットからデ...
-
特定の文字がある行以外を削除...
-
【Excel関数】UNIQUE関数で"0"...
-
VBAで色の付いているセルの行削除
-
結合されたセルをプルダウンの...
-
エクセルVBA:リストに登録した...
-
EXCELマクロを使い、空白行では...
-
エクセルVBA 最終行を選んで並...
-
罫線の斜線を自動で引くマクロ
-
サイズの違うセル 並べ変え
-
セルの色によって条件文をつけ...
-
連続データが入った行の一番右...
-
EXCELでセルの数値をすべて小数...
-
AのセルとB行を比較して、一致...
-
エクセルで昨日までの日付デー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル マクロ オートフィ...
-
エクセルで特定の文字列が入っ...
-
[EXCEL]ボタン押す→時刻が表に...
-
【Excel関数】UNIQUE関数で"0"...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
excelのデータで色つき行の抽出...
-
AのセルとB行を比較して、一致...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
エクセル 上下で列幅を変えるには
-
VBAで色の付いているセルの行削除
-
excel 小さすぎて見えないセル...
-
A1に入力された文字列と同じ文...
-
罫線の斜線を自動で引くマクロ
-
アクティブになっている行をマ...
-
エクセル2016で時間を入力して...
-
EXCELマクロを使い、空白行では...
-
エクセルマクロで偶数行(又は...
-
セルの色によって条件文をつけ...
おすすめ情報