Как из Range поместить данные в массив?

Программирование на Visual Basic for Applications
<Roman>
Начинающий
Начинающий
 
Сообщения: 3
Зарегистрирован: 18.04.2004 (Вс) 17:03

Как из Range поместить данные в массив?

Сообщение <Roman> » 18.04.2004 (Вс) 18:27

Пусть имеем объект таблицу Excel
Set xl = CreateObject("excel.sheet")

Подскажите пожалуйста как содержимое ячеек объекта
xl.Application.Range("A1:B200")

сразу передать в двумерный массив не перебирая каждую ячейку по очереди?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.04.2004 (Пн) 10:42

Код: Выделить всё
Option Explicit

Private Sub Form_Load()
  Dim arr As Variant, i As Long, j As Long
 
  With CreateObject("excel.application")
    With .workbooks.Add
      With .worksheets(1)
        .cells(1, 3) = 100
        .cells(5, 5) = 200
        arr = .range("a1:e5").Value
      End With
      .saved = True
    End With
    .quit
  End With
 
  If IsArray(arr) Then
    Debug.Print "Got array of values: "
    For i = LBound(arr, 1) To UBound(arr, 1)
      For j = LBound(arr, 2) To UBound(arr, 2)
        Debug.Print CDbl(arr(i, j)),
      Next
      Debug.Print
    Next
  Else
    Debug.Print "Got one value: " & arr
  End If
 
End Sub
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 80

    TopList