2017-03-17 31 views
0

我有一個範圍是B3:B500 我想改變在這個範圍內 範圍然而,在每個單元的值是動態的,所以我需要從B3看最後一行VBA宏 - 我想改變每個單元格的值在一個特定的範圍內的新的...如何做到這一點? Excel中

第一: 如何我是否可以將範圍更改爲最後一行而不是預設範圍?

第二: 欲每個單獨的小區值改變爲這樣的事情:

myCell.Value = 「=」 & CHR(34)& CHR(61)& myCell.Value & CHR(34)

我該如何讓它通過逐個單元格來更改我們剛創建的「動態」範圍中的每個單元格?

感謝所有幫助我能......很新的VBA所以請記住這一點,並保持它的簡單:)

即B3單元格中載: 「ASP」(未含) 更改爲:= 「=」 ASP」(公式而不是給出結果= ASP)

+0

您嘗試了哪些代碼*?甚至查找了?[循環在一個範圍](http://stackoverflow.com/questions/3875415/loop-through-each-cell-in-a-range-of-cells-when-given-a-range-object),[獲取方法最後一行](http://stackoverflow.com/questions/71180/how-can-i-find-last-row-that-c​​ontains-data-in-the-e xcel-sheet-with-a-macro) – Wolfie

+0

嗨,是的,謝謝你我已經看過他們,但是我對VBA很陌生,不太明白這意味着什麼。對於每個部分正在做什麼,我會感謝一些解釋...對於不便之處感到抱歉。 – Jay

回答

0
Dim lastRow As Integer: lastRow = 3 
Dim myCell As Range 
'determine last row of current region 
Do While(Not IsEmpty(Cells(lastRow + 1, 2))) 
    lastRow = lastRow + 1 
Loop 
'loop through the range 
For Each myCell In Range(Cells(2, 2), Cells(lastRow, 2)) 
    myCell.Value = "=" & Chr(34) & Chr(61) & myCell.Value & Chr(34) 
Next myCell 

在這段代碼中,首先你確定使用While循環,最後一行其中然後使用For Each循環,循環遍歷範圍,從B列的第三行到最後一行。

+0

CurrentRegion似乎是一個奇怪的選擇嗎? – Wolfie

+0

你是對的:)我改變了它。 –

+0

謝謝你,但似乎它增加了列C而不是B的作品?我需要將範圍設置爲b3嗎? – Jay

相關問題