VBA / Macro查找日期,复制日期和粘贴

时间:2014-08-17 02:59:19

标签: excel-vba vba excel

我正在尝试创建一个滚动报告,提供每日报告,将每日报告中的数据提取到年度报告中,然后提取到手机友好的工作表(全部在同一工作簿中),

每日报告位于名为" Test1"的第一张纸上。单元格A1包含适用于数据的日期。范围A2:A11包含我需要复制到第二张表的数据,名为" Test2"。在Test2中,我在C5:HD5列中拥有一年中的所有日子。

我要做什么宏:

  • 在Test2
  • 范围内搜索Test1 A1的每日日期
  • 在相应的发现日期(例如,到C6:C15)将Test1' A11数据复制到Test2
  • 从Test1中提取相同的数据并将其复制到“Dashboard”表(Blackberry友好格式)中。此表按星期组织数据,因此2014-08-20将粘贴到WED
  • 覆盖任何现有数据
  • 如果找不到日期,则会产生错误

非常感谢任何帮助!

谢谢你的帮助Tony!它仍然是错误的一天。我有一个今天(19日,星期二(K8:J13))的文件,如果我将日期更改为21日,它将数据粘贴到WED列(K8:K13),(THU(L8:L13)它将数据粘贴到SAT (N8:N13)

我没有任何隐藏的列或行。香港专业教育学院检查日期格式似乎都很好。

干杯。

认为我破解了!! WHOOP WHOOP,我的区域设置设置为美国,本周开始时间设置为星期一。纠正了这些,似乎工作正常!

谢谢堆!!

1 个答案:

答案 0 :(得分:1)

根据您的评论,仪表板表格的格式如下:

    +-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |     |  H  |  I  |  J  |  K  |  L  |  M  |  N  |  O  |          
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |  7  | Sun | Mon | Tue | Wed | Thu | Fri | Sat |     |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |  8  |     |     |     |     |     |     |     |     |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+
    |  9  |     |     |     |     |     |     |     |     |
    +-----+-----+-----+-----+-----+-----+-----+-----+-----+

......这应该有效:

Sub Roller()
   Set dDate = Worksheets("Test1").Range("A1")
   Set rCell = Worksheets("Test2").Range("C5:NC5").Find(What:=dDate, LookAt:=xlWhole, MatchCase:=False)
   If rCell Is Nothing Then
      MsgBox "Date " & dDate & " not found in Test2"
   Else
      ' Copy Test1 data
      Worksheets("Test1").Range("A2:A11").Copy
      ' Paste to Test2
      rCell.Offset(1).PasteSpecial xlPasteValues
      ' Paste to Dashboard
      Worksheets("Dashboard").Range("G8").Offset(, Weekday(dDate)).PasteSpecial xlPasteValues
      MsgBox "Data copied"
   End If
End Sub
相关问题