2014-11-07 2 views
-4

Я хотел бы найти переменную с конкатенацией.Найти переменную с конкатенацией

Exemple:

Dim oExcelRangeArray1(0, 0) As Object 
Dim oExcelRangeArray2(0, 0) As Object 
Dim oExcelRangeArray3(0, 0) As Object 

For i As Integer = 1 To 3 
    oExcelRangeArray & i = xl.Range("A1:Z400").Value 
Next 

но oExcelRangeArray & i не работает.

Спасибо

+0

Зачем нужен двухдиапазонный массив для хранения одного значения типа 'xl.Range (« A1: Z400 »). Значение« –

+0

»Для строк и столбцов моей таблицы – BobyCode

ответ

1

В меру моих знаний, нет никакого способа, чтобы добиться того, что вы пытаетесь сделать напрямую, потому что oExcelRangeArray & i не будет оцениваться как отдельный шаг до присваивание переменной происходит.

В моем уме у вас есть два варианта:

  1. Присвоить каждой переменной в отдельности,

    oExcelRangeArray1 = x1.Range("A1:Z400").Value 
    oExcelRangeArray2 = x1.Range("A1:Z400").Value 
    oExcelRangeArray3 = x1.Range("A1:Z400").Value 
    oExcelRangeArray4 = x1.Range("A1:Z400").Value 
    
  2. Или добавьте каждый массив в список и итерацию через него,

    Dim oExcelRangeArrayList As New List(Of Object) 
    oExcelRangeArrayList.Add(oExcelRangeArray1) 
    oExcelRangeArrayList.Add(oExcelRangeArray2) 
    oExcelRangeArrayList.Add(oExcelRangeArray3) 
    oExcelRangeArrayList.Add(oExcelRangeArray4) 
    
    For i As Integer = 0 To 3 
        oExcelRangeArrayList(i) = x1.Range("A1:Z400").Value 
    Next 
    

[Примечание: W ритинг этого от руки без проверки, код может быть не дословным; надеюсь, вы получите концепцию. Исправления исправлены.]

+0

Thx очень много :) – BobyCode

+1

Я только что отредактировал ваше сообщение, пропустил «Новый», его «Новый список (из объекта)», – BobyCode

Смежные вопросы