【问题标题】:Assign a specific value to a cell from a range depending on sheet name根据工作表名称为范围中的单元格分配特定值
【发布时间】:2014-02-21 22:36:58
【问题描述】:

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

例如,我有范围 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

【问题讨论】:

    标签: vba range


    【解决方案1】:

    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
    

    【讨论】:

    • 那没有回答我的问题。我想要 A!a2=Home!c4、B!a2=Home!c5 等等。我使用 sheet_name 作为范围来转到每个工作表。现在我需要将每张工作表中单元格“a2”的值在工作表“Home”中向下移动一个范围
    • 我想我仍然无法想象问题。
    • 那么在单元格a2 = 3的地方,你想在Home的另一个范围内获取第三个值吗?或许你可以把样品放在盒子里让我看看?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多