【问题标题】:Send HTML Email Range发送 HTML 电子邮件范围
【发布时间】:2016-08-31 13:42:48
【问题描述】:

我有以下脚本,它设置了要复制到电子邮件的范围,但是我要求此范围从第 1 列到第 13 列,同时删除第 7 列(“1:6”、“8:13”) 我已经尝试了各种方法来纠正这个问题,但是每次尝试都会导致错误。

这是我正在使用的代码

Set RangeCopy = Sheets("Applications").Range(Cells(1, 1), Cells(R, 13)).SpecialCells(xlCellTypeVisible)

感谢任何帮助。 谢谢。

【问题讨论】:

    标签: vba excel html-email


    【解决方案1】:

    使用Union 是一种非常干净的方式。请参阅下面的代码示例,了解您的代码。

        Dim unionrng As Range
        Set unionrng = Application.Union(Sheets("Applications").Range(Cells(1, 1), Cells(r, 6)), _
                                         Sheets("Applications").Range(Cells(1, 8), Cells(r, 13)))
        Sheets("Applications").Range(unionrng.Address).SpecialCells (xlCellTypeVisible)
    

    【讨论】:

      【解决方案2】:

      您有两个选择——通过逗号连接范围地址或构造单独的范围并使用Union 方法。查看 Microsoft 帮助中的 How to: Refer to Multiple Ranges 文章。

      【讨论】:

      • 谢谢,我找了好几个小时才找到这个。这非常有效。
      【解决方案3】:

      您可以尝试在这样的循环中使用 Union。

      Dim x As Long
      Dim y As Long
      
      For y = 1 To 13
          For x = 1 To r
      
              If y <> 7 Then
                  If RangeCopy Is Nothing Then
                  Set RangeCopy = cells(x, y)
                  Else
                  Set RangeCopy = Application.Union(RangeCopy, cells(x, y))
                  End If
              End If
      
          Next x
      Next y
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-30
        • 2017-01-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-07
        相关资源
        最近更新 更多