总表数据填充到多个分表指定单元格

把总表的数据填充到分表指定单元格,该如何实现?有两个总表,分表是以总表中的某一列命民,分表已经有了,总表1的数据放在每个分表的d4,e4,f4里面,总表2的数据放在f5,g5中,分表很多用循环语句实现,其他不用,vba完成

img

img

img

img

【以下回答由 GPT 生成】

首先,我们需要编写一个VBA宏来实现这个功能。下面是一个示例代码,可以根据你的具体情况进行修改:

Sub FillDataToMultipleWorksheets()
    Dim mainWorksheet1 As Worksheet
    Dim mainWorksheet2 As Worksheet
    Dim subWorksheets As Worksheets
    Dim dataRange1 As Range
    Dim dataRange2 As Range

    ' 设置总表和分表对象
    Set mainWorksheet1 = ThisWorkbook.Worksheets("总表1") ' 替换为总表1的名称
    Set mainWorksheet2 = ThisWorkbook.Worksheets("总表2") ' 替换为总表2的名称
    Set subWorksheets = ThisWorkbook.Worksheets

    ' 设置数据范围
    Set dataRange1 = mainWorksheet1.Range("A1:A" & mainWorksheet1.Cells(Rows.Count, 1).End(xlUp).Row) ' 替换为总表1数据的范围
    Set dataRange2 = mainWorksheet2.Range("A1:A" & mainWorksheet2.Cells(Rows.Count, 1).End(xlUp).Row) ' 替换为总表2数据的范围

    ' 填充总表1的数据到分表的指定单元格
    For Each subWorksheet In subWorksheets
        If subWorksheet.Name Like "*" & mainWorksheet1.Name & "*" Then
            subWorksheet.Range("D4:F4").Value = dataRange1.Value
        End If
    Next subWorksheet

    ' 填充总表2的数据到分表的指定单元格
    For Each subWorksheet In subWorksheets
        If subWorksheet.Name Like "*" & mainWorksheet2.Name & "*" Then
            subWorksheet.Range("F5:G5").Value = dataRange2.Value
        End If
    Next subWorksheet

    ' 清除变量
    Set mainWorksheet1 = Nothing
    Set mainWorksheet2 = Nothing
    Set subWorksheets = Nothing
    Set dataRange1 = Nothing
    Set dataRange2 = Nothing
End Sub

请注意,上面的代码假设总表1是以"总表1"命名的工作表,总表2是以"总表2"命名的工作表。你需要根据实际情况调整这些名称。

此外,代码假设总表1的数据范围是从A1开始的连续列,直到最后一个非空单元格。总表2的数据范围也是类似的。

最后,代码会将总表1的数据填充到每个分表的D4、E4和F4单元格中,将总表2的数据填充到每个分表的F5和G5单元格中。

你可以将上面的代码复制到VBA编辑器的一个新模块中,并执行该宏来实现功能。记得先保存工作簿,以便在需要时可以还原。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^