2012-01-16 219 views
7

執行功能,每一個細胞比方說,我有一個名爲RNG1Excel的VBA - 在範圍

Set rng1 = Worksheets("Sheet1").Range("A1","A5") 

範圍內是否有執行數學功能的快速簡便的方法,可以說,除以2,所有單元格的值,對於rng1中的所有單元格?

任何幫助表示讚賞!

+1

嘗試:'隨着工作表( 「Sheet1」)。Range(「B1:B5」) .Formula =「= A1/2」 .Value =。值 End With' – Reafidy 2012-01-16 20:57:43

+0

or use the paste-special d通過手動或使用VBA來完成您的範圍 – brettdj 2012-01-28 03:26:20

回答

13

這很簡單,但最終的代碼將取決於您想要存儲新值的位置。舉例來說,如果你要除以2的值存儲在下一列:

Sub test() 

Dim cell As Range 

For Each cell In Range("A1:A5") 
    cell.Offset(, 1).Value = cell.Value/2 
Next 

End Sub 

心你有更有效的方式來做到這一點比如果你的範圍大使用偏移,但範圍較小,這是完全可以接受和快速的。

如果你想覆蓋的值,你可以簡單地代替cell.Offset(,1).Value

1

使用cell.Value另一種方式

Sub Main() 
    [B1:B5] = [INDEX((A1:A5/2),)] 
End Sub 

它是如何工作是很好的解釋here.