
Office2003のテキストボックスのことですが、
テキストボックスが100個あります。
各テキストボックスには数式で「=ABC!A1」・「=ABC!A2」と
別のシートの値を参照しています。
別のシートを参照させたいので、
テキストボックス内のABCを一括で変換する方法はありますか?
実際は、シートABCとそれを参照しているテクストボックスのあるシートをもう1セット作りたいのです。
シートABCをコピーし、テキストボックスのあるシートをコピーしても、
テキストボックスのあるシートは元のシートABCを参照しています。
よって、一括変換ができればと思います。
宜しくお願いいたします。
No.1ベストアンサー
- 回答日時:
マクロの一例です。
テキストボックスを選択してマクロを実行してください。
コード内の検索文字と置換文字は実際に合わせて書き換えてください。
Sub test1()
Dim strf As String
strf = Selection.Formula
Selection.Formula = Replace(strf, "ABC", "XYZ")
End Sub
有難う御座います。
使わせて頂いています。
ただ、テキストボックスひとつづつしか変更できないんですね。
でも、今までよりは確実に効率は上がりました。
No.4
- 回答日時:
>各テキストボックスには数式で「=ABC!A1」・「=ABC!A2」と
>別のシートの値を参照しています。
>別のシートを参照させたいので、
>テキストボックス内のABCを一括で変換する方法はありますか?
話が逆戻りしますが、テキストボックスの種類を確認したいと思います。
Excelには、3種類のテキストボックスがあります。
私が対象にしているのは、ツールバーにある横・縦書きテキストボックスです。
それ以外に、フォームとコントロールツールボックスにも其々テキストボックスがあります。
当方のExcel2007では、フォームのテキストボックスが使えなくなっているようです。
k-kikuchiさんの質問されているテキストボックスはどのテキストボックスでしょうか?
ツールバーにある横・縦書きテキストボックスなら
”テキストボックス内のABCを一括で変換する方法はありますか?”
↑この意味が分かりません。
テキストボックスに表示される文字列は、リンクセルのデータですから
リンクセル側で置換しなければなりません。
ループするマクロの一例です。
Sub test2()
Dim txb As TextBox
Dim txf As String
For Each txb In ActiveSheet.TextBoxes
txf = txb.Formula
If Split(txf, "!")(0) = "ABC" Then
txb.Formula = "=" & Trim(Replace(txf, "ABC", "XYZ"))
End If
Next
End Sub
まだ、上記で教えていただいたマクロは実行していませんが、
使っているテキストボックスはツールバーにあるテキストボックスです。
表示される文字列はリンクされているデータというのもわかっています。
リンク先を一括で変換したいということなのですが、
説明が下手ですいません。
テキストボックスが1~100まであります。
テキストボックス1~100には別のシートのセルが数式によってリンクされています。
例:テキストボックス1 「=ABC!A1」
テキストボックス2 「=ABC!A2]
といった具合に100個あります。
リンク先のシート名ABCをXYZに変換をしたいと思っています。
説明が下手ですいません。
No.3
- 回答日時:
>セルの数式は参照されるのですが、
>テキストボックス内の数式には反映されませんでした。
テキストボックス内に記述された数式(テキスト)には影響を与えません。別途「置換」作業が必要です。
参照式とテキストが両立共存しているのですか?
因みに、当方Excel2007ですが参照式をセットすればテキスト入力ができなくなります。
>ただ、テキストボックスひとつづつしか変更できないんですね。
For~Next文を勉強してください。
[XL] Visual Basic for Applications でのループ構造の使用方法
http://support.microsoft.com/kb/141762/ja
勉強不足ですいません。
For~Nextのイメージはわかっているのですが、
For i=1 to 100 で1から100までのループになるのはわかります。
前回教えていただいたマクロにiを利用して繰り返すということ何でしょうね。
勉強します。
「置換」も勉強します。
No.2
- 回答日時:
>シートABCをコピーし、テキストボックスのあるシートをコピーしても、
>テキストボックスのあるシートは元のシートABCを参照しています。
2つのシートを同時にコピーすれば、コピーしたシート間で参照関係が
築かれます。
シートの移動・選択・コピー
http://excel.syuriken.jp/sheet-1-5.htm
有難う御座います。
この方法は試してみました。
セルの数式は参照されるのですが、
テキストボックス内の数式には反映されませんでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) シート間で同じ値があったらコピペ 1 2022/05/08 09:39
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) エクセルの数式について ブック内の別シートの値の含まれたセルの個数を集計したい 全シート一覧のシート 1 2022/07/21 19:28
- Excel(エクセル) Excelにて、行の最後のセルの値をコピーして別sheetに張りつけるVBAコードをご教授願います 3 2022/11/20 14:35
- Excel(エクセル) Excel セルに入っている日付を参照して、別シートのリストを表示させたい 1 2022/04/12 17:02
- Excel(エクセル) Excelについて質問です。 シート1の検索値例えば *ABC* をシート2.3.4から検索して、シ 5 2023/02/17 23:30
- Excel(エクセル) Excel シート複数 金額日計表と日付 簡単にシートコピーしたら前日の残高と日付を変更させたい 1 2022/07/15 22:10
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- その他(Microsoft Office) エクセルのマクロを教えてください。 1 2023/01/27 09:05
- Excel(エクセル) エクセル シート比較で書式を変えるを繰り返したい 2 2023/05/05 11:25
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルで前シートを参照して...
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
前の(左隣の)シートを連続参...
-
エクセルでファイルを開いたと...
-
EXCEL:同じセルへどんどん足し...
-
特定のシートの削除を禁止した...
-
Excel、同じフォルダ内のExcel...
-
エクセルで前のシートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで複数シートを別のシ...
-
エクセルで「ウィンドウを元の...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
EXCELで1ヶ月分の連続した日付...
-
VBAで条件によりフォントサイズ...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
複数のシートの同じセルに入力...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
エクセル 計算式も入っていない...
-
EXCEL:同じセルへどんどん足し...
-
Excel、同じフォルダ内のExcel...
-
複数シートの特定の位置に連番...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
VBAで条件によりフォントサイズ...
-
【Excel関数】値が合致するセル...
-
Accessのスプレッドシートエク...
-
エクセルで前のシートを連続参...
-
VBAでシートコピー後、シート名...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
おすすめ情報