簡體   English   中英

復制並粘貼到VBA宏中

[英]Copy and paste in VBA macro

我真的才剛剛開始學習VBA,並且已經多次使用該網站。

我有真正的頭抓癢者,希望獲得一些幫助和指導-希望它能幫助我更好地理解它。

我本質上是在列中列出一長串員工名稱,並且我需要為每個日期創建一行,其日期為01/01 / 2016-31 / 12/2016。

我在一張A列的3666行中(10 x 01/01 / 2016-31 / 12/2016),我想知道是否可以編寫VBA復制第一個職員名稱的值,並將其粘貼到366行中B列,然后下移1行,復制下一個人員名稱,然后粘貼下366行,然后重復直到所有10個人員名稱都完成為止。

給我留下每一行的員工姓名和日期。

希望這是有道理的。

任何幫助都是極好的

您可以使用以下代碼:

Sub test()
Dim i&, cl As Range, SDate As Date, FDate As Date, k As Variant
Dim Dic As Object: Set Dic = CreateObject("Scripting.Dictionary")
Dic.CompareMode = vbTextCompare
i = [A:A].Find("*", , , , , xlPrevious).Row
For Each cl In Range("A2:A" & i)
    If Not Dic.exists(cl.Value2) Then Dic.Add cl.Value2, ""
Next cl
Workbooks.Add: [A1] = "Name": [B1] = "Date"
FDate = "01/01/2017": i = 2
For Each k In Dic
    SDate = "01/01/2016"
    While SDate < FDate
        Cells(i, "A").Value2 = k
        Cells(i, "B").Value2 = SDate
        Cells(i, "B").NumberFormat = "DD/MM/YYYY"
        SDate = SDate + 1: i = i + 1
    Wend
Next k
End Sub

資源:

在此處輸入圖片說明

輸出:

在此處輸入圖片說明

暫無
暫無

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

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