[英]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.