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

如何用VBA跳过无邮箱行发送邮件直至strTour_Nr为空行

VBA发送邮件:跳过空邮箱直到指定行结束

核心思路:主动判断替代错误忽略

别依赖On Error Resume Next掩盖问题,直接在循环里加两个判断逻辑:

  • 先检查当前行的strTour_Nr是否为空,为空就终止循环
  • 再检查当前行的strEmail是否为空,为空就跳过该行,继续下一行

完整代码示例

Sub SendTourEmails()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim strEmail As String
    Dim strTour_Nr As String
    Dim olApp As Object
    Dim olMail As Object
    
    ' 设置要读取的工作表
    Set ws = ThisWorkbook.Worksheets("你的工作表名称") ' 替换成实际表名
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 假设Tour_Nr在A列,按需修改列号
    
    ' 初始化Outlook对象
    Set olApp = CreateObject("Outlook.Application")
    
    ' 从第2行开始循环(假设第1行是表头)
    For i = 2 To lastRow
        ' 获取当前行的Tour_Nr和邮箱
        strTour_Nr = Trim(ws.Cells(i, "A").Value) ' 替换成Tour_Nr所在列
        strEmail = Trim(ws.Cells(i, "B").Value) ' 替换成邮箱所在列
        
        ' 终止条件:Tour_Nr为空时退出循环
        If strTour_Nr = "" Then
            Exit For
        End If
        
        ' 跳过空邮箱的行
        If strEmail = "" Then
            GoTo NextRow
        End If
        
        ' 发送邮件的逻辑
        Set olMail = olApp.CreateItem(0)
        With olMail
            .To = strEmail
            .Subject = "你的邮件主题"
            .Body = "邮件内容"
            ' .Attachments.Add "附件路径" ' 如果需要加附件的话
            .Send ' 测试阶段可以用.Display代替
        End With
        
        ' 释放邮件对象
        Set olMail = Nothing
        
NextRow:
    Next i
    
    ' 释放Outlook对象
    Set olApp = Nothing
    MsgBox "邮件发送完成"
End Sub

关于On Error Resume Next的正确停止方式

如果确实需要临时忽略特定错误,记得在不需要的时候关闭错误捕获:

  • 用On Error GoTo 0恢复默认错误处理(遇到错误会正常弹出提示并终止)
  • 示例用法:
On Error Resume Next
' 执行可能出错的代码(比如发送邮件)
If Err.Number <> 0 Then
    ' 可选:记录错误信息到调试窗口
    Debug.Print "行" & i & "发送失败:" & Err.Description
    Err.Clear
End If
On Error GoTo 0 ' 关闭错误忽略,恢复正常错误处理

注意:尽量少用On Error Resume Next,它会隐藏其他潜在问题(比如Outlook未启动、权限不足等),主动判断邮箱和终止条件的方式更可控。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:36:00