【问题标题】:Excel Index Function Email Listing With Empty ColumnsExcel 索引函数电子邮件列表与空列
【发布时间】:2019-07-25 23:12:28
【问题描述】:

我有一个从单元格 C2:L1000 开始的电子邮件列表。其中一些单元格是空白的。某些单元格包含与其他单元格相同的电子邮件。我正在尝试在单个列中列出所有电子邮件,以过滤掉重复值和空单元格。什么函数或 VBA 可以帮助我实现这个目标?

【问题讨论】:

  • 使用Excel的基本功能Remove Duplicates。如果你用谷歌搜索或在 YouTube 上查找它,你就会得到答案。

标签: excel vba indexing duplicates


【解决方案1】:

这不是很有效,但也许它会给您一些关于如何完成您正在寻找的东西的想法。祝你好运

Sub RunThisCode()
Dim rcell As Range, Column2PlaceValues As Range, RangeOfEmailAddress As Range

Set Column2PlaceValues = Range("M:M").EntireColumn
Set RangeOfEmailAddress = Rangee("C2:L1000")


For Each rcell In RangeOfEmailAddress.Cells


    If IsEmpty(rcell) Then
        'do nothing

    ElseIf Not (Test4Match(rcell, Column2PlaceValues)) Then
        Cells(Rows.Count, Column2PlaceValues.Column).End(xlUp).Offset(1, 0) = rcell.Value

    End If


Next rcell


End Sub


Private Function Test4Match(rcell As Range, Column2PlaceValues As Range) As Boolean

On Error GoTo NOPE
    Test4Match = Application.WorksheetFunction.Match(rcell.Value, Column2PlaceValues, 0)
Exit Function

NOPE:

End Function

【讨论】:

  • 我用更好的答案更新了这个。我很确定它会给你你所需要的。
  • 谢谢,第一次更新满足了我的需要。我将它添加到我的另一个在打开工作簿时运行的宏中。我以“Dim rcell As Range, ColumnToPlaceValues As Long ColumnToPlaceValues = Worksheets("Emails").Range("A:A").Column For Each rcell In Worksheets("Report").Range("C2:L1000") .Cells Cells(Rows.Count, ColumnToPlaceValues).End(xlUp).Offset(1, 0) = rcell.Value Next rcell Columns(ColumnToPlaceValues).RemoveDuplicates Worksheets("Emails").Range("$A$2:$A $10000").RemoveDuplicates Columns:=1, Header:= _ xlYes End Sub"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多