| 
    
     |  | ▼アラユタン さん: 
 
 >自己解決致しました。
 >Sub Sample()
 >
 >  For Each sh In ActiveWorkbook.Worksheets
 >    For Each xCell In Worksheets(sh.name).Range("A1:A100")
 >      xCell.Value = xCell.Value
 >    Next xCell
 >  Next sh
 >
 >End Sub
 >
 >上記にて欲しい結果となりました。
 
 なあんだ、A列の表示形式は「文字列」じゃなかったんですか
 
 >ただ処理速度がものすごく遅いのですが、
 >改善できそうな箇所はないでしょうか。
 
 1.まず、変数は型をきちんとつけて宣言しましょう。
 2.範囲.Value = 範囲.Value で 数値になるのなら、1セルずつLoopしなくても
 一括でいいはずですよ
 3.セルに対する処理はできるだけ一回で済ませたほうがいいのですが、
 今回のように 範囲.Value = 範囲.Value が処理のほとんどであるような
 ときは、画面更新を制御するといいかもしれない。
 
 Option Explicit
 
 Sub Sample()
 Dim sh As Worksheet  '----(1)
 
 Application.ScreenUpdating = False   '----(3)
 For Each sh In ActiveWorkbook.Worksheets
 With sh.Range("A1:A1000")
 .Value = .Value        '----(2)
 End With
 Next sh
 Application.ScreenUpdating = True   '----(3)
 
 End Sub
 
 
 |  |