Есть вот такой код:
Спойлер
Sheets("z").Select
For i = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
If Cells(1, i) = "ad" Then
L = i: Exit For
End If
Next
Columns(L).Select
Selection.Copy
Sheets("v").Select
Columns("A:A").Select
ActiveSheet.Paste
Этот макрос ищет столбец "ad" и копирует этот столбец на другой лист.
Нюанс в том, что в исходной таблице два столбца с таким именем. Один полностью пустой, а другой может быть или полностью заполнен или частично - при этом в строке 2 может быть пусто, а в строке 3 может быть значение, т.е. столбец не заполняется сверху вниз, а заполняет хаотично.
Как скопировать на другой лист заполненный столбец "ad", а не пустой?
Макрос
Sub Макрос()
Sheets("z").Select
For j = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
If Cells(1, j) = "ad" Then
If WorksheetFunction.CountA(Columns(j)) <> 1 Then
L = j: Exit For
End If
End If
Next
Columns(L).Select
Selection.Copy
Sheets("v").Select
Columns("A:A").Select
ActiveSheet.Paste
End Sub