Excel VBA質問箱 IV

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

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


69725 / 76732 ←次へ | 前へ→

【11523】Re:列全体を選択したときの高速処理
回答  Jカーター  - 04/3/10(水) 22:14 -

引用なし
パスワード
   こんばんは。
値だけを処理するなら
セル範囲.Value で一度に値を取得して
取得した変数を加工して
一度でセルに戻すようにするとかなり高速化できます。
(配列変数を使う方法です。)

それから
たとえ列選択してもIntersectで範囲を絞り込むといいと思います。
-----------------------------------------------------------------
  Dim i As Long
  Dim aa As Variant
  Dim bb As Range
  
'  1,よけいな範囲は処理しない
  Set bb = Intersect(Selection, ActiveSheet.UsedRange)
  
'  2,セルへのアクセスはできるだけ少なく
  aa = bb.Value
  
  For i = 1 To UBound(aa, 1)
    aa(i, 1) = StrConv(aa(i, 1), vbNarrow)
  Next i
  
  bb.Value = aa
  
  Set bb = Nothing

0 hits

【11521】列全体を選択したときの高速処理 カド 04/3/10(水) 21:37 質問
【11523】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 22:14 回答
【11524】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 22:17 発言
【11526】Re:列全体を選択したときの高速処理 カド 04/3/10(水) 23:07 質問
【11529】Re:列全体を選択したときの高速処理 Jカーター 04/3/10(水) 23:31 発言
【11532】Re:列全体を選択したときの高速処理 カド 04/3/10(水) 23:41 お礼
【11681】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 12:22 質問
【11682】Re:列全体を選択したときの高速処理 Jカーター 04/3/14(日) 15:23 発言
【11684】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 16:33 お礼
【11686】Re:列全体を選択したときの高速処理 カド 04/3/14(日) 19:09 発言

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