加入/合并异步相关表

时间:2017-08-11 17:32:09

标签: excel vba

目标

我需要帮助才能找到在excel中执行以下转换的最有效方法。在提到“有效方式”时,我指的是成功获得我正在寻找的输出的最简单,最有效的方法。

问题

为了简单起见,我将向您展示概念问题的虚拟过度简化示例,一旦解决,将允许我完成我需要的任务。

让它成为2张桌子 表1记录了每周每位员工的每日平均销售额。该值适用于从WeekStartingDateWeekStartingDate + 4的每一天。

Table1

表2记录了每个员工分配给哪个团队。每当员工更改团队时,表2(特别是)手动更新。因此,表2通过设置表条目有效的“时间范围”来跟踪每个员工的团队。

Table2

我希望将两个表组合起来,以获得每个团队每个员工的平均每日销售额的日志,如下所示。请注意,输出表上的“时间范围”对应于Table1ID(即一周内)和员工团队中没有变化的最小时间段。

Table3

规则

允许使用宏/使用VBA。

1 个答案:

答案 0 :(得分:0)

看起来像组合两个表。为此,首先将两个数据范围转换为表格以及创建新表格结构的任何位置。

因为它只是复制和粘贴所以下面的代码会帮助你。

Sub CombineTables()

Dim Rng1 As Range,Rng2 As Range

设置Rng1 = ThisWorkbook.Names(“Tab1”)。RefersToRange

设置Rng2 = ThisWorkbook.Names(“Tab2”)。RefersToRange

ThisWorkbook.Connections(1).REFRESH

Rng1.Copy Sheet1.Range(“A1”)。PasteSpecial xlPasteValues

Rng2.Copy

Sheet 1中。范围(“A1”)。偏移量(Rng1.Rows.Count,0).PasteSpecial xlPasteValues

Application.CutCopyMode = False

表( “工作表Sheet”)。激活 ActiveSheet.Range( “A1”)。选择

End Sub