Мне нужно заменить "1" в столбцах на текст заголовка столбца.
Это говорит о круговой ссылке ... Есть ли способ добиться этого?
Это для столбца А с заголовком в строке № 1:
Запустите этот короткий макрос:
Sub UseHeader()
Dim v As String, rng As Range
Set rng = Range("A:A")
v = rng(1).Value
rng.Replace What:="1", replacement:=v
End Sub
Результат:
Чтобы сделать это для нескольких столбцов, необходимо указать, какие столбцы имеют заголовки.
Очень простое решение:
Скажем, есть три столбца с заголовками в строке 1: A1 = X, B1 = Y, C1 = Z
Скопируйте все данные трех столбцов и вставьте их в столбцы D, E, F и снова вставьте их в столбцы G, H, I.
Теперь в D, E, F Set введите формулу:
D2 = D1, E2 = E1 и F2 = F1. Скопируйте эти формулы вниз по строкам.
В столбцах Set G, H и I введите формулу: G2: = if(A2 = 1, D2, "") Скопируйте формулу G2 в H2 и I2
Скопируйте формулу G2, H2 и I2 по строкам
Таким образом, вы получите желаемый результат в наборе 3 столбцов G, H и I
Скопируйте область G, H и I и вставьте значения
Если вы хотите сейчас столбцы A, B ..F можно удалить.