首先让我说我对VBA还是很陌生,所以我在这里的方法可能是完全错误的。我试图根据另一个工作表中的数据通过VBA填充表格。
我的输出表具有以下布局。
我要做的只是根据工作表2(CSV数据PR)填充当月的列,并粘贴为值。原因是工作表2的数据将会与每个月的新月数据一起删除。
工作表2的结构如下:
到目前为止,我有以下代码,但是它不能完成任务。我知道如何在其他工作表中找到所需的列,但不知道如何在SUMIF函数中的VBA中调用它们,而仅用数据填充当前月份。
Sub test()
Dim LastRow As Long
Dim rw As Long
Dim x, y As Worksheet
Dim Cell As Range
Dim ThisMonth As Date
Dim FindRng As Range
Set x = ThisWorkbook.Sheets("CSV data pr")
Set y = ThisWorkbook.Sheets("PR")
Set Rngheaders = y.Range("6:6")
Set RngheadersRaw = x.Range("1:1")
ThisMonth = Format(Date, "MM/YYYY")
ystdy = VBA.DateTime.Month(Date)
'MonthCol = RngHeaders2.Find(What:="Month").Column
LastRow = x.Range("A" & Rows.Count).End(xlUp).Row
Set FindRng = y.Range("6:6").Find(What:=ThisMonth, LookIn:=xlFormulas, lookat:=xlWhole)
If Not FindRng Is Nothing Then
FindRng.Offset(2, 0).Select
Selection.Resize(Selection.Rows.Count + 8).Value = "test"
Else
MsgBox "Error, unable to match " & ThisMonth & " in the specified range", vbCritical
End If
End Sub