我对 VBA 还很陌生,所以也许这是非常基础的,但我正在为此绞尽脑汁。
我有一个数据库工作表。每个月我们都会收到来自工厂的多个计划,我将其粘贴到工作簿中进行分析。但我想自动化。 B 列中列出了数据输入的月份。我现在使用下面的行来过滤当前月份:
Worksheets("Production Plan Input").Range("A1:BQ290").AutoFilter Field:=2, Criteria1:=xlFilterThisMonth, Operator:=xlFilterDynamic
这有效。
但现在我想将筛选范围的 C 列中的产品组与具有不同计划的工作簿进行匹配。
为此,我需要将工作簿“产品类型 1”工作表“月度计划”中的范围 B3:Y3 复制到工作簿“生产计划分析”、工作表“计划输入”的 AD:BA 列,但该行取决于产品类型。
有人知道解决这个问题的最佳方法吗? 谢谢!
Dim lastRow As Long
Dim ws As Worksheet
Dim i As Long
ws = ThisWorkbook.Sheets("Production Plan Input")
lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
For i = 1 To lastRow
If ws.Cells(i, "C").Value = "exe" Then
ws.Range("AD" & i & ":BA" & i).Value = Paste
End If
我收到错误消息“编译错误:没有下一步”
要消除错误:
只需更正您的代码:
Public Sub Test()
Dim lastRow As Long
Dim ws As Worksheet
Dim i As Long
ws = ThisWorkbook.Sheets("Production Plan Input")
lastRow = ws.Cells(ws.Rows.Count, "C").End(xlUp).Row
For i = 1 To lastRow
If ws.Cells(i, "C").Value = "exe" Then
ws.Range("AD" & i & ":BA" & i).Value = Paste
End If
Next ' <= here what is missing
End Sub