2016-05-11 7 views
-1

私はアカウントごとに日次在庫を追跡し、G/Lとのバランスをとっていることを確認するスプレッドシートを持っています。私は新しいシートを作成し、現在の日付ごとに名前を付けるVBAをセットアップしました。シートの一番下には、昨日の在庫金額から昨日のマイナス値を引いた数式があります。その式は毎日「更新」する必要があるわけではないので、VBAで数式を書くことを検討しています。VBA Excel - 前の日のシートセルからアクティブシートセルを控除

新しいシートが作成されたときに、シート名の変更にVBAを書き込む方法を思いつきました。

たとえば、シートに「05.10.16」という名前の用紙があり、式がB8 - '05.09.16'!B8で、結果が表示されます。今日はスプレッドシートを開き、今日のシート "05.11.16"を作成します。

この式を更新するためにVBAで必要とするコーディングは何ですか?ActiveCell.Formula = "B8 - ws2.cell(B8)"

私はset ws1 = ActiveSheetですが、ws2を定義する際に問題があります。新しいシートがその日に追加されると、ws2は動くターゲットになります。

+0

私の回答があなたの問題を解決しましたか?あなたはあなたの問題を最もよく解決する答えを受け入れるべきです。それは後であなたの質問を絡み合わせる他人への貴重な信号です。また、回答を受け入れることで、回答者に評判が与えられます。また、少額でも受け取ります! – Leviathan

答えて

0

VBAでシートを追加すると、そのワークシートへの参照が返されます。ただ、それを変数に保存して、あなたは後でそれにアクセスすることができます

Set ws2 = ThisWorkbook.Sheets.Add("05.11.16") 

あなたはあなたがあなたの数式を変更する必要があるアドレスを取得するために(おそらくTrueに設定第四パラメータで)ワークブックのAddressプロパティを使用することができます。

関連する問題