簡體   English   中英

根據列中的日期將行中的特定單元格復制到月工作表

[英]Copy specific cells in a row to month worksheet based on date in column

我想根據日期將一行中的特定列復制到附有相應月份的工作表中。 就像如果主工作表中的 H 列有 2020 年 1 月 15 日,我希望該行復制到 1 月 20 日工作表中。 並且僅該行中的特定列,僅列 c、d、g 和 h 復制到正確月份表中相應的 b、c、d 和 f。 我已經搜索過,從我得到的信息來看,要解決行中的特定單元格,我需要一個數組。 但我對讓它去不同的月份(1 月 20 日至 12 月 20 日)感到困惑。

感謝您的時間。

從日期部分構造選項卡名稱並像這樣使用 set ws = sheet(tab name)

Sub copyRows()

  Const COL_DATE As String = "H"
  Const ROW1 As Long = 2

  Dim mth
  mth = Array("", "Jan", "Feb", "Mar", "Apr", "May", "Jun", _
        "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

  Dim wb As Workbook, wsMain As Worksheet, ws As Worksheet
  Dim iLast As Long, iRow As Long, iTarget As Long
  Dim dDate As Date, sTab As String

  Set wb = ThisWorkbook
  Set wsMain = wb.Sheets("Sheet1")

  iLast = wsMain.Range(COL_DATE & Rows.Count).End(xlUp).Row

  For iRow = ROW1 To iLast

      dDate = wsMain.Range(COL_DATE & iRow).Value
      sTab = mth(Month(dDate)) & "-" & Format(dDate, "yy")

      Set ws = wb.Sheets(sTab)
      iTarget = 1 + ws.Range("F" & Rows.Count).End(xlUp).Row

      'c,d,g, and h to b,c,d, and f
      With wsMain
         .Cells(iRow, "C").Copy ws.Cells(iTarget, "B")
         .Cells(iRow, "D").Copy ws.Cells(iTarget, "C")
         .Cells(iRow, "G").Copy ws.Cells(iTarget, "D")
         .Cells(iRow, "H").Copy ws.Cells(iTarget, "F")
      End With

      Debug.Print dDate, sTab
  Next
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM