エクセル2000のファイルに「テキストボックス」がたくさんあります。このテキストボックス内の文字を一括で置き換えるにはどのようにすればいいでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:MXF03305 No.1

回答回数21ベストアンサー獲得回数0

ポイント50pt

http://www.hatena.ne.jp/1089615935#

エクセル2000のファイルに「テキストボックス」がたくさんあります。このテキストボックス内の文字を一括で置き換えるにはどのようにすればいいでしょうか?.. - 人力検索はてな

邪道かもしれませんが

いったんhtmlで保存してノートパッドでなどで一括置き換えすれば出来ます。終わったらxls形式に戻せばよいのでは

id:msuzuki5

ありがとうございます。早速やってみました。テキストエディタで置換後再度エクセルで読み込ませると”HTMLインポートエラー”が表示されてしまいました。できあがったファイルは一見、きちんと置換されている様に見えますがどこでエラーが起きているのかこれを調べるのに手間がかかりそうです。

2004/07/12 17:08:28
id:name_mm No.2

回答回数94ベストアンサー獲得回数0

ポイント100pt

上記URLはダミーです。

VBAがわかるなら下記でどうでしょう?

ツール>>マクロ>>Visual Basic Editor

プロジェクトエクスプローラ内ThisWorkbookをダブルクリック

表示されたウィンドウに書きコード貼り付けし、コード内をクリックし実行。

下記プログラムは私の環境で簡単なテストをしていますが、バックアップをとり実施して下さい。

あくまでも、サンプルとして考えてもらえると(^^

Sub txtRep()

Dim oWs As Worksheet

Dim oTBox As Shape

Dim strWk As String

’全シートを対象とする

For Each oWs In Excel.ActiveWorkbook.Worksheets

For Each oTBox In oWs.Shapes

If InStr(oTBox.Name, ”Text Box”) > 0 Then

oWs.Activate

oTBox.Select

’Replace関数内に6個の引数がありますが、下記の内容を置き換えたい方法により

’2〜5番目の内容を変更して下さい。

’2:置き換え元文字列

’3:置き換え後文字列

’4:何文字目から置き換え対象とするか(1:先頭から)

’5:何回置き換えするか(-1:全て)

strWk = Replace(Selection.Characters.Text, ”置き換え元文字列”, ”置き換え後文字列”, 1, -1, vbTextCompare)

If strWk <> oTBox.AlternativeText Then

Selection.Characters.Text = strWk

End If

End If

Next oTBox

Next oWs

End Sub

id:msuzuki5

おお! うまくいきました。

助かりました。ありがとうございます。

2004/07/12 17:13:09
  • id:cx20
    間に合わなかった・・・。

    テストしてたら間に合わなかった・・・(T-T)

    一応、書いたのをアップしておいたのでリンク貼っておきます。
    http://www.hondarer-soft.com/cx/pukiwiki/pukiwiki.php?Memo%2F2004-07-12
  • id:name_mm
    Re:間に合わなかった・・・。

    私のコードはまだまだ、修正が必要ですね、参考になります。

    #If InStr(oTBox.Name, ”Text Box”) > 0 Then
    #→If shape.Type = msoTextBox Then

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません