2012-01-16 21 views
7

内の各セルに関数を実行することの私が2でこれらすべてのセルの値を分割すると言うことができます、数学関数を実行するために迅速かつ簡単な方法はありRNG1エクセルVBAは - 範囲

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

と呼ばれる範囲を持っているとしましょうrng1のすべての細胞について?

ご協力いただきましてありがとうございます。

+1

てみてください説明されている仕組み: 'ワークシートでの(範囲 "(B1:B5") .Formula = "= A1/2" .Value = .Value Endで「 – Reafidy

+0

」を使用するか、ペースト特殊d手作業またはVBAを使用して範囲を限定する – brettdj

答えて

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.