2012年9月30日日曜日


 
○第167回目 計算式中の一部を置換え

 
 計算式をコピーしたり、移植したあとに、置き換える必要があります。その際のマクロとして、複数項目の置換えがあるのですが、それは、別のセルに置換情報を入れる必要があります。ここを改善したものを作ろうという趣旨です。

 計算式の取得=⇒計算式の中から置換え前文字列を選ぶ=⇒これに対応した置換え後文字列を作る=⇒これらを繰り返す=⇒すべての指定が終了した後=⇒置き換え範囲を指定して計算式を置き換える。

 という流れです。置換え前文字列を作るという操作が不要となりますし、置き換え後のもの作る時の手間が若干簡素化されます。

 

 1.計算式の取得

 2.計算式の中から置換え前文字列を抜き出す(不要な文字列を削除する)

 3.これに対応した置換え後文字列を作る

 =⇒これらを繰り返す。最大21項目

 4.置き換え範囲を指定

 5.計算式を置き換える。

'置換え処理。置換え文字列の数だけ繰り返す

  Range(Cells(gyo1, retu1), Cells(gyo9, retu9)).Select

  For i = 0 To rep_cnt - 1

    Selection.Replace What:=rep_moji1(i), Replacement:=rep_moji2(i), LookAt:=xlPart, _

    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _

    ReplaceFormat:=False

  Next i

 

 

 計算式が長い場合があるので、フォームのテキストボックスを使用します。
 ※フォームについては、『○第133回目 計算式作成のお手伝い(一般的な計算式、究極モドキ3)』を参照。

 
 コピーしたとき、不要な他のブック等の情報が入った計算式も、このマクロで簡単に直せます。

 問題は計算式の条件(警察の形式を満たしていない、参照先がないなど)を満たさない時、逐一聞いてくることでしょう。大量に置換える場合は、ためしの処理が必要でしょう。

 

 

 

 

0 件のコメント: