• ベストアンサー

エクセルのマクロの制限

エクセルで以下のようなタブとスペースを削除するマクロを実行したところ Sub Tab_Clear() Selection.Replace what:=" "+Chr(9), replacement:="" Selection.Replace what:=" ", replacement:="" End Sub 上のほうは削除されるのですが後のほうの行は削除されません、制限があるのでしょうか? また全行削除する方法はないでしょうか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

ここへ質問する前に、エクセルのシートで、置換操作をしてマクロの記録を採って、勉強して、わからない点に絞って質問のこと。 >制限があるのでしょうか? どういう方面の制限を言っているのか判らない。 >全行削除する方法はないでしょうか? これも全行指定して削除(編修ー削除)の操作をマクロの記録をとり、どういうコードになるか、その後繰り返すのか 削除する行の判別はどうするのか考えて、判らない点を質問すること。 質問者はVBAの初心者と思うが、マクロの記録で勉強すると言うことを知らないようなのは、大きな損です。 またWEBにはエクセルのほとんどの疑問点の回答やヒントが有る。 本でもマクロの本やWEBでも記事があふれている。 「VBA 行の削除」でGoogleで照会すること。 例 http://www.happy2-island.com/excelsmile/smile03/capter00513.shtml http://www.eurus.dti.ne.jp/~yoneyama/Excel/vba/vba_row_del.html

bigin888
質問者

お礼

先頭に@があるためにエラーで止まっているのが原因でした、ご迷惑をおかけしました。

その他の回答 (2)

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

特に制限ではなく対象範囲を選択してから実行すればOKです。 選択しないのであれば、以下のコードをお試しくだささい。 Sub Tab_Clear() Cells.Replace what:=" " + Chr(9), replacement:="" Cells.Replace what:=" ", replacement:="" End Sub 全行削除は、Rows.deleteで如何でしょうか。

bigin888
質問者

補足

特定の列のみ削除したいのです。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

2行目で置換対象になっているのは全角スペースのようですが、それは狙い通りですか?

bigin888
質問者

補足

半角スペースとタブが並ぶパターンと全角スペースを削除したいのですが 構文がおかしいでしょうか? これを実行すると10000~20000行くらいまでは削除されるのですが後は削除されません。

関連するQ&A