Я надеялся, что кто-нибудь сможет предложить мне некоторую помощь, пожалуйста? Моя таблица Excel содержит различные столбцы, и я просто хотел добавить еще один столбец в конце. Поэтому, если мой лист содержит 20 столбцов данных, я хочу добавить заголовок к столбцу U1, в следующий раз, если мой лист содержит 22 столбца данных, я хочу добавить заголовок к V1 и т. Д.
Теперь мне удалось получить следующую букву столбца, однако, когда я пытаюсь передать текст в строку заголовка, я получаю ошибку ссылки на объект, не установленную для экземпляра объекта в следующей строке
.Range (ColumnIndexToColumnLetter (lColumn + 1) & 1) .Value = "TESTT"
Любая помощь очень ценится, большое спасибо
Dim xls As New Excel.Application
Dim xWorkbook As Excel.Workbook
Dim xWorksheet As Excel.Worksheet
Dim lColumn As Long = 0
xWorkbook = xls.Workbooks.Open("D:\Test.xlsx") 'File Location
xWorksheet = xWorkbook.Sheets(1)
xls.Visible = True
With xWorksheet
If xls.WorksheetFunction.CountA(.Columns) <> 0 Then
lColumn = .Columns.Find(What:="*", _
After:=.Range("A1"), _
LookAt:=Excel.XlLookAt.xlPart, _
LookIn:=Excel.XlFindLookIn.xlFormulas, _
SearchOrder:=Excel.XlSearchOrder.xlByColumns, _
SearchDirection:=Excel.XlSearchDirection.xlPrevious, _
MatchCase:=False).Column
Else
lColumn = 1
End If
End With
With xWorksheet
.Range(ColumnIndexToColumnLetter(lColumn + 1) & 1).Value = "TESTT"
End With
Private Function ColumnIndexToColumnLetter(colIndex As Integer) As String
Dim div As Integer = colIndex
Dim colLetter As String = String.Empty
Dim modnum As Integer = 0
While div > 0
modnum = (div - 1) Mod 26
colLetter = Chr(65 + modnum) & colLetter
div = CInt((div - modnum) \ 26)
End While
Return colLetter
End Function