2011-12-12 54 views
1

我有這些公式activesheet.cells(3,"C").Formula = "=F2"更新單元格中的公式,如果列值存儲在一個變量

,但我希望公式是這樣的activesheet.cells(3,"C").Formula = "=lastcolumn2"

所以我找到了第6行的最後一列

last_col = ActiveSheet.Cells(6, Columns.Count).End(xlToLeft).Column 

last_col中有10值。

我已插入公式像這些

ActiveSheet.Cells(3,"C").Formula = "=" & last_col & "1" 

但這些插入值"=101",但並不像公式"=J1"(這是我所期望的) 如何使這一點。任何幫助是極大的讚賞。

回答

2

您的解決方案將工作爲您提供R1C1符號代替LC1工作。

這裏是另一種方式來做到這一點:

ActiveSheet.Cells(3, 1).Formula = "=" & Cells(1, last_col).Address 
+0

+1此作品非常好:)對不起,類似的答案,它沒有打他,直到我寫和提交了所有。 – aevanko

+0

'偉大的思想思考相似'(這是我從一個偉大的法語諺語中找到的最好的翻譯,我希望它在英語中仍然有意義:)) – JMax

+0

讓人感覺良好:)我希望niko自從你第一次就給你接受到一拳^^ – aevanko

1

我解決我自己的問題,抱歉,我剛發現這樣做時,我不小心打開了我的透視表報表和嘗試這些方式,它的工作方式。

ActiveSheet.Cells(3, 1).Formula = "=R" & "1" & "C" & last_col 

希望這些幫助別人,但請讓我知道,如果有任何其他方式來做到這一點。

感謝

3

您也可以使用。地址,當你抓住last_col(輕微自旋JMAX的答案 - 對不起,我才意識到這是非常相似,我應該只是增加他的評論)。如果你不希望的絕對路徑(如J1而不是附加$ J $ 1),你可以使用:

last_col = Cells(6, Columns.Count).End(xlToLeft).Address(False, False) 
Cells(3, 3).Formula = "=" & last_col 
+0

絕對路徑的好精度 – JMax

+0

我不能接受這兩個,所以只是一個+1但JMAX擊敗你哈哈:) – niko

0

我不明白您的問題或答案。這並不重要,如果你是幸福的,但我懷疑你得到你想要靠運氣的影響。

原始配方爲activesheet.cells(3,"C").Formula = "=F2"。這有C3單元格設置爲小區F2的值的效果。如果小區F2改變時,小區C3的變化相匹配。

你想C3單元格設置爲你第一次使用第2行的最後使用單元格的值:

last_col = ActiveSheet.Cells(6, Columns.Count).End(xlToLeft).Column 

這臺last_col到最後使用的列的數量在6行你不解釋爲什麼你正在尋找6行的最後使用的電池,而不是2行的最後使用的電池是你說你想要的。

last_col的值爲10.表達式"=" & last_col & "1"的值爲=101,因爲Excel不知道要將10轉換爲J

你說你是幸福的:

ActiveSheet.Cells(3, 1).Formula = "=R" & "1" & "C" & last_col 

但是這臺A3單元格與行= 1,列=行的最後使用的6列

沒有我的單元格的值可以找到你的問題或你的答案表明這是你想要的。

如果你想A3單元格設置爲第2行中最後使用的單元格的值,因爲它是在宏觀運行使用的時間:

Dim last_col As Integer 

    With ActiveSheet 

    ' Find the column number of the last used cell in row 2 
    last_col = .Cells(2, Columns.Count).End(xlToLeft).Column 
    ' Set cell C3 = Now value of last of row 2 
    .Cells(3, "C").Value = .Cells(2, last_col).Value 

    End With 

如果你想單元C3的值來改變每次排2改變上次使用的單元格的值使用:

Dim LastUsedCellAddress As String 

    With ActiveSheet 

    ' Find address of last used cell in row 2 
    LastUsedCellAddress = .Cells(2, Columns.Count).End(xlToLeft).Address 
    ' Set cell C3 = Current value of last of row 2 
    .Cells(3, "C").Formula = "=" & LastUsedCellAddress 

    End With 

希望以上給出了足夠的解釋讓你瞭解不同報表的效果,讓你可以得到你今天想要什麼,在將來。

+0

這個答案重複其他答案中的信息。他們在我寫這篇文章的時候被寄出,所以直到我寄出這封信之後纔看到。由於在這個答案中有額外的信息,我將離開它。 –

相關問題