2014-02-21 15 views
0

我試圖從不同工作表中的同一個單元格中指定一個範圍的不同數字。根據工作表名稱將特定值分配給一個範圍內的單元格

例如,我有範圍c4:c9。在表A中,A1 = c4;表B,A1 = c5;表C,A1 = c6;等

我不能讓我的宏在範圍內下移。

取而代之的是,它將每個工作表分配給A1。

我目前有在一個範圍內命名的工作表,所以VBA將知道移動工作表。

這裏是我的代碼:

Sub update() 

    Dim sheet_name As Range 
     For Each sheet_name In Sheets("Home").Range("A4:A9") 
     If sheet_name.Value = "" Then 
      Exit For 
    Else 
     Sheets(sheet_name.Value).Select 
     Range("A1").Select 
     ActiveCell.Formula = "=Home!r[3]c[2]" 
     Range("A2").Select 

    End If 

    Next sheet_name 
End Sub 

回答

0

SHEET_NAME不是一個範圍。雖然單元格內的字符串可能是表單名稱,但它們不是表單。

所以:

Sub test() 
Dim sSheetName As String 

For Each cell In [sheetnames] 
    sSheetName = cell.Value 
    Sheets(sSheetName).Range("a1") = "some formula" 
Next cell 

End Sub 
+0

這並沒有回答我的問題。我想A!a2 = Home!c4,B!a2 = Home!c5,等等。我使用sheet_name作爲範圍來轉到每個工作表。現在我需要在每張表格中的單元格「a2」的值向下移動到表格「Home」中的範圍 – user3339184

+0

我想我仍然無法直觀地看到問題。 –

+0

因此,在單元格a2 = 3的情況下,您想要在Home的另一個範圍內獲取第三個值?也許你可以放一盒樣品,這樣我就可以看到它了? –

相關問題