Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как вставить сразу кучу строк? / 23 сообщений из 23, страница 1 из 1
16.02.2007, 15:05:30
    #34336771
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Всем привет.

Вопрос простой - какой код будет для того чтобы вставить, например, 50 строк в Экселе?
Можно конечно 50 раз вставить строчку
Selection.EntireRow.Insert
Selection.EntireRow.Insert
Selection.EntireRow.Insert
...
...
А по короче?
...
Рейтинг: 0 / 0
16.02.2007, 15:12:43
    #34336797
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Например
...
Рейтинг: 0 / 0
16.02.2007, 15:13:06
    #34336798
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Ещё одна попытка

Код: plaintext
Rows("1:50").Insert
...
Рейтинг: 0 / 0
16.02.2007, 15:16:24
    #34336808
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Код: plaintext
Range(Cells( 1 ,  1 ), Cells( 50 ,  1 )).EntireRow.Insert
...
Рейтинг: 0 / 0
16.02.2007, 15:19:22
    #34336816
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Сначала делаешь активной ту ячейку(строку), с которой нужно добавить необходимое кол-во строк, потом этод код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Dim stroka1 As Integer
Dim st As Integer
firstAddress = ActiveCell.Address(RowAbsolute:=False)

stroka1 = Mid(firstAddress,  3 )
st = InputBox("Сколько добавить строк?")

adr = stroka1 & ":" & stroka1 + st -  1 
Rows(adr).Insert Shift:=xlDown
...
Рейтинг: 0 / 0
16.02.2007, 15:19:42
    #34336817
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Не, не совсем то. Мне надо, чтобы 50 строк вставлялись не вначало страницы, а туда, где стоит курсор, как правило, это бывает внутри таблицы.
...
Рейтинг: 0 / 0
16.02.2007, 15:21:11
    #34336827
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
srxp1154Не, не совсем то. Мне надо, чтобы 50 строк вставлялись не вначало страницы, а туда, где стоит курсор, как правило, это бывает внутри таблицы.

Пока писал, уже новые варианты появились, щас остальные проверю.
...
Рейтинг: 0 / 0
16.02.2007, 15:26:44
    #34336856
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
andMegaMСначала делаешь активной ту ячейку(строку), с которой нужно добавить необходимое кол-во строк, потом этод код

То что надо, даже лучше.

Спасибо!
...
Рейтинг: 0 / 0
16.02.2007, 15:28:48
    #34336865
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
srxp1154 andMegaMСначала делаешь активной ту ячейку(строку), с которой нужно добавить необходимое кол-во строк, потом этод код

То что надо, даже лучше.

Спасибо!

Пожалуйста... Обращайся если чё
...
Рейтинг: 0 / 0
16.02.2007, 15:30:32
    #34336880
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
srxp1154Не, не совсем то. Мне надо, чтобы 50 строк вставлялись не вначало страницы, а туда, где стоит курсор, как правило, это бывает внутри таблицы.

Код: plaintext
1.
2.
3.
Sub sad()
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x +  50 ,  1 )).EntireRow.Insert
End Sub

Ну тогда так!
...
Рейтинг: 0 / 0
16.02.2007, 15:35:23
    #34336902
andMegaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Deggasad srxp1154Не, не совсем то. Мне надо, чтобы 50 строк вставлялись не вначало страницы, а туда, где стоит курсор, как правило, это бывает внутри таблицы.

Код: plaintext
1.
2.
3.
Sub sad()
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x +  50 ,  1 )).EntireRow.Insert
End Sub

Ну тогда так!

Код: plaintext
1.
2.
3.
4.
5.
Sub CEL1()
Dim stroka As Integer
stroka = InputBox("Сколько строк добавить?")
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x + stroka -  1 ,  1 )).EntireRow.Insert
End Sub
...
Рейтинг: 0 / 0
16.02.2007, 15:42:27
    #34336934
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
andMegaM Deggasad srxp1154Не, не совсем то. Мне надо, чтобы 50 строк вставлялись не вначало страницы, а туда, где стоит курсор, как правило, это бывает внутри таблицы.

Код: plaintext
1.
2.
3.
Sub sad()
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x +  50 ,  1 )).EntireRow.Insert
End Sub

Ну тогда так!

Код: plaintext
1.
2.
3.
4.
5.
Sub CEL1()
Dim stroka As Integer
stroka = InputBox("Сколько строк добавить?")
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x + stroka -  1 ,  1 )).EntireRow.Insert
End Sub

думал тоже добавить, но лень стало
...
Рейтинг: 0 / 0
16.02.2007, 15:43:55
    #34336938
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Во как!
Объединив две идеи, получилось простое и универсальное решение вопроса.

Благодарствую.
...
Рейтинг: 0 / 0
16.02.2007, 15:58:05
    #34336995
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Deggasadдумал тоже добавить, но лень стало
Виноват
...
Рейтинг: 0 / 0
16.02.2007, 15:58:26
    #34336998
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Deggasad Deggasadдумал тоже добавить, но лень стало
Виноват
каюсь
...
Рейтинг: 0 / 0
16.02.2007, 16:25:59
    #34337122
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
А вот при всем при этом, когда в InputBox нажать на CANCEL , то выскакивает ошибка.
Как бы её искоренить?
...
Рейтинг: 0 / 0
16.02.2007, 16:57:59
    #34337252
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
srxp1154А вот при всем при этом, когда в InputBox нажать на CANCEL , то выскакивает ошибка.
Как бы её искоренить?
А что должно происходить, когда нажимаешь CANCEL?
...
Рейтинг: 0 / 0
16.02.2007, 17:17:20
    #34337343
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Я так полагаю просто закрыть inputBox и не вставлять строки. Ну передумал я вставлять строки и нажал Cancel, например.
...
Рейтинг: 0 / 0
16.02.2007, 17:48:54
    #34337434
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
srxp1154

Можно перехватить и обработать ошибку, а можно просто сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub CEL1()
  Dim stroka As Variant
  stroka = InputBox("Сколько строк добавить?")
    If StrPtr(stroka) =  0  Then
     MsgBox "Нажали Cancel!"
     Exit Sub
  Else
    x = ActiveCell.Row
    Range(Cells(x,  1 ), Cells(x + CInt(stroka) -  1 ,  1 )).EntireRow.Insert
  End If
End Sub
...
Рейтинг: 0 / 0
16.02.2007, 17:52:58
    #34337451
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub sad()
Dim y As Integer
y = Application.InputBox("Сколько строк добавить?")
  If y = False Then
     MsgBox "Операция отменена"
    End
  End If
x = ActiveCell.Row
Range(Cells(x,  1 ), Cells(x + y -  1 ,  1 )).EntireRow.Insert
End Sub

или так
...
Рейтинг: 0 / 0
16.02.2007, 17:55:30
    #34337459
srxp1154
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
Всем большое спасибо за содействие. Теперь все работает как надо!
...
Рейтинг: 0 / 0
16.02.2007, 18:00:09
    #34337469
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
lena_#### srxp1154

Можно перехватить и обработать ошибку, а можно просто сделать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Sub CEL1()
  Dim stroka As Variant
  stroka = InputBox("Сколько строк добавить?")
    If StrPtr(stroka) =  0  Then
     MsgBox "Нажали Cancel!"
     Exit Sub
  Else
    x = ActiveCell.Row
    Range(Cells(x,  1 ), Cells(x + CInt(stroka) -  1 ,  1 )).EntireRow.Insert
  End If
End Sub


lena_#### А можно спросить, что такое
Код: plaintext
StrPtr(stroka)
?
...
Рейтинг: 0 / 0
16.02.2007, 18:08:31
    #34337499
lena_####
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вставить сразу кучу строк?
функция StrPrt возвращает четырехбайтовый адрес (фактически указатель) содержимого строки
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Как вставить сразу кучу строк? / 23 сообщений из 23, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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