Не присваивается непоследовательный Range для Excel из VB6.0
Формулировка задачи:
Добрый день!
Возникла проблема на позднем подключении из приложения к экселю.
А именно, невозможно присвоить "дырявый" Range объекту. В VBA код работает хорошо.
В VB работает только с непрерывным диапазоном. См. код:
Как ещё можно присвоить непоследовательный Range объекту из VB?
Решение задачи: «Не присваивается непоследовательный Range для Excel из VB6.0»
textual
Листинг программы
Private Sub test() Dim objExcel As Object Dim objWorkbook As Object Dim oRanges As Object Dim sAddress As String Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("c:\test.xls") Set ExcelWorkSheet = objWorkbook.Worksheets(1) sAddress = "A4:R9,A11:R436,A439:R452,A454:R1326" '<= ставим "дырявый" диапазон a = Split(sAddress, ",") Set oRange = ExcelWorkSheet.Range(a(0)) For i = 1 To UBound(a) Set oRange = objExcel.Union(oRange, ExcelWorkSheet.Range(a(i))) Next oRange.Select Set objWorkbook = Nothing Set objExcel = Nothing Set oRange = Nothing End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д