• ベストアンサー

EXCELエクセル長文の置き換え

エクセルで作ったデータベースで1つのセルの中の「ABC」という文を「あいう」に変える方法を知りたいのです。 ただこのデータベースはちょっと特殊で (1)一つのセルに20行以上の文字列がある→その為に「置換」機能では「数式が長すぎます。」と出る。 (2)その20行以上ある文はHTMLである。 (3)変更したい文も変更後の文も結構長い。(HTMLタグ含む) というような状態です。 データが750行以上あるので1個ずつしていたらいつ終わるか分かりません。 マクロなども全く分からず、途方に暮れています。 実用的な案を今すぐ頂ければ有難いです。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.6

Excel の置換機能ではダメだったんですよね...? 1. 名前を付けて保存、CSV で書き出し 2. テキストエディターでそのファイルを開き、置換 ならどうですか?

sakurasaku5611
質問者

お礼

ありがとうございました。 1日、悩んでいたことが簡単にできました。 本当に感謝です。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.7

ふたつだけアドバイスですが、 >エクセルで作ったデータベースで1つのセルの中の「ABC」という文を「あいう」に変える方法を知りたいのです。 データベースが何か別として、Excelで管理するのは、やっぱりテキストベースで、HTMLコードは入るけれども、テキスト・オンリーで貼り付けて入れるのが基本ではないでしょうか? 貼り付けるときに、右クリックで、[形式を選択して貼り付け]で、テキストを選べばよいわけです。 そうしたら、置換も利くと思います。 それと、もうひとつは、「セルに20行以上の文字列がある」っいてうことだけど、Excelのひとつのセルで見えるのは、1,024文字です。32,767文字まで入ることは入りますが、見えませんから、管理しにくいと思います。

sakurasaku5611
質問者

お礼

ありがとうございました。 管理の仕方も検討していきたいと思います。 参考になりました。 お礼が遅くなり、申し訳ございませんでした。

全文を見る
すると、全ての回答が全文表示されます。
  • ape5
  • ベストアンサー率57% (85/148)
回答No.5

"color=" とはどこでしょう?私の書いたところにはないのですが? "If"のところは、きちんとスペース開けるところを開けてますか?

sakurasaku5611
質問者

お礼

なんどもすみません。お手数をおかけいたしました。ありがとうございました。やはりマクロは私には難しかったようです。また何かありましたら、よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • ape5
  • ベストアンサー率57% (85/148)
回答No.4

どこの行でエラーでしょうか? あと、エラーの内容も具体てきにかいてもらえるとうれしいです

sakurasaku5611
質問者

補足

"color="の所が、「コンパイルエラー修正候補ThenまたはGo To」 Ifから次のa valueまでもコンパイルエラー:構文エラーになります。 何度もすみません。よろしくお願い致します。 修正したいところにも追加したいものにも、"があるからいけないのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。
  • ape5
  • ベストアンサー率57% (85/148)
回答No.3

(シートやファイルをコピーしてから動かしてみてください) 一応、「ABC」の全角・半角と大文字・小文字に対応しました。 それと、できなかったというのは何ができなかったのでしょうか? 説明があれば対応したいと思います。 --------------------------------- Dim a As Range Dim iLen As Long Dim i As Long For Each a In Selection   iLen = Len(a.Value)   For i = 1 To iLen   If "ABC" = UCase(StrConv(Mid(a.Value, i, 3), vbNarrow)) Then   a.Value = Left(a.Value, i - 1) & "あいう" & Right(a.Value, iLen - i - 2)   End If   Next i Next a -----------------------------------------

sakurasaku5611
質問者

お礼

何度も済みません。 構文エラーになってしまいます・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • ape5
  • ベストアンサー率57% (85/148)
回答No.2

(試す前に、シートなり、ファイルなりコピーしてから行ってください。) 処理は重いですけど、次のようなのでできるかと。 "ABC"は半角だとして、処理してます。 ------------------------------- Dim a As Range Dim iLen As Long Dim i As Long For Each a In Selection   iLen = Len(a.Value)   For i = 1 To iLen   If "ABC" = Mid(a.Value, i, 3) Then   a.Value = Left(a.Value, i - 1) & "あいう" & Right(a.Value, iLen - i - 2)   End If   Next i Next a --------------------------------------- 何かありましたらレスください。

sakurasaku5611
質問者

お礼

ありがとうございました。 しかし、私の力不足でできませんでした。すみません。 それから「ABC」も「あいう」もHTMLが交じっているので、全角と半角が交じってます。 よろしくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • NCU
  • ベストアンサー率10% (32/318)
回答No.1

SUBSTITUTE関数でもダメですか?

sakurasaku5611
質問者

お礼

早々のお返事、ありがとうございました。 今、早速やってみましたが、関数の作り方が分かりません。 補足をお願いできたら幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロで値の置き換えについて質問です

    エクセルのマクロについて質問です。 「N」日を指定した時に、その「N」日の下に設定している曜日のセルを、「祝」という値に変更したいのですが、その方法を教えて頂けないでしょうか。 日付の列=1行目 曜日の列=2行目 たとえば、A3セルにある「3」日を指定して、マクロ用に用意したボタンを押下したときに、A4セルにある「金」の値を「祝」に自動的に変更する方法です。 どなたか詳しいかた、お教え下さい。 どうぞよろしくお願いします。

  • メモ帳で作ったタグHTMLのテキストをエクセルの1つのセル内にコピーして収めたい。

    HTML文をメモ帳で作ったが、エクセルCVS形式の一つのセルにコピー貼り付けしたら、一つのセルに収まらずに多行に渡った、タグが反映した色付になった。 データ→外部データの取り込み→データの取り込み→HTML文.txt を指定後→何だか判らない選択から取り込めたが、タグは反映されないようだが、多行に渡った。 たぶん初歩的な事が私には解かっていないのだと思います。宜しくお願い申し上げます。

  • エクセル 数値を抜き取って並べたい

    エクセルでの質問です。お願いします。 1行目に次のようなデータが並んでいるとします。 51 64 44 37 65 78 34 45 53 66 6 18 26 8 11 30 2行目には77以上の数を抜き取って並べる、 3行目には51以上77未満の数を抜き取って並べる 4行目には36以上51未満の数を抜き取って並べる 5行目には36未満の数を抜き取って並べる というように自動的に数を抜きとって並べるようにしたいのです。 <このようにしたい> 78 51 64 65 53 66 44 37 45 34 6 18 26 8 11 30 <こうではない(--は空白セル)> -- -- -- -- -- 78 51 64 -- -- 65 -- -- -- 53 66 -- -- 44 37 -- -- -- 45 -- -- -- -- -- -- 34 -- -- -- 6 18 26 8 11 30 1行目のデータによって2行目以降を自動的に作成させるには、 各セルにどのような数式を入れれば良いのでしょうか。 マクロを作るとか複雑な方法はなるべく避けたいのですが。 よろしくお願いします。

  • フォントの色を保持したままセルの一部の置換

    セルの一部を置換し、かつフォントの色を保持するマクロをご存知の方がいましたら教えてください。 例えば、 一つのセルに「123ABC」と入力されていて、「123」は赤、「ABC」は黒とします。ここで「123」を「1234」と置換した場合、「1234ABC」が全て赤となってしまい、困っています。「1234」を赤、「ABC」を黒としたいのです。 膨大な量を置換する必要があるため、できればマクロを使って解決したいと思っています。 どうか宜しくお願いします。

  • Perlで一行で文字列の置き換え

    Perlでたとえば 文字列を$a = "abcdefg";を $a = "あdefg";と 先頭のabcをあに置き換える方法を1行の文で行いたいのですが可能でしょうか? 2行以上でなく、1行で済ませる方法です。 $b = "abcい";なら "あい"となってほしいです。

    • ベストアンサー
    • Perl
  • エクセル マクロ VBA

    エクセルのマクロについて質問です。 『集計』というブックの『集計開始』というシートに     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 コメント  空白     空白   3行目 空白   空白     空白 4行目 商品名  支店     個数  5行目 空白   空白     空白 6行目 空白   空白   コメント1 7行目 空白   空白     空白 8行目 空白   空白   コメント2 9行目以降    上記のデータ(見出しを除く)の繰り返し というデータが入っています。 B列の中に『AAA』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 C列の中に『B』という文字が含まれていたら、そのセルを空白に置換し、 含まれていなかったら、そこで処理がとまったりエラーが出たりしないで次のステッップへ進み、 (今は、手作業で編集→置換→検索する文字列の中に『B*』と入力し、 置換後の文字列を空白にしてすべて置換ということをやっています。)                            ABC列(データーの入っている行まで)の空白を含む行を一括削除し、 以下のような形にしたいのです。     A列    B列     C列 1行目 見出し  見出し   見出し      (商品名)  (支店)  (個数)         2行目 商品名  支店     個数  3行目 商品名  支店     個数          ・         ・ このようにするマクロ文はどのようになりますでしょうか?

  • EXCELで、計算式を一気に変える方法はありますか??

    困っているのでどなたかご存知でしたら教えてください。 EXCELの表があり、2000だとか13500だとか、色々と数字が入ったセル、数字の入ってないセル、両方があります。 指定範囲内にある、数字の入っているセルの数字を→数式に変更したいのですが、何か良い方法はありますでしょうか? <例>2000と入っているセルの「数字」を→=2000/8*10という「数式」にさせたい。他に数字が入っているセルは、すべて同じ=(数字)/8*10 という数式に変えたい。 何か適当な関数があるのでしょうか、それとも置換?? わからなくて大変困っております。お助けください。。

  • エクセルの置換機能の事で?

    エクセル2003を使っているのですが質問です。(初心者レベルです) セル内にHTMLのソース(タグ)が入っています。その中に余分なスペースが入っているので置換機能を使ってみたのですが「一致するデータが見つかりません」と出てしまい置換えが出来ません。これってどう言う事なのでしょうか? ちなみにセル内のタグは******&u=&ocat=1&act=ocat&pic="> color=#000000 size=2>******* こんな感じです。 ="> colorここの=">とcolorの間のスペースを消したいのです。よろしくお願いします!

  • EXCELのマクロにて

    EXCELのにて連続したデータを入力したデータベースがあります。(行が5000、列がAAまで) このデータベースのデータの最終行だけを指定して違うシートにコピー・貼り付けがしたいのです。 マクロにてこのような作業をするときにはどういった文をかけばよいですか。

  • エクセルのマクロについてお願いいたします。

    エクセルのマクロについてお願いいたします。 E10~M10の500行全てのセルに数式が入っております。 そこでマクロにてコピーのボタンを設置しようと思ってます。 Range("E10:M10" & Range("M" & Rows.Count).End(xlUp).Row).Copy 画像のような数字の結果がある部分だけコピーをしたいです。 23行目からは数式が入ってますが結果は””空白になっております。 どうぞよろしくお願いいたします。

専門家に質問してみよう