Есть двухмерный массив Mas(Rw,8), можно ли его внести в лист по блочно типа Range, например Mas(Rw,1) в колонку 1, а с индексами 2...8 начиная с колонки 3. По ячейкам в цикле получается слишком долго. Пока это существует в таком виде [vba]
Код
For i = 1 To Rw1 Worksheets(Lst2).Cells(i + 1, 1) = Mas1(i, 1) For j = 3 To 9 Worksheets(Lst2).Cells(i + 1, j) = Mas1(i, j - 1) Next j Next i
[/vba] Rw1 может быть любым пока 300 с лишним, но может быть и больше. Если это вообще возможно, помогите пожалуйста
Есть двухмерный массив Mas(Rw,8), можно ли его внести в лист по блочно типа Range, например Mas(Rw,1) в колонку 1, а с индексами 2...8 начиная с колонки 3. По ячейкам в цикле получается слишком долго. Пока это существует в таком виде [vba]
Код
For i = 1 To Rw1 Worksheets(Lst2).Cells(i + 1, 1) = Mas1(i, 1) For j = 3 To 9 Worksheets(Lst2).Cells(i + 1, j) = Mas1(i, j - 1) Next j Next i
Это сейчас 330, а когда все заработает объемы могут быть совершенно другими, и с index ничего не вышло делать, то делает , но не то что нужно.
Это сейчас 330, а когда все заработает объемы могут быть совершенно другими, и с index ничего не вышло делать, то делает , но не то что нужно.parshin71
Я бы сразу изначально делал не один мас(), а два - чтоб из первого позже взять первый столбец (откинув второй), а из второго всё без пропусков от начала. Если конечно так можно сделать по задаче. Ну или изучайте copymemory - я правда так и не проникся, не использую.
Я бы сразу изначально делал не один мас(), а два - чтоб из первого позже взять первый столбец (откинув второй), а из второго всё без пропусков от начала. Если конечно так можно сделать по задаче. Ну или изучайте copymemory - я правда так и не проникся, не использую.Hugo
Dim M(), Mas1() .... ReDim M(1 To Rw1), Mas1(1 To Rw1, 1 To 8) For i = 1 To Rw1 M(i) = Mas1(i, 1) Next i Worksheets(Lst2).Range("A2").Resize(UBound(M())).Value = M()
[/vba] Rw1 пока рано 330, но может быть намного больше. Это как-будто бы все проходит, но в столбце А от 2 до 331 строки появляется только 1-й элемент массива. Что нужно сделать, чтобы появился весь массив?
Я попытался сделать следующее: [vba]
Код
Dim M(), Mas1() .... ReDim M(1 To Rw1), Mas1(1 To Rw1, 1 To 8) For i = 1 To Rw1 M(i) = Mas1(i, 1) Next i Worksheets(Lst2).Range("A2").Resize(UBound(M())).Value = M()
[/vba] Rw1 пока рано 330, но может быть намного больше. Это как-будто бы все проходит, но в столбце А от 2 до 331 строки появляется только 1-й элемент массива. Что нужно сделать, чтобы появился весь массив?parshin71
Сообщение отредактировал parshin71 - Вторник, 01.04.2014, 10:14
Хорошо я понял, скорее всего потребуется на много меньше, т.к. есть основной массив, который разделяется на 2 массива. Еще раз спасибо за информацию.
Хорошо я понял, скорее всего потребуется на много меньше, т.к. есть основной массив, который разделяется на 2 массива. Еще раз спасибо за информацию.parshin71