如何每次跳过列和每周复制小时数

时间:2015-08-10 14:02:36

标签: excel vba excel-vba

好的,我有2张主表格作为实际与计划和Burnmacro表格。

在“实际与计划”选项卡中,我从第Q列到第T列有员工详细信息,从第X16列到第16列我在该周有该员工的活动,第X16列被命名为预算小时,Y16被命名为计划时间和列Z16被命名为实际小时,列AA16被命名为计费活动,这些详细信息在主标签(实际与计划)中。 如果在列Q下,我已编写代码将员工详细信息从R列拉到U:Q是1000分区,来自burnmacro表格单元格C3。并且它正在工作,我现在唯一想要的是仅在burnmacro选项卡上提取每周一次的“实际小时”, 请注意,每周有相同数量的列,每周4列和第3列是“实际小时列”,因此现在列Z16(2/14/15周日期),AD16(2/21/15周日),和AH16(2/28/15周日期)对于每个员工来说,每个星期都有一个小时的工作时间如何拉动这些时间并放在那周的烧录宏标签下?

我在C列中有数据,然后在F列上有相同的数据,然后我在同一行中,依此类推。每次跳过2列。

如何调整以下代码以将实际小时数从1个标签复制到第二个标签?

我的猜测是我们必须对这些代码行进行更改。

If mycell2.Value = Sheets("BurnMacro").Range("C3").Value And mycell2.EntireRow.Hidden = False Then
    Sheets("Actual vs Plan").Range(Cells(mycell2.Row, hstrtcell.Column), Cells(mycell2.Row, hlstcell.Column)).Offset(0, 0).Copy Destination:=Sheets("BurnMacro").Range("H" & paste_start)
    paste_start = paste_start + 1
End If

以下是完整代码:

' Division 1
Dim myRange As Range
Dim myCell As Range
Dim fcell As Range 
Dim lcell As Range
Dim myrange2 As Range
Dim mycell2 As Range
Dim paste_start As Long

Set fcell = Range(Sheets("BurnMacro").Range("B5").Value)
Set lcell = Range(Sheets("BurnMacro").Range("C5").Value)

'below code to pull hours
Set hstrtcell = Range(Sheets("BurnMacro").Range("H2").Value)
Set hlstcell = Range(Sheets("BurnMacro").Range("I2").Value)
Set myrange2 = Worksheets("Actual vs Plan").Range(hstrtcell.Address, hlstcell.Address)
paste_start = 8
For Each mycell2 In myrange2
    Sheets("actual vs Plan").Activate
    'If mycell2.Value = Sheets("BurnMacro").Range("C3").Value And mycell2.EntireRow.Hidden = False Then
    Sheets("Actual vs Plan").Range(Cells(mycell2.Row, hstrtcell.Column), Cells(mycell2.Row, hlstcell.Column)).Offset(0, 0).Copy Destination:=Sheets("BurnMacro").Range("H" & paste_start)
    paste_start = paste_start + 1
    'End If
Next mycell2

0 个答案:

没有答案