如何根据每月的天数复制粘贴数据?

问题描述:

嗨和美好的一天大家,如何根据每月的天数复制粘贴数据?

基本上我希望根据每月的天数提取数据。请看以下链接为了更好地说明:

https://drive.google.com/open?id=0B15JqLrOZtewamlRQ1ZMTmJZNWc&authuser=0

例如,D1显示当前月份是九月。因此我只需要从第1-30天提取数据。此外,我需要复制该ID并将其粘贴到日期的左栏30次。

有什么想法?

谢谢你的时间!

干杯, 补丁

+0

当然D1将被格式化为* MMMM *真正的日期(如2014年9月1日)...?如果是这种情况,那么'Day(DateSerial(Year(Range(“D1”)。Value),Month(Range(“D1”)。Value)+1,0))''会给你要拷贝的单元的数量。 – Jeeped 2014-11-25 09:38:42

+0

嗨Jeeped,D1的价值将纯属月,如9月或8月。 – patchlam 2014-11-26 02:40:48

+0

如果您在D1中输入* SEPTEMBER *或* AUGUST *,那么我会谦虚地暗示这是做错的方法。我真的无法从你的回复中看出你的意思。 – Jeeped 2014-11-26 02:47:03

我会得到你开始需要确定一个月内的天数宏代码,当一个月拼写为文本。

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 

在确定月份的最后一天后,使用它来调整单元格的源/目标区域的大小是一件小事。我试图确定最好的猜测为您的样本的单元格地址,但合并区域可能会弄脏事情。

Transfer number of rows by month

+0

谢谢Jeeped,这是完美的工作!只有一个担心,这个宏是否足够强大,以确定是否有2月28或29天? – patchlam 2014-11-27 05:19:16

+0

@patchlam - 如果您查看确定任何月份的天数的代码,您将看到它将当前年份附加到拼写出的月份名称中,以便获取最后一个月的日期。你必须在一个不同的年份(不同的2月28日/ 2月29日),以便它弄糟。 – Jeeped 2014-11-27 05:47:47

+0

Jeeped,非常感谢您的帮助! – patchlam 2014-11-27 06:04:10