我所拥有的是一个包含 100 多个选项卡的电子表格,其数据格式相对相同,但有些工作表的行数比其他工作表多或少。我有一张名为EMP_NUM的表格,其中包含所有员工编号和姓名。我有一张主表,我希望将所有相关数据复制到主表中。工作表EMP_NUM上列出的员工编号与 100 多个工作表的名称相匹配。最后,我希望主表上的每一行都有第一个单元格作为员工编号,然后该行中剩余的单元格是从所有其他表中收集的数据。
需要复制的员工#工作表数据从 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