【问题标题】:Copy Data to Another Excel WorkBook Based on Criteria Using VBA使用 VBA 根据条件将数据复制到另一个 Excel 工作簿
【发布时间】:2023-03-28 11:33:01
【问题描述】:

我们有一个名为 Refund Automation 的工作簿,我们可以在其中输入日常交易。我们想提取所有包含“存档”条目的行并将它们复制到“主数据”工作簿中。此外,我们希望每天更新我们的“masterdata”工作簿,以便仅将“今日存档”发布到“masterData”工作簿。任何人都可以更正它说变量未在第 2 行定义的代码

Sub myData()
Dim LastRow As Integer, i As Integer, erow As Integer
LastRow = ActiveSheet.Range(“A” & Rows.Count).End(xlUp).Row
For i = 2 To LastRow
If Cells(i, 24).Value = Date And Cells(i, 25).Value = “Done” Then
Range(Cells(i, 1), Cells(i, 25)).Select
Selection.Copy
Workbooks.Open Filename:="E\Brm\By Ram Final.xlsm"
Worksheets(“Sheet3”).Select
erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
ActiveSheet.Cells(erow, 1).Select
ActiveSheet.Paste
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.CutCopyMode = False
End If
Next i
End Sub

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    只需使用双引号而不是引号,它绝对可以正常工作。

    Sub myData()
    Dim LastRow As Integer, i As Integer, erow As Integer
    LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To LastRow
    If Cells(i, 24).Value = Date And Cells(i, 25).Value = "Done" Then
    Range(Cells(i, 1), Cells(i, 25)).Select
    Selection.Copy
    Workbooks.Open Filename:="E:\Brm\By Ram Final.xlsm"
    
    Worksheets("DATA").Select
    erow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
    ActiveSheet.Cells(erow, 1).Select
    ActiveSheet.Paste
    ActiveWorkbook.Save
    ActiveWorkbook.Close
    Application.CutCopyMode = False
    End If
    Next i
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-26
      • 2022-11-25
      • 1970-01-01
      • 2023-02-02
      • 2014-07-07
      • 1970-01-01
      • 2014-12-09
      • 1970-01-01
      相关资源
      最近更新 更多