Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2988 / 13644 ツリー ←次へ | 前へ→

【64889】余分なスペースを一括削除 まい 10/3/25(木) 10:43 質問[未読]
【64890】Re:余分なスペースを一括削除 kei 10/3/25(木) 11:53 回答[未読]
【64892】Re:余分なスペースを一括削除 まい 10/3/25(木) 13:23 お礼[未読]
【64904】Re:余分なスペースを一括削除 kanabun 10/3/25(木) 23:18 発言[未読]

【64889】余分なスペースを一括削除
質問  まい  - 10/3/25(木) 10:43 -

引用なし
パスワード
   シート上に余分なスペースが入っていたり入ってなかったりしています

それを一括で削除する方法はないでしょうか?

今は下記のようにコードを記述してますが、
データが多い為、処理時間がかかってしまっています
もっと、処理を高速化する方法がありましたら、教えていただきたいです
よろしくお願いします

Dim MyRng As Range

For Each MyRng In Worksheets("sheet1").UsedRange
  MyRng = Trim(MyRng)
Next

【64890】Re:余分なスペースを一括削除
回答  kei  - 10/3/25(木) 11:53 -

引用なし
パスワード
   ▼まい さん、こんにちわ。。

 置換でどうでしょうか?

Sub スペース削除()
  With Worksheets("sheet1").UsedRange
    .Replace What:=" ", Replacement:="", LookAt:=xlPart
    .Replace What:=" ", Replacement:="", LookAt:=xlPart
  End With
End Sub

【64892】Re:余分なスペースを一括削除
お礼  まい  - 10/3/25(木) 13:23 -

引用なし
パスワード
   ▼kei さん:

置換えですね

ありがとうございました

処理が断然速くなりました

【64904】Re:余分なスペースを一括削除
発言  kanabun  - 10/3/25(木) 23:18 -

引用なし
パスワード
   ▼まい さん:
こんにちは。

>For Each MyRng In Worksheets("sheet1").UsedRange
>  MyRng = Trim(MyRng)
>Next

VBA の Trim関数は1セルづつループしていくしかないけれど、
よく似たワークシート関数の TRIMをApplicationオブジェクト
のメソッドとして使うと、ループしなくてすみます。

 With Worksheets("sheet1").UsedRange
   .Value = Application.Trim(.Cells)
 End With

ただ、両Trim関数は まったく同じではないですけど。

2988 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free