Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
スペース除去に時間がかかる
投稿日時: 20/03/12 14:08:27
投稿者: vaioyuki

いつもお世話になっております。
 
現在スペースを除去するのに非常に時間がかかるので困っております。
 

    For i = 3 To r_cntR
        .Cells(i, 11) = RTrim(.Cells(i, 11))
        .Cells(i, 13) = RTrim(.Cells(i, 13))
        .Cells(i, 15) = RTrim(.Cells(i, 15))
        .Cells(i, 17) = RTrim(.Cells(i, 17))
        .Cells(i, 19) = RTrim(.Cells(i, 19))
        .Cells(i, 24) = RTrim(.Cells(i, 24))
        .Cells(i, 26) = RTrim(.Cells(i, 26))
    Next

 
これが2千行強あります。
15分経っても終わりません。
最後までしたことはありませんが、15分経ったときにEscして確認すると200行ほどしかすすんでいませんでした。
 
よろしくお願いします。

回答
投稿日時: 20/03/12 14:32:41
投稿者: mattuwan44

すみません。
RTrim関数を使っておられますが、
消してはいけないスペースが、文字列の中に他にありますか?

投稿日時: 20/03/12 14:58:09
投稿者: vaioyuki

氏名欄がありますので姓と名の間にスペースがあります。
後ろのスペースを全て除去したいです。
 
よろしくお願いします。

回答
投稿日時: 20/03/12 15:18:34
投稿者: simple

それらのセルを使った計算式の再計算に
時間を取られているのかも。
手動に切り替えてから処理実行、自動に戻す、
としてみたら?
配列で一括書き込みが早いとは思いますが、
上記でも結構改善しませんかねえ。

投稿日時: 20/03/12 16:26:40
投稿者: vaioyuki

Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
 
こちらですね!!
やってみます!!

投稿日時: 20/03/12 16:35:50
投稿者: vaioyuki

Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
 
上記を入れることで秒で解決できました!!
ありがとうございました!!