セルの参照に問題があり、ソリューションが存在するかどうかわかりません。 VBAコードを使用してExcel VBA:セルを参照する
私は、構文を使用して別のセルにセルに参照を書いている:
activecell.formula = "=" & Cells(A1).address
今私は、細胞の数千人のために、この数式をコピーする必要があります。各セルは、cell (A1,A2,A3....A120..)
というシーケンシャルを参照する必要があります。
私が持っている問題は
Cells(A1).address
を使用すると、それはCells(A1)
を修正することです。私がオートフィル機能を使用すると、何千ものセルがすべて同じcells(A1)
を参照していますが、ダイナミックで参照する必要がありますが、次に参照するときはcell (A2,A3,A4..)
です。 loop
と固定参照を使用して各セルに数式を書き込むと、コードが実行されるまでに数時間かかることになります(前に説明したように数千のセルがあります)。
私は自動フィル機能を使用する必要があります
activecell.formulaR1C1 = ...
ただし、セル(A1)は常にアクティブセルから同じ距離にあるとは限りません。
via VBA私はactivecell
からどのくらい離れているかを計算できますが、このデータを表記法R1C1
でどのように使用できますか?
ので、私はを参照したいれる第1のセル、(今回は)だから、行100及び列3上で計算することができ
row.count
機能を使用して、私が持っていることを言うことができます:LASTROWを= 100、column = 3.マクロを実行するたびに行100が異なることに注意してください。当然の
cell(5,5): =cells(100,3)
cell(6,5): =cells(101,3)
cell(7,5): = cells(102,3)
.....
cell(10005,5): = cells(10100,3)
、私は」:私は次の結果を持っている必要があり
Sub problemsolved()
Dim lastrow as string
Dim RowL as string
Dim CoL as string
lastrow = activesheet.cells(rows.count, 1).End(xlUp).row
cells(5,5).select
Rol = lastrow - 5
Col = 3 -5
activecell.formulaR1C1 = "=R[Rol]C[Col]"
selection.autofill Destination:=Range(cells(5, 5), cells(10005, 5))
end sub
仮定LASTROW = 100 です:私のactivecell
が、これは私が使用したいものですcells(5,5)
です構文を試しました:
activecell.formulaR1C1 = "=R[lastrow]C[3]"
それはうまくいかないので、どうすればいいですか? 誰かがアイデアを持っていますか?
おかげ
人々は完全にこのすべてを読むにはあまりにも忙しいですと仮定します。 「うまくいかない」とも言わなければなりません。すなわち、何をしたいのですか、何を試しましたか、どのような結果が得られましたか? – jdv