質問

して非常に大きなExcelのワークブック(数十人のタブで、MB、それぞれ非常に複雑な計算)は多くの数十、おそらく何百人もの数式を利用するの恐ろしい間接的な機能です。これらの数式を広げると全体のワークブック、対象を複数のテーブルのデータ検索のための値です。

今に移行する必要があるの範囲のデータを対象とするこれらの数式マネジメントクライアントのワークブック.

その理由は、特に関係が面白い。る必要がありまれたものをExcel計算サービスの遅延のヒットの荷重になり規模の大きなテーブルを同時に受け入れ難いほど高い。して移動テーブルの連続範囲を負荷し突入。)

れる方法はありますすべての間接的関数が現在の参照テーブルにしたい動くのか?

んでいるこいるようにしました。いくかと4時間実行しています。

こともできます.日本語教育(サマー.依存性などの方法だけに直接トラック式に代入します。

(また、書き換えるスプレッドシートに なオプションがあります。

よろしく!

役に立ちましたか?

解決

きに対して繰り返し処理を実行全体のワークブックを使用vba(私のコードから@PabloGと@ユーロmicelli):

Sub iterateOverWorkbook()
For Each i In ThisWorkbook.Worksheets
    Set rRng = i.UsedRange
    For Each j In rRng
        If (Not IsEmpty(j)) Then
            If (j.HasFormula) Then
                If InStr(oCell.Formula, "INDIRECT") Then
                    j.Value = Replace(j.Formula, "INDIRECT(D4)", "INDIRECT(C4)")
                End If
            End If
        End If
    Next j
Next i
End Sub

この例ではsubstitues毎の発生"間接(D4)"と"間接(C4)".交換もワンタッチで簡単での交換-機能もより高度なれば、より複雑な間接機能性能というわけではありませんが、でも大きなワークブック.

他のヒント

Q:"させる方法はありますすべての間接的関数が現在の参照テーブルにしたい動くのか?"

などを読んでたいあなたを見てみように引数の間接的な資格でいます。OTTOMH思書VBAを使用の正規表現のパーサでも、簡単なINSTR探間接(readのマッチング)し、その後の評価()は文字列中に変換するには、実際のアドレス、繰り返しが必要に応じて複数の接(...)では、ダンプ式とその翻訳には二列、シート状にしたものです。

利用できるものこのようなVBA:

Sub ListIndirectRef()

Dim rRng As Range
Dim oSh As Worksheet
Dim oCell As Range

For Each oSh In ThisWorkbook.Worksheets
    Set rRng = oSh.UsedRange
    For Each oCell In rRng
        If InStr(oCell.Formula, "INDIRECT") Then
            Debug.Print oCell.Address, oCell.Formula
        End If
    Next
Next

End Sub

の代わりにDebug.印刷を追加できるコードをお好みに合わせた

残念なことに、引数の 間接は、通常、より複雑 ます。こちらは実際の式から のシートは最 複雑な式として

=IF(INDIRECT("'"&$B$5&"'!"&$O5&"1")="","",INDIRECT("'"&$B$5&"'!"&$O5&"1"))

hm、書簡単なパーサを無視するための文字を見ているだけですので、該当部分(この例:"A..Z"、"0..9"と"!:" 等) がでのトラブルの場合は引数に"間接的"です。

(粉を山にして真ん中をより安全なアプローチする印刷毎洞"間接的"第三のシートです。だがその後の追加、ご希望の出力を書き込む小さな検索と置換プログラムを書く変更ます。

場合は"取得"すべての細胞には大きな 表計算が終わ要 巨大量のメモリを消費します。私 もういい リスクです。

PabloGの方法を選択する使用範囲は追加で私の独自のコードとします。の速度では良い方まで楽しめる、充実した情報が確認し現在の細胞が含まれて式。このサイズのワークブック.

お使いいただくことによって礼儀作法ではに関する記載の製品のライターは、オークのOperis分析キット、Excel add-inでの間接機能によりセル参照で解決す。を利用できますExcelの監査ツールを被扶養者各レンジします。

まうのはもちろん、この一時的なコピーのワークブック.

りますので

  • http://www.operisanalysiskit.com/oakpruning.htm
  • http://www.operisanalysiskit.com/help/2007/index.html?oakconceptpruning.htm

さらに年齢のこの質問におもって代替ソリューションまたは回避策.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top