
excel2007での、隣のシートを参照する方法を試しています。
例えばh23-3のシートのAL3とh23-4のシートのAH3の加算結果を
h23-4のシートのAL3に格納したいのですが、循環しているとエラーが出てしまいます。
分かる方いらっしゃいましたら、ご教授ください。
シートの名前は、h23-4 h23-5のように連続性のある名前にしてあります。
h23-4のシートのAL3に以下の内容を記述しました。
=AH3+INDIRECT("'"&MID(CELL("filename"),FIND("]",CELL("filename"))+1,4)&RIGHT(CELL("filename"))-1&"'!AL3")
よろしくお願いします。
自力で作ったため、効率悪いかもしれません。
また、他に良い方法があれば教えてください。
No.1ベストアンサー
- 回答日時:
厳密に言うとその式は循環参照していませんが,cell関数の内部計算で,特定の操作によってそういう結果が表示されます。
エクセルのバグと考えて構わないです。簡易には数式を今のままF2しEnterし直すと,目がさめたようにふつーに計算してくれます。
安全策としては,今の式中で3箇所使用している
CELL("filename")
という記述を,
CELL("filename",A1)
に漏れなく直してください。
#参考
=AH3+INDIRECT("'"&TEXT((MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,6)&"-1")-1,"ge-m")&"'!AL3")
といった式にしておくことで,h24-1シートからh23-12シートも問題なく参照できるようにできます。
ありがとうございます!
エラー無くできました!エラーメッセージ分かりにくいですね・・・循環じゃないだなんて・・・
参考もありがとうございます!h23-12⇒h24-1のところは、IF関数でクリアするつもりだったんですが、そのような方法もあったんですね。
TEXT関数は盲点でした。ありがとうございました!
No.2
- 回答日時:
(1)シート名
出来ればシート名が関数で取れれば良いのだが、CELL関数という特殊な関数を使い、かつ式が長くなってしまう。其れでユーザー関数で
標準モジュールに
Function shn()
shn = ActiveSheet.Name
End Function
ーー
を作る。セルで=shn()と入れるとシート名が出てくる。文字列として関数式の中でも使える。
ただしフルパスではなくファイル名の部分だけが出る。
例 =MID(shn(),1,3)
ーーー
(2)次のシート名
ここでいう「次」とはシートタブが右隣にあるもののシート名ではなく、
文字列+数字で数字が連続して増えていく場合を考える。
ただし10シート以上になると、下記では繰り上がりを考慮してないので、プログラムを修正する必要がある(略)
標準モジュールに
Function shna()
shnm = ActiveSheet.Name
v = Val(Right(shnm, 1)) + 1
'MsgBox "*" & Str(v) & " * """
shna = Left(shnm, Len(shnm) - 1) & Trim(Str(v))
End Function
--
セルに=shna()
これらをINDIRECT関数のシート名のところへ使ってはどうでしょう。
ありがとうございます!
VBAも考えてはいたんですが、私には、少し難しく感じました。
しかし、皆さん知識がおありで羨ましい限りです
大変参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/12 10:10
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルのVBAで集計をしたい
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
エクセル ドロップダウンリスト...
-
【関数】同じ関数なのに、エラ...
-
Office2021のエクセルで米国株...
-
【マクロ】列を折りたたみ非表...
-
9月17日でサービス終了らし...
-
【マクロ】アクティブセルの時...
-
ページが変なふうに切れる
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】EXCELで読込したCSV...
-
【画像あり】オートフィルター...
-
他のシートの検索
-
エクセルの循環参照、?
-
Excelファイルを開くと私だけVA...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報