2016-02-10 131 views
1

我想獲取某個單元格的值並將其存儲爲變量。然後將另一個區域中的另一個單元格的值設置爲該變量。然後移動到單元格。當行中的所有單元格都被捕獲後,我想移動到下一行並重新開始第一個單元格和第一個變量。我不知道如何移動到下一個單元格,然後將新範圍中的值設置爲變量。這裏是我到目前爲止獲取一個單元格的值,存儲一個變量,然後下一個單元格,下一行(Excel)

Dim rng As Range 
Dim row As Range 
Dim cell As Range 
Dim card1 As String 
Dim card2 As String 
Dim card3 As String 
Dim card4 As String 
Dim card5 As String 
Dim valueRng As Range 

Set rng = Range("A2:D4") 
Set valueRng = ("F2:I4") 


For Each row In rng.Rows 
For Each cell In row.Cells 
card1 = cell.Value 
'Set first variable 
'Code here for setting value of for first cell in valueRng 

'Move to second cell 
'get value 
'set variable card2 
'Set value of second cell in valueRng 

Next cell 
Next row 
+4

你知道你可以簡單地; 'Range(「F2:I4」)。Value = Range(「A2:D4」)。Value' –

+0

但我想要一個變量來改變第二個範圍的值。我會將第一個範圍的值作爲「得分」,然後將得分放在第二個範圍內。我只是想在做這個計算之前把重點放在這個問題上 – mcadamsjustin

回答

2

使用行和列計數器,而不是For each

Dim rng As Range 
Dim row As Range 
Dim cell As Range 
Dim card1 As String 
Dim card2 As String 
Dim card3 As String 
Dim card4 As String 
Dim card5 As String 
Dim valueRng As Range 
Dim x as long 
Dim y as long 

Set rng = Range("A2:D4") 
Set valueRng = Range("F2:I4") 


For x = 1 to rng.Rows.Count 
    for y = 1 to rng.Columns.Count 

card1 = rng.cells(x, y).Value 
'Set first variable 
'Code here for setting value of for first cell in valueRng 
valueRng.Cells(x, y).Value = card1 

Next y 
Next x 

注意,有從另一個填充一個數組的簡單得多的方式時,他們具有相同的尺寸和形狀。

+0

這很有效。另外,我的代碼不正確,應該是'Set valueRng = Range(「F2:I4」)'。關於填充相同大小和形狀的數組的更簡單的方法,正如我提到的@Scott,我想爲該值分配一個分數,然後將分數放在第二個範圍內。我只是想在做這個計算之前把重點放在這個問題上 – mcadamsjustin

相關問題