Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите функцию... / 10 сообщений из 10, страница 1 из 1
31.08.2005, 08:55
    #33242453
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Есть ли такая функция, которая будет добавлять к диапазону ячеек еще одну строку. Но только не union.А то вот это дело жутко тормозит:


Код: plaintext
1.
2.
3.
4.
If r1 Is Nothing Then
    Set r1 = Range(Cells((i - 1) * 3 + 1, 1), Cells((i - 1) * 3 + 1, 1))
  Else
    Set r1 = Union(r1, Range(Cells((i - 1) * 3 + 1, 1), Cells((i - 1) * 3 + 1, 1)))
  End If
...
Рейтинг: 0 / 0
31.08.2005, 09:46
    #33242552
Подскажите функцию...
Код: plaintext
1.
2.
Set r1 = Range("" & r1.Address & ", " & _
  Range(Cells((i -  1 ) *  3  +  1 ,  1 ), Cells((i -  1 ) *  3  +  1 ,  1 )).Address & "")
...
Рейтинг: 0 / 0
31.08.2005, 10:32
    #33242701
Processor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Resize Property
Resizes the specified range. Returns a Range object that represents the resized range.
Syntax
expression. Resize ( RowSize, ColumnSize )
expression Required. An expression that returns a Range object to be resized.
RowSize Optional Variant. The number of rows in the new range. If this argument is omitted, the number of rows in the range remains the same.
ColumnSize Optional Variant. The number of columns in the new range. If this argument is omitted, the number of columns in the range remains the same.
...
Рейтинг: 0 / 0
31.08.2005, 10:43
    #33242754
Подскажите функцию...
Я тоже сначала подумал про Resize. Но потом, прочитав внимательнее, я понял, что Аленочка хочет в один диапазон объединить два диапазона, а не расширить имеющийся.
...
Рейтинг: 0 / 0
01.09.2005, 03:54
    #33244734
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Пользователь2Я тоже сначала подумал про Resize. Но потом, прочитав внимательнее, я понял, что Аленочка хочет в один диапазон объединить два диапазона, а не расширить имеющийся.

Я хочу не объеденить, а расширить, вот например у меня в диапазоне 1000 строк и к нему постоянно добавляется по одной строке, можно использовать union, но на практике это занимает много времени и наверное точки зрения экономии памяти тоже неэффективно.

Поэтому нужны другие способы решения проблемы.
...
Рейтинг: 0 / 0
01.09.2005, 05:06
    #33244743
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Вот так?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim i As Integer
Dim r1 As Range

Set r1 = Nothing

For i = 1 To Cells(1, 2).Value

  If r1 Is Nothing Then
    Set r1 = Range(Cells((i - 1) * 3 + 1, 1), Cells((i - 1) * 3 + 1, 1))
  Else
    r1.Resize(Range(Cells((i - 1) * 3 + 1, 1), Cells((i - 1) * 3 + 1, 1)))
  End If

Не работает!
...
Рейтинг: 0 / 0
01.09.2005, 05:08
    #33244744
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Пользователь2
Код: plaintext
1.
2.
Set r1 = Range("" & r1.Address & ", " & _
  Range(Cells((i -  1 ) *  3  +  1 ,  1 ), Cells((i -  1 ) *  3  +  1 ,  1 )).Address & "")


Работает...
...
Рейтинг: 0 / 0
01.09.2005, 05:13
    #33244746
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Пользователь2
Код: plaintext
1.
2.
Set r1 = Range("" & r1.Address & ", " & _
  Range(Cells((i -  1 ) *  3  +  1 ,  1 ), Cells((i -  1 ) *  3  +  1 ,  1 )).Address & "")


Если вас не затруднит, объясните смысл этой записи и преимущество перед union.
Заранее спасибо
...
Рейтинг: 0 / 0
01.09.2005, 05:27
    #33244748
Аленочка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Пользователь2
Код: plaintext
1.
2.
Set r1 = Range("" & r1.Address & ", " & _
  Range(Cells((i -  1 ) *  3  +  1 ,  1 ), Cells((i -  1 ) *  3  +  1 ,  1 )).Address & "")


При большом размере диапазона не работает, так как ограничение строки до 256 символов
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
30.03.2007, 10:08
    #34426557
Granata005
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите функцию...
Утож.... мне тоже самое сейчас приходится делать...
строки в разнобой по всему листу и их очень много... :(
придётся Union использовать....
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Подскажите функцию... / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]