根据工作表名称从一个范围为单元格指定特定值

时间:2014-02-21 22:36:59

标签: vba range

我正在尝试将范围中的不同数字分配给不同工作表中的同一单元格。

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

我不能让我的宏向下移动范围。

而是为每个工作表分配C4到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

1 个答案:

答案 0 :(得分: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