У меня есть таблица, содержащая список имен.
Я хотел бы обновить дополнительную таблицу, чтобы иметь заголовки, соответствующие этому списку имен (начиная со столбца 2).
Пример, если мой исходный список содержал a,b,c. Я хотел бы, чтобы в моей вторичной таблице были заголовки столбцов «пусто», a, b, c
With Range("Original Table[Names]")
Range("Secondary Table").HeaderRowRange.Value = .Value
End With
Вышеприведенное дает мне ошибки, однако я не могу понять, как это решить
Я пытался сделать это разными способами, но все равно получаю ошибки
Кроме того, у вас не может быть пустого заголовка таблицы.
Используйте Transpose
и Resize
.
With Range("Original Table[Names]")
Range("Secondary Table").HeaderRowRange.Cells(2).Resize(,.Rows.Count).Value = Application.Transpose(.Value)
End With
Возможно, это личное предпочтение, но я бы работал с ListObject
s здесь:
Dim origTable As ListObject
Set origTable = ThisWorkbook.Worksheets("insertname").ListObjects("Original Table")
Dim secTable As ListObject
Set secTable = ThisWorkbook.Worksheets("insertname").ListObjects("Secondary Table")
With origTable.ListColumns("Names").DataBodyRange
secTable.HeaderRowRange.Cells(2).Resize(,.Rows.Count).Value = Application.Transpose(.Value)
End With
Также обратите внимание, что заголовок столбца не может быть пустым в таблице.
Наверное нужно
Application.Transpose
здесь.