互いにコピーされた同一のワークシートで構成されたテンプレート ワークブックがあります。各ワークシートで使用する VBA プロジェクトには約 10 個の関数があります。次に、テンプレートをマクロ有効ブックとして保存し、入力しました。これを 2 回行ったので、そのテンプレートから直接作成された workbookA.xlsm と workbookB.xlsm という 2 つのブックが作成されました。各ワークシートには多数のグループ化された列があります。つまり、画面の左側の上部にある + または - 記号のトグルで非表示にできる列です。計算モードを手動に設定しています。エクセル2007を使用しています。
私の関数の 1 つは SUM_TOTAL (以下に示す) と呼ばれ、2 つの範囲と文字列を取り、文字列が最初の範囲にある場合は 2 番目の範囲の項目を合計します。
計算プロセスで問題が発生しています。自動計算を使用している場合、または「今すぐ計算」を押した場合、アクティブなシートは問題なく計算されますが、他の同一のシートの多くはそのアクティブなシートと同じ値を与えます。関数 SUM_TOTAL が与えられます。一部の機能と一部の機能は、すべてのセルが毎回計算されるわけではないという事実に関係していると思います。シートが完全に独立しているわけではないことを示唆していますが、それらがリンクされている方法はわかりません。
ワークシートを循環して「シートの計算」を実行するマクロを作成しましたが、これが「今すぐ計算」の機能だと思いましたか? 他の人がモデルを使用することになるので、それを理解したいです。また、それが堅牢であることを知る必要があります。
できるだけ早く、どんな助けでも大歓迎です!
どうもありがとう、S
Public Function SUM_TOTAL(amount_type As String, amount_type_column As Range,
range_to_sum As Range) As Single
Dim cell As Range
SUM_TOTAL = 0
For Each cell In amount_type_column
If cell.Value = amount_type Then
SUM_TOTAL = SUM_TOTAL + Cells(cell.Row, range_to_sum.Column).Value
End If
Next cell
End Function