Я пытаюсь удалить более одного столбца в своем листе Excel.
For Each lvi In ListView1.Items
If lvi.Checked = True Then
arrayLetters = lvi.SubItems(1).Text & ":" & lvi.SubItems(1).Text & "," & arrayLetters
End If
Next
arrayLetters = arrayLetters.Substring(0, arrayLetters.Length - 1)
Dim rg As Excel.Range = xlSheet.Columns(arrayLetters)
rg.Select()
rg.Delete()
Значение arrayLetters равно "G: G, F: F" .По какой-то причине это, похоже, не работает, как только он попадает туда, чтобы удалить их!Единственная причина, по которой я это делаю, заключается в том, что она не обновляет таблицу и не переходит на другую.Другими словами, если я удаляю каждый из них по отдельности, то столбец перемещается, и буква не будет такой же, как в следующем.
Ошибка на Dim rg As Excel.Range = xlSheet.Столбцы (arrayLetters) строка и там написано:
Несоответствие типов.(Исключение из HRESULT: 0x80020005 (DISP_E_TYPEMISMATCH))
Любая помощь будет отличной!
Дэвид
решено
For Each lvi In ListView1.Items
If lvi.Checked = False Then
arrayLetters = lvi.SubItems(2).Text & "," & arrayLetters 'Puts numbers in BACKWORDS
End If
Next
arrayLetters = arrayLetters.Substring(0, arrayLetters.Length - 1)
Dim theNumbers As String() = arrayLetters.Split(",")
Dim num As Integer = 0
xlApp.ScreenUpdating = False
For Each num In theNumbers
xlSheet.Columns(num).delete() 'Deletes columns in reverse order (7,5,4...)
Next