删除Excel中收件人字段中的重复项
UpdatedPymtsFile.Sheets("Data").Range("H2:H" & UpdatedPymtFileRows1).SpecialCells(xlCellTypeVisible)返回一个Range对象。由于您只在筛选列表中调用可见单元格,该范围可能是一组非连续区域。
您的问题是,对于具有多个区域的范围,.Value属性只返回第一个区域的值。
一个解决方案是将范围捕获到一个range变量中,然后循环.Areas集合。
Dim rng As Range, ar As RangeSet rng = UpdatedPymtsFile.Sheets("Data").Range("H2:H" & UpdatedPymtFileRows1).SpecialCells(xlCellTypeVisible)EmailTo = ""For Each ar In rng.Areas EmailTo = ";" & EmailTo Join(Application.Transpose(ar.Value), ";")NextEmailTo = Mid$(EmailTo, 2)如果过滤器没有可见单元格,则需要添加错误处理。