私は銀行の財務モデルを開発しており、Excel VBAで解決できない以下の問題を抱えています。Excel VBAダイナミックレンジ/ループ問題
私は本質的に2つのことを行うシンプルなマクロを構築しました。(i)指定された範囲内の内容をクリアします。(ii)同じ範囲に数式を設定します。非常に簡略ようにして、次のようになります。L10を:
Sub AutoCalculateCashFlows()
Range(D208:L208).ClearContents
Range("L208").FormulaR1C1 = "=+R[-34]C-R[-34]C[-1]"
Range("L208").AutoFill Destination:=Range("E208:L208"), Type:=xlFillDefault
End Sub
私の問題は、人口オートであるべき範囲は、ユーザがE10の範囲内で記入しなかったどのように多くの細胞に依存しているということです。ユーザーはこの範囲を右から左に入力し始めますが、列Lから左にどのくらい離れているかはわかりません。マクロに自動入力される式には少なくとも2つのデータが必要です。少なくともL10とK10に値を設定する必要があります。後者の場合は、J10:L10が満たされてからマクロがL208:K208の範囲を自動入力する必要がある場合は、L208に式を自動的に取り込む必要があります完全なD10:L10の範囲が記入された場合、E208:L208に式を入力する必要があります。
私はこの問題を2つのルートで解決しようと考えていました。(1)ダイナミックレンジの問題として近づいています。その場合、ユーザーがD10の範囲内にある最後のセルを前に決定するために、 "宛先:=範囲(" E208:L 208 ")でそのセルの列コードを使用するか、または(ii)範囲E208:L208に式を挿入するループを実行して前の列のセルまでD10:L10の範囲内でユーザーが入力し、ユーザーが入力しない場合は停止します。
これは意味があり、助けを前もって感謝します。
感謝を。私はこれが正しい方向に向いていると思いますが、上記の解決策の観点からは、第1列の2番目の使用列からL1までの範囲が必要です。あなたのコードを修正する方法を私に教えてください。 –
@TonyFiante - 編集を参照してください。 – Vityata
3人目が私のトリックでした。ありがとう、Vityala。その後の自動入力コマンドでrngMainをどのように参照するのですか? ( "rngMain")、タイプ:= xlFillDefault –