2016-05-29 8 views
0

У меня есть (большая) таблица с заголовками в следующем формате: table with row and column headersСделать ячейки равной конкатенации ее столбцами и строками заголовков в Excel

Я хотел бы установить клетки, помеченные с 'x' для конкатенации заголовка столбца и заголовка строки, разделенного запятой. Например, ячейка B2 должна быть установлена ​​на «c1_HEADER, r1_HEADER».

Есть ли формула, которую я могу использовать для достижения этой цели? По крайней мере, нажав отмеченные ячейки «x» и применив формулу? Мне бы очень не хотелось идти по ручному маршруту: /.

TIA.

ответ

0

Если мы начнем с:

enter image description here

работает этот макрос:

Sub luxation() 
    Dim r As Range 

    For Each r In Range("B2").CurrentRegion 
     If r.Value = "x" Then 
      r.Value = r.EntireColumn.Cells(1).Value & "," & r.EntireRow.Cells(1).Value 
     End If 
    Next r 
End Sub 

будет производить:

enter image description here

Примечание:

в этом макро Range("B2").CurrentRegion представляет блок клеток, которые мы Перебор. Переменная r - это диапазон с одной ячейкой, который облегчает цикл.

+0

Работал как очарование! Я никогда раньше не использовал макросы, но должен сказать, что это было что-то красивое. Спасибо, хороший сэр/мэм. Для получения дополнительной информации, вы могли бы объяснить термины: 'Dim r As Range'; AND 'Диапазон (« B2 »). CurrentRegion'? – Shiv

+0

@Shiv См. Мой *** Примечание *** –