【发布时间】:2010-10-27 21:07:18
【问题描述】:
我拥有的是一个包含 100 多个选项卡的电子表格,这些选项卡具有相对相同的数据格式,但有些工作表的行数比其他工作表多或少。我有一张名为 EMP_NUM 的表格,其中包含所有员工编号和姓名。我有一个 Master 表,我希望将所有相关数据复制到 Master 表中。工作表 EMP_NUM 上列出的员工编号与 100 多张工作表的名称相匹配。最后,我希望 Master 表上的每一行都有第一个单元格作为员工编号,然后该行中剩余的单元格是从所有其他表中收集的数据。
employee#工作表需要复制的数据从 A4 开始,到 TX 结束,其中 X 等于 A 列中仍有值的最大行号。
我正在考虑使用要在过程中调用的 EMP_NUM 中的数据来找到复制数据的正确工作表,因为它们会匹配,但也可以用作行。
完成后,我可以添加公式来计算数据。自从我在 Excel 中涉足 VB 中的一点点以来,已经 6 年多了,我不知道该怎么做。感谢大家的帮助!!如果我需要清理任何东西,请告诉我。
**添加**
我想第一步是找到要从中复制数据的第一张工作表。要找到第一个工作表,该函数应该转到 EMP_NUM 工作表并查看第一个数字是什么,该数字与我们想要的工作表的名称完全相关。可以是 intEmpNum
然后在相应的工作表上,我计算出第 4 行之后有多少行有数据。这些行将是要复制的范围。将此范围复制到工作表 Master 上的第一个可用行,从 B 列开始,暂时将 A 列留空。 A 列用于 intEmpNum 用于在 B 列中包含数据但在 A 列中没有数据的所有行。
然后在 EMP_NUM 上找到下一个员工编号并重复该过程,直到工作表 Emp_NUM
的 A 列中没有更多员工编号这是我目前所拥有的 -
Sub Button1_Click()
Dim intEmpNum As Integer 'employee number
Dim strEmpCell As String 'row that employee number is in
strEmpCell = 1
Do Until Sheets("EMP_NUM").Range("A" + strEmpCell).Value = 0
intEmpNum = Sheets("EMP_NUM").Range("A" + strEmpCell).Value
strEmpCell = strEmpCell + 1
Loop
MsgBox ("The value was not found!")
End Sub
【问题讨论】:
-
即使所有工作表都在同一个工作簿中?
标签: excel copy worksheet-function vba