• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELで参照シート名含む計算式の変更マクロ)

EXCELで参照シート名含む計算式の変更マクロ

このQ&Aのポイント
  • EXCELで参照シート名を含む計算式の変更について、マクロを使用して拠点ごとにシート名を変更する方法について教えてください。
  • マクロを使用して、EXCELの複数シート間で参照される計算式のシート名を拠点ごとに変更する方法について教えてください。
  • EXCELのマクロを使用して、参照シート名を含む計算式を拠点ごとに変更する方法について教えてください。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答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"

bxd00263
質問者

補足

ありがとうございます。教えていただいた  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)」の 意味は?  

その他の回答 (1)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.2

こちらでどうでしょうか。 Split関数で文字列を区切る http://officetanaka.net/excel/vba/tips/tips62.htm

bxd00263
質問者

お礼

ありがとうございました とても助かりました!