如何根据每月的天数复制粘贴数据?
问题描述:
嗨和美好的一天大家,如何根据每月的天数复制粘贴数据?
基本上我希望根据每月的天数提取数据。请看以下链接为了更好地说明:
https://drive.google.com/open?id=0B15JqLrOZtewamlRQ1ZMTmJZNWc&authuser=0
例如,D1显示当前月份是九月。因此我只需要从第1-30天提取数据。此外,我需要复制该ID并将其粘贴到日期的左栏30次。
有什么想法?
谢谢你的时间!
干杯, 补丁
答
我会得到你开始需要确定一个月内的天数宏代码,当一个月拼写为文本。
Dim dys As Long
With ActiveSheet
dys = Day(Application.EoMonth(DateValue(.Cells(1, 4).Value & " 1, " & Year(Date)), 0))
.Cells(2, 7).CurrentRegion.ClearContents
.Cells(2, 7) = "ID"
.Cells(2, 8).Resize(1, 4) = .Cells(2, 1).Resize(1, 4).Value
.Cells(3, 7).Resize(dys, 1) = .Cells(1, 2).Value
.Cells(3, 8).Resize(dys, 4) = .Cells(5, 1).Resize(dys, 4).Value
Debug.Print dys
End With
在确定月份的最后一天后,使用它来调整单元格的源/目标区域的大小是一件小事。我试图确定最好的猜测为您的样本的单元格地址,但合并区域可能会弄脏事情。
当然D1将被格式化为* MMMM *真正的日期(如2014年9月1日)...?如果是这种情况,那么'Day(DateSerial(Year(Range(“D1”)。Value),Month(Range(“D1”)。Value)+1,0))''会给你要拷贝的单元的数量。 – Jeeped 2014-11-25 09:38:42
嗨Jeeped,D1的价值将纯属月,如9月或8月。 – patchlam 2014-11-26 02:40:48
如果您在D1中输入* SEPTEMBER *或* AUGUST *,那么我会谦虚地暗示这是做错的方法。我真的无法从你的回复中看出你的意思。 – Jeeped 2014-11-26 02:47:03