使用命名列作为参考而不是单元格偏移

问题描述 投票:0回答:1

我在一列中有一个电子邮件地址列表。 使用名称管理器,我将整个列 $Q:$Q 命名为“电子邮件”。

我有一个宏,如果电子邮件的行标有“a”,则可以将电子邮件串在一起;

For Each Cell In RangeToConsider
    If Cell.Value = "a" Or Cell.Value = "A" Then
        strAddresses = strAddresses & "; " & Cell.Offset(0, 6).Value
    End If
Next

如何使用命名列而不是 Cell.Offset(0, 6).Value?

我已经尝试过了;

Cell.Offset(0, Range("Email").Column.Value

它不会返回错误,但也不会返回任何值。

excel vba named-ranges
1个回答
0
投票

您的解决方案在这里:

Sub Aadas()
  Dim cell As Range, RangeToConsider As Range, strAddresses As String
  Set RangeToConsider = [C4].Resize(6, 1)
  For Each cell In RangeToConsider
      If LCase(cell.Value) = "a" Then
          strAddresses = strAddresses & "; " & Range("Email").Cells(cell.Row)
      End If
  Next
  [A1] = Mid(strAddresses, 3)
End Sub

您可以寻址指定的列并按行号选择其中的单元格。

© www.soinside.com 2019 - 2024. All rights reserved.