Перебирать значения и фильтровать с их помощью VBA — мне нужно знать, как

#excel #vba

#excel #vba

Вопрос:

Ниже просто создается электронное письмо только для первого значения, найденного в Rawdata или на листе RemoveDup : (

Я пробовал for each, как указано ниже, но он все еще не работает.

Пожалуйста, помогите

 Sub Macro1()

     Sheets("RawData").Select
        Columns("A:A").Select
        Selection.Copy
        Sheets.Add(After:=Sheets(Sheets.Count)).Name = "DupRemoved"
        ActiveSheet.Paste
        Application.CutCopyMode = False
        ActiveSheet.Range("$A$1:$A$1000").RemoveDuplicates Columns:=1, Header:=xlYes

    Dim Cll As Range
    For Each Cll In Selection
    If Cll.Value < 0 Then
    Cll.Value = Sheets("Sheet1").Range("Opp").Value




        Worksheets("FilteredData").Range("$A$2:$S$1224").Cells.ClearContents
        Sheets("RawData").Select
        ActiveSheet.Range("$A$1:$S$1224").AutoFilter Field:=1, Criteria1:= _
            Sheets("Sheet1").Range("Opp").Value
        Rows("1:1").Select
        Range(Selection, Selection.End(xlDown)).Select
        Selection.Copy
        Rows("1:1").Select
        Sheets("FilteredData").Select
        Range("A1").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
            :=False, Transpose:=False
            Sheets("Mail").Select
           ActiveSheet.Range("$A$1:$S$1224").AutoFilter Field:=1, Criteria1:= _
            Sheets("Sheet1").Range("Opp").Value
    Sheets("RawData").Select
        Rows("1:1").Select
        ActiveSheet.ShowAllData
        Sheets("Home").Select

        End If

        Next Cll

        Call Macro2



      End Sub
  

Комментарии:

1. Нам понадобится больше информации!! «это все еще не работает» нам ни о чем не говорит!! Нам нужен 1) Входной образец из RawData, который содержит некоторые дубликаты, 2) Фактический результат, который не работает, 3) Ожидаемый результат, показывающий желаемый результат. 4) Если выдается ошибка, то какая строка кода завершается ошибкой…. Без 1,2,3,4 мы бы долгое время гадали в темноте.

2. Ваше call Macro2 сообщение не входит в цикл, поэтому оно отправит только одно письмо.

3. Спасибо за это, я только что разобрался с этим, теперь у меня проблема, и я не могу изменить фильтр с помощью столбца (T) Я изменил вышеуказанное на приведенное ниже, и я получаю таблицу активности с ошибкой. Диапазон(«$ A $ 1: $ T $ 480»).Поле автофильтра:=20, Criteria1:= _ чел.Значение