• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのVBAでシートを追加更新していきたいのですがうまくいきません)

エクセルのVBAでシートを追加更新する方法

このQ&Aのポイント
  • エクセルのVBAを使用して、同一ブックの中に同じ形式のシートを追加し、特定のセルの値を更新する方法について教えてください。
  • VBAを用いて、エクセルのシートを追加していく方法とセルの値を更新する方法について、初心者にもわかりやすく解説してください。
  • ExcelのVBAで同一ブック内に同じ形式のシートを追加し、特定のセルの数式を更新する方法について教えてください。初心者向けの手順を教えていただけると助かります。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

#コメント シートを追加するブックとマクロが載せてあるブックは別なのか同じなのかが不明です。 このため「どのブックに」一連の操作をしたらいいのか,マクロの中で記述できません。 #マクロを検討する前提 「前のシート」が存在しないシート名ゼロを作成するため,一連の操作を実施することはできない 基点となるシート名ゼロは,一番最初にマクロを実行するより前に既に作成済みである なお,全角文字のゼロと半角文字のゼロを間違えてはいけない サンプルマクロ: sub macro1()  dim n as long  'シートを作成する  worksheets.add after:=worksheets(worksheets.count)  on error goto errhandle  activesheet.name = n  on error goto 0  '数式を入れる  range("K4:K6").formula = "=I4+'" & n - 1 & "'!K4"  exit sub errhandle:  n = n + 1  resume end sub >何が原因なのか、どうすればいいのかがさっぱり分かりません J1に入れてあった式が間違ってると考えるのが妥当です。 存在しないシート(間違ったシート名)を参照しろと書かれた数式を投入しようとすると,そんなシートはこのブックに見あたらないけどどこにありますかと「値の更新」が現れ,そして無視ルと有りませんという意味の#REFになります。

cottondrop
質問者

お礼

ありがとうございました!! 丁寧に教えていただけて、本当に本当にうれしいです。 とても勉強になりました。 ご指摘の通り、そもそものシート名が間違っていたようです。 ただの数字だったファイル名に( )をつけたところ、きちんと更新してくれました。 (「うっかり」も知識が乏しいと巨大な落とし穴…) 本当に助かりました。 またの機会がありましたら、ぜひ次も教えていただければ幸いです。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • ka_na_de
  • ベストアンサー率56% (162/286)
回答No.1

こんばんは。 これでどうですか? Sub test()  Range("k4").Formula = "=I4+" & Range("j1").Value - 1 & "!K4" End Sub >(シート名は「0」「1」「2」…というように、ただの数字にしています) ただの数字では、別の事例で不具合が出た経験があります。 具体的には忘れました。1を1月にして解決した記憶があります。 今回もs0,s1,s2のようにしたほうがいいかも。

cottondrop
質問者

お礼

さっそく助けてくださってありがとうございます! 上述の通り変えてみても変わらなかったのですが、 ためしにファイル名に( )をつけたところ、きちんと更新してくれました。 ただの数字ってダメなんですね…。 勉強になりました。本当にありがとうございました!

すると、全ての回答が全文表示されます。

関連するQ&A