
マクロを作成しておりますして、わかりづらいか質問もしれませんが宜しくお願いします。
(1)マクロを配布し先方(複数拠点)で持っているブックに変更をかけ
たい。
(2)そのブック内には複数シートがあり、計算式で他シートを参照して
いる。
(3)その計算式を変更かけたい。が(2)でいう参照シートのシート名を各
拠点にて変更しているので、計算式も変更後のシート名が入って
いる。
例えば、
シート1のA1セルに「=(xxxxx)!B1/C5」という式を埋め込みたい。
※(xxxxx)はシート名。
でも、(xxxxx)のシート名は拠点によってシート名がことなることが
問題。尚、シート名以降の計算式は全拠点共通。
そこで、こんなことがやれればのイメージですが
イメージ1:
シート1の他のセル(D1)で(xxxxx)と同じシート名を参照している
式が必ず存在している。拠点毎にシート名は異なるがセル(D1)の
場所は共通。
このセル(D1)の式からシート名を抽出し、上の「=(xxxxx)!B1/C5」
の(xxxxx)に入れて、シート1のA1セルにこの計算式を記載する
マクロを作る
イメージ2:
もし「=(xxxxx)!B1/C5」の(xxxxx)部分に仮名称を入れたものを
マクロでシート1のA1セルに書き込んだあと、各拠点にて(xxxxx)
→それぞれ拠点で使っているシート名に置換する ような方法があ
るか?(存在しない参照シート名のまま書き込むとファイル指定の
ダイアログが開くので、開かないような汎用的な記述を一旦仮置き
できないか?)
以上宜しくお願いしたします
No.1ベストアンサー
- 回答日時:
数式からシート名の抽出例
数式の、= 直後にシート名がある場合です。
Dim f As String
Dim n As Integer
f = Sheets("シート1").Range("D1").Formula
n = InStr(f, "!")
MsgBox Mid(f, 2, n - 2)
とか
Dim f As String
f = Sheets("シート1").Range("D1").Formula
MsgBox Split(Split(f, "=")(1), "!")(0)
D1セルの数式からシート名を抽出
参照シート名を当てはめてからA1に書き込む
というようにすればどうでしょうか。
Dim f As String
Dim ws As String
f = Sheets("シート1").Range("D1").Formula
ws = Split(Split(f, "=")(1), "!")(0)
Sheets("シート1").Range("A1").Formula = "=" & ws & "!B1/C5"
この回答への補足
ありがとうございます。教えていただいた
Dim f As String
Dim ws As String
f = Sheets("シート1").Range("D1").Formula
ws = Split(Split(f, "=")(1), "!")(0)
Sheets("シート1").Range("A1").Formula = "=" & ws & "!B1/C5"
で、うまくいきそうです。
Splitは知らなくてネット見ても今一使い方が?なんで、宜しければ意味が分かればと・・・
4行目の「f」→対象も文字列、「"="」→区切り?、「(1)」「(0)」の
意味は?
No.2
- 回答日時:
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数シートの保護を...
-
別シート参照のセルをシート毎...
-
エクセル 計算式も入っていない...
-
前の(左隣の)シートを連続参...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
Excel、同じフォルダ内のExcel...
-
EXCEL:同じセルへどんどん足し...
-
複数シートの特定の位置に連番...
-
特定のシートの削除を禁止した...
-
複数シートの色付きセルがある...
-
Accessのスプレッドシートエク...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
エクセルで「ウィンドウを元の...
-
【エクセルVBA】「インデックス...
-
シートを追加・名前を次月に変...
-
特定のセルだけ結果がおかしい...
-
エクセルで複数設定したハイパーリンク先...
-
VBAで条件によりフォントサイズ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルの複数シートの保護を...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
エクセルで前シートを参照して...
-
エクセルでファイルを開いたと...
-
特定のシートの削除を禁止した...
-
Excelで金銭出納帳。繰越残高を...
-
エクセル 計算式も入っていない...
-
Excel、同じフォルダ内のExcel...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
複数シートの特定の位置に連番...
-
シートの保護のあとセルの列、...
-
Accessのスプレッドシートエク...
-
VBAで条件によりフォントサイズ...
-
エクセルVBAでパスの¥マークに...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
-
エクセルで毎回1枚目のシートを...
おすすめ情報