Я пытаюсь автоматизировать действия, необходимые для подсчета лидов, пришедших из экспортированного CSV из Unbounce. Мне удалось создать макрос для всех форм с одинаковым набором столбцов. Однако некоторые клиенты имеют разные формы, и в электронных таблицах создаются разные наборы столбцов, поэтому при применении макроса к электронным таблицам этих клиентов в функциях выбираются неправильные столбцы.
Мне нужно иметь возможность выбирать столбцы по имени заголовка, чтобы я мог применять функции к правым столбцам, даже если они не находятся в одинаковом положении.
На мой взгляд (не с синтаксисом VBA) это было бы что-то вроде
если
заголовок столбца = "электронная почта"
затем
выполнить функцию
еще
поиск по заголовку следующего столбца
Я нашел эти возможные решения
Найти заголовок столбца по имени и выбрать все данные под заголовком столбца (Excel-VBA)
https://www.extendoffice.com/documents/excel/4879-excel-select-column-by-header-name.html
но я не смог отделить часть кода, которая применяется только для выбора столбцов, а затем заставить следующие функции понять, что он должен работать с результатом предыдущего выбора.
Функции, которые мне нужны для правильного выбора столбцов, приведены ниже.
Цель состоит в том, чтобы удалить дубликаты столбцов формы с заголовком электронной почты, удалить тесты из столбцов с именем заголовка и адресом электронной почты, а затем подсчитать количество потенциальных клиентов с помощью utm_source = facebook и utm_source = instagram.
Range("G6").Select
ActiveSheet.Range("$A$1:$AA$2130").RemoveDuplicates Columns:=13, Header:= _
xlYes
Cells.Select
Selection.AutoFilter
Range("M5").Select
ActiveSheet.Range("$A$1:$AA$2130").AutoFilter Field:=13, Criteria1:= _
"=*test*", Operator:=xlAnd
Rows("2:2159").Select
Selection.Delete Shift:=xlUp
Range("M2127").Select
ActiveSheet.Range("$A$1:$AA$2125").AutoFilter Field:=13
ActiveSheet.Range("$A$1:$AA$2125").AutoFilter Field:=12, Criteria1:= _
"=*test*", Operator:=xlAnd
Rows("2:2155").Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$1:$AA$2123").AutoFilter Field:=12
Range("N8").Select
Sheets.Add After:=ActiveSheet
ActiveCell.FormulaR1C1 = "facebook"
Range("B1").Select
ActiveCell.FormulaR1C1 = _
"=COUNTIF('unbounce??'!C[20],""facebook"")+COUNTIF('unbounce??'!C[20],""instagram"")"