[[20200706090449]] 『VBAで複数の数値を文字列に変換する場合に処理の早x(みっきー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAで複数の数値を文字列に変換する場合に処理の早い方法は?』(みっきー)

Excelで、数千行あるデータに対して、VBAを使って、
数値2桁のコードを文字列に置換したいと思います。
別シートの数値2桁のコードと文字列との対応表は、40行程度あります。
置換の方法として、For〜Next文でReplace関数を使う方法や、
RangeにReplaceメソッドを使う方法などが考えられますが、
処理時間を短縮するにはどのような方法で置換を行うのがよろしいでしょうか。
また、数値6桁のコードと文字列との対応表が200行程度の場合に、
結果が変わったりしますでしょうか。
(コード処理に組み込みますので、手でやったほうが早いというご回答はご遠慮ください)

Excel VBAに詳しい方のご回答がいただけると嬉しいです。
お手数をお掛けしますが、どうぞよろしくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 おはようございます ^^
配列を使うと劇的に早くなることもありますよ。10000行×20列くらいなら
瞬時ですよ。。。内容にもよりますが。。。^^;。。。案だけで済みません。m(_ _)m
(隠居じーさん) 2020/07/06(月) 10:08

さして詳しいものでないので、あなたのいう回答資格が無いかもしれないが、
いくつか考えられるなら、それぞれをご自分で時間を計測されたらいかがですか?

(γ) 2020/07/06(月) 10:43


コード列を、コードに一致する文字列に変えるのですよね? コード列と文字列を、両方共表に残してはどうでしょう?

マクロでは、VLOOKUPでも使って対応表から文字列を得る数式を、対象セルに一気代入すれば、ループもせずに1回1行で終わるので、速いとおもいます。(マクロを速くするコツは、シートの表示更新を減らす事と、If文を減らす事)
(???) 2020/07/06(月) 11:16


皆さん、コメントありがとうございます!
お話を聞いていて、以下のサイトのTest6みたいな、用意した配列上で計算し、
その配列を対象のレンジに一気代入するコードがいいのかな、と感じました。
http://officetanaka.net/excel/vba/speed/s11.htm

もっと処理が早い書き方がある、という方がいれば、ぜひご教示いただければと思います。
(みっきー) 2020/07/06(月) 14:37


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.