2015-07-19 81 views
0

有沒有辦法生成Excel單元格引用?我一直在手動迭代以下:Excel生成迭代單元格引用

=($B$12-C12)*$B$3*C3 
=($C$12-D12)*$C$3*D3 
=($D$12-E12)*$D$3*E3 
=($E$12-F12)*$E$3*F3 
=($F$12-G12)*F$3*G3 
=($G$12-H12)*$G$3*H3 
=($H$12-I12)*$H$3*I3 
=($I$12-J12)*$I$3*J3 
=($J$12-K12)*$J$3*K3 
=($K$12-L12)*$K$3*L3 
=($L$12-M12)*$L$3*M3 
=($M$12-N12)*$M$3*N3 
=($N$12-O12)*$N$3*O3 
=($O$12-P12)*$O$3*P3 
=($P$12-Q12)*$P$3*Q3 
=($Q$12-R12)*$Q$3*R3 
=($R$12-S12)*$R$3*S3 
=($S$12-T12)*$S$3*T3 
=($T$12-U12)*$T$3*U3 
=($U$12-V12)*$U$3*V3 
=($V$12-W12)*$V$3*W3 
=($W$12-X12)*$W$3*X3 
=($X$12-Y12)*$X$3*Y3 
=($Y$12-Z12)*$Y$3*Z3 
=($Z$12-AA12)*$Z$3*AA3 
.. 
.. 
.. 
.. 
.. 
.. 

回答

0

我能想象不外乎打字說出來更無聊。嘗試下面,我假設你想要代碼打印到單元格?這有幾個比你想要的更多,讓我知道如果這是一個問題。此外,只需將countto變量更改爲所需的迭代次數即可。希望能幫助到你。

Sub poorguy() 
Dim counter As Long 
Dim countto As Long 
Dim col1 As String 
Dim col2 As String 
Dim col3 As String 
Dim col4 As String 
Dim rngwrite As Range 

counter = 0 
countto = 100 

For i = 0 To countto 
    col1 = cells(12, 2).Offset(0, counter).Address 
    col2 = cells(12, 3).Offset(0, counter).Address 
    col3 = cells(3, 2).Offset(0, counter).Address 
    col4 = cells(3, 3).Offset(0, counter).Address 
    Set rngwrite = cells(1, 1).Offset(counter, 0) 
    rngwrite.Value = "=(" & col1 & "-" & col2 & ")*" & col3 & "*" & col4 
    counter = counter + 1 
Next 
Set rngwrite = Nothing 
End Sub 
+0

too many $ s .... Your code output給出:=($ B $ 12- $ C $ 12)* $ B $ 3 * $ C $ 3 Mine是:=($ B $ 12-C12)* $ B $ 3 * C3 – Kelbe

0

使用行,以獲得行號,然後採用偏置從參考點,以抵消相對行號列數。例如:

=(OFFSET(A1,0,ROW(B1))-OFFSET(A1,0,ROW(B1)+1))*OFFSET(A1,0,ROW(B1))*OFFSET(A1,0,ROW(B1)+1) 

的假設是,你的數據在B1開始,C1

+0

你是說假設我的數據是以A1和B1開始的?在這個等式中我沒有看到C1 ...... – Kelbe

+0

不,B1和C1,你在第1行輸入公式。這部分是C1'OFFSET(A1,0,ROW(B1)+1)'Offset A1 by 0 rows and Row(B1)+1(2)columns –