У меня есть описания деталей, которые я разделил на отдельные столбцы. Все столбцы имеют заголовки, но не все столбцы содержат информацию для каждой части, например: некоторые могут иметь размер, материал и темп, а другой может иметь только размер и темп. У меня есть функция, чтобы объединить их, которые игнорируют пробелы. Я хочу ссылаться на заголовок для столбца перед каждой ячейкой, которую я конкатенирую.VBA- Найти местоположение первой ячейки в именованном диапазоне для ссылки на строку заголовка таблицы
Желаемые результаты:
При вводе следующих в B6 = ConcatenateRangeValve (G6: J6 "")
Я хочу, чтобы эти результаты. [ITEM] Valve, [TYPE] Gate, [DIM] 28IN
Элементы в [] указаны в строке 1: 1, и мне не удается заставить мою функцию ссылаться на эту строку с тем же столбцом, вытащить заголовок. Я думаю, что нужно, чтобы определить, где я использую ячейку, во всей электронной таблице. Я попытался сделать это, установив C, установив его значение в качестве номера столбца первой ячейки в моем диапазоне, а затем увеличив его на 1, когда он выполнит цикл. Я не могу заставить его работать. Все остальные штуки в порядке. См. Ниже:
Function ConcatenateRangeValve(ByVal cell_range As Range, _
Optional ByVal seperator As String) As String
Dim newString As String
Dim cellArray As Variant
Dim i As Long, j As Long
Dim C As Long
cellArray = cell_range.Value
With Range("cell_range")
C = .Column
End With
For i = 1 To UBound(cellArray, 1)
For j = 1 To UBound(cellArray, 2)
If Len(cellArray(i, j)) <> 0 Then
newString = newString & (seperator & "[" & cells(1, C) & "]")
newString = newString & (cellArray(i, j))
End If
C = C + 1
Next
Next
If Len(newString) <> 0 Then
newString = Right$(newString, (Len(newString) - Len(seperator)))
End If
ConcatenateRangeValve = newString
End Function
Заранее благодарим за любую помощь, которую вы можете предложить.