You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改VBA代码实现自动打开目标工作簿后执行条件判断?

修改后的代码
Sub Button3_Click()
    Dim sourceWB As Workbook
    Dim sourceWS As Worksheet
    Dim destWB As Workbook
    Dim destWS As Worksheet
    Dim sourceRange As Range
    Dim destRange As Range
    Dim lastRow As Long
    Dim i As Long
    ' 替换为你的文件实际完整路径
    Dim sourceFilePath As String
    Dim destFilePath As String
    
    sourceFilePath = "C:\你的文件夹路径\Copy of Copy of Copy of Pace Duplicate Check 2023 (002).xlsm"
    destFilePath = "C:\你的文件夹路径\MacroTestWorkbook.xlsm"
    
    ' 检查源工作簿是否已打开,未打开则打开
    On Error Resume Next
    Set sourceWB = Workbooks("Copy of Copy of Copy of Pace Duplicate Check 2023 (002).xlsm")
    On Error GoTo 0
    If sourceWB Is Nothing Then
        Set sourceWB = Workbooks.Open(sourceFilePath)
    End If
    
    ' 检查目标工作簿是否已打开,未打开则打开
    On Error Resume Next
    Set destWB = Workbooks("MacroTestWorkbook.xlsm")
    On Error GoTo 0
    If destWB Is Nothing Then
        Set destWB = Workbooks.Open(destFilePath)
    End If
    
    Set sourceWS = sourceWB.Worksheets("PAID")
    Set destWS = destWB.Worksheets("Sheet1")
    lastRow = sourceWS.Cells(sourceWS.Rows.Count, "J").End(xlUp).Row ' 指定工作表行数,避免引用混乱
    
    For i = lastRow To 1 Step -1 ' 反向循环避免删除行后跳过数据
        If sourceWS.Cells(i, "J").Value = "REMOVE" Then
            Set sourceRange = sourceWS.Rows(i)
            Set destRange = destWS.Cells(destWS.Rows.Count, "A").End(xlUp).Offset(1, 0)
            sourceRange.Copy destRange
            sourceRange.Delete
        End If
    Next i
  
    destWB.Save
    destWB.Close
    ' 若需要关闭源工作簿,取消下面两行注释
    ' sourceWB.Save
    ' sourceWB.Close
End Sub
关键修改说明
  • 指定完整文件路径:Workbooks.Open仅传文件名时,Excel只会在默认路径查找,大概率找不到文件,这是你之前用.Open后宏停止的核心原因,必须填写工作簿的绝对路径。
  • 检查工作簿状态:先尝试获取已打开的工作簿,找不到再执行打开操作,避免重复打开导致报错。
  • 修正行数引用:原代码Rows.Count未指定工作表,会默认引用当前活动工作表的行数,改为sourceWS.Rows.Count更严谨。
  • 临时错误捕获:用On Error Resume Next跳过获取工作簿时的错误,之后恢复正常错误处理,避免其他问题被掩盖。

内容的提问来源于stack exchange,提问作者Adam Dominguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:00:37