Excel 将单元格从一个电子表格中的区域复制到另一个电子表格
我有一个电子表格,其中包含了几个人在不同日期的数据。我想为每个人将非零单元格复制到单独的表格中。例如,汤姆在4月12日工作了3个小时,4月13日工作了6个小时,4月16日工作了5个小时。迪克在4月12日工作了6个小时,4月15日工作了3个小时,4月16日工作了5个小时。哈里在4月14日工作了5个小时,4月15日工作了4个小时,4月16日工作了6个小时。A列的日期是4/12到4/16,C、D和E列的时间是汤姆、迪克和哈利在这些天工作的时间。他们没有工作的日子是空白的。我为每个人准备了一份单独的工作表,该工作表应只显示他们工作的日期,因此Tom的工作表将只显示日期4/12、4/13和4/16。是否有宏或查找可用于从主工作表复制到个人工作表?谢谢。假设您的数据如下所示(位于名为“主控”的工作表中): 请尝试以下代码:Excel 将单元格从一个电子表格中的区域复制到另一个电子表格,excel,Excel,我有一个电子表格,其中包含了几个人在不同日期的数据。我想为每个人将非零单元格复制到单独的表格中。例如,汤姆在4月12日工作了3个小时,4月13日工作了6个小时,4月16日工作了5个小时。迪克在4月12日工作了6个小时,4月15日工作了3个小时,4月16日工作了5个小时。哈里在4月14日工作了5个小时,4月15日工作了4个小时,4月16日工作了6个小时。A列的日期是4/12到4/16,C、D和E列的时间是汤姆、迪克和哈利在这些天工作的时间。他们没有工作的日子是空白的。我为每个人准备了一份单独的工作
Sub tgr()
Dim wb As Workbook
Dim wsMstr As Worksheet
Dim rngHours As Range
Dim cIndex As Long
Set wb = ActiveWorkbook
Set wsMstr = wb.Sheets("Master")
Set rngHours = wsMstr.UsedRange
Application.ScreenUpdating = False
For cIndex = Columns("C").Column To rngHours.Columns.Count
With wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count))
.Name = wsMstr.Cells(rngHours.Row, cIndex).Text
rngHours.AutoFilter cIndex, ">0"
Intersect(rngHours, wsMstr.Range("A:A," & Columns(cIndex).Address)).Copy .Range("A1")
rngHours.AutoFilter
.Columns("A").EntireColumn.AutoFit
End With
Next cIndex
Application.ScreenUpdating = True
End Sub