我在一列中有一个电子邮件地址列表。 使用名称管理器,我将整个列 $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
它不会返回错误,但也不会返回任何值。
您的解决方案在这里:
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
您可以寻址指定的列并按行号选择其中的单元格。