我在价格工作表中有一张表,其中包含价格和日期。我正在尝试使用VLOOKUP和VBA来查找与1月相关的价格,然后将这些价格复制到另一个工作表上。但由于日期是DATE格式,我坚持使用VBA代码。
例如
A列显示日期 B栏显示价格。 可能会在不同日期显示价格,例如2014年1月1日或02/01/2011等
我想复制1月份的价格。
答案 0 :(得分:0)
您可以使用此功能,但只考虑1月份的价格。它很容易让它在所有月份都能正常工作,但我不确定你是怎么想要这样做的。无论一年中的哪一年,这都会夺走整个一月。如果你想要添加年份,你只需要嵌套另一个IF语句。制作第一个IF年和第二个月。
Sub MonthFromDate()
Dim tempMonth As Long
Dim tempDate As Date
Dim lastSourceRow As Long, tRow As Long
Dim source As String, target As String
source = "Prices" 'Source Sheet Name is set here
target = "Annual Prices" 'Target Sheet
tRow = Sheets(target).Range("A" & Rows.count).End(xlUp).row + 1
lastSourceRow = Sheets(source).Range("A" & Rows.count).End(xlUp).row
For lRow = 2 To lastSourceRow 'Start looping through source sheet at Row 2 for Headers
tempDate = Sheets(source).Cells(lRow, 1)
tempMonth = Month(tempDate)
If tempMonth = 1 Then 'This is where you would insert a VARIABLE for 1.
Sheets(target).Cells(tRow, 1).Value = Sheets(source).Cells(lRow, 1).Value
Sheets(target).Cells(tRow, 2).Value = Sheets(source).Cells(lRow, 2).Value
tRow = tRow + 1
End If
Next lRow
End Sub