[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『置換の限界?』(元祖Q)
いつもお世話になります。 https://www.excel.studio-kazu.jp/cgi-bin/kazuwiki2.cgi?mycmd=read&mypage=[[20040929155005]] も一応参照しましたが、質問させてください。 文字「AB」が完全一致した場合、「入荷」にするという置換をマクロ使ってしようしております。 式は Selection.Replace What:="AB", Replacement:="入荷", LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, ReplaceFormat:=True 新商品「BC」が入荷した場合は、上記数式をコピーして「AB」を「BC」に変更して利用しています。 長い商品が入荷していつものようにしておりましたが、エラーが出てしまいました。 その文字数は LEN関数で「258」、LENB関数で「283」 文字数の制限で置換ができないのかと思い 以下の文字数で実験してみました(LEN関数で「258」、LENB関数で「283」の半角アルファベットの文字を1文字づつ消したものを利用 LEN関数で「253」、LENB関数で「278」 ⇒OK LEN関数で「254」、LENB関数で「279」 ⇒OK LEN関数で「255」、LENB関数で「280」 ⇒OK LEN関数で「256」、LENB関数で「281」 ⇒NG LEN関数で「257」、LENB関数で「282」 ⇒NG LEN関数で「258」、LENB関数で「283」 ⇒NG という結果になりました。 LEN関数で「256」、LENB関数で「281」 以上では置換のマクロはできないということでしょう?
自分で試行錯誤してみた結果 「256文字以上(LEN関数で「256以上)」は置換も検索もできない という結論になりました。 コメントはありませんでしたが、私の質問に対して考えをめぐらせてくれた方がもし、いらっしゃいましたらありがとうございました。 (元祖Q)
確かに色々考えてはみましたが、どうなさりたいのかはっきりとしたご質問が無かったので 何のコメントもしませんでした。 単に検索して置き換えたいだけであれば、検索範囲内のデータを配列変数に入れて Match関数でヒットしたものをSUBSTITUTE関数で置き換えてやれば出来そうな気はしますね。
(川野鮎太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.