在excel vba

时间:2015-05-05 04:11:50

标签: excel vba excel-vba

我在同一工作簿下的两个不同的工作表中有两个表。

表1&表2

  1. 我想创建一个将需要表1和表1的功能。表2为 参数。
  2. 将表格1中的单元格复制到表格2,但我们有2个 问题:
  3. 要更新哪一列以及要更新哪一行以了解正确的单元格。

    哪一列应基于列示例的命名:

    表1. 第1列将为表2. 第1列 因此,检测要更新的列将基于匹配的列名称。

    哪一行应该是表2 + 1中的最后一行。

    因此无论列数是多少,函数都应根据列名在表2中进行搜索和匹配。

    我不需要确切的语法,我只想知道逻辑将如何发展。

    更新

    这是一个例子:

    图片:http://gdurl.com/9sf5

    我将调用这样的函数:

    DynamicTableMigration(表1,表2)

    因此,该函数将表1中的所有数据移动到表2,基于相同的列名称匹配列,如图像示例所示。

1 个答案:

答案 0 :(得分:0)

表格是列表对象。它们的行和列参数可以通过

找到
RowAfterLast = ws(j).ListObjects(ListObj(j)).Range.Row + ws(j).ListObjects(ListObj(j)).Range.Rows
ColumnAfterLast = ws(j).ListObjects(ListObj(j)).Range.Column + ws(j).ListObjects(ListObj(j)).Range.Columns

.ROW .Column 参数在 .Rows .Columns时吐出范围的左上角测量细胞数量的宽度和深度 要告诉标题的列号,您只需要在标题中搜索字符串。如果名称可能不同,您可以在xlPart中搜索,或者如果满足 Like 参数,则使用输出列的循环。

ws(j).Range(Header).Find(title1, SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, LookAt:=xlWhole).Column