Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=23.10.2011 07:53}{thema=}{post}чуть исправил  
Sub warriorusib()  
Dim k, h, j, x, a  
Dim n, b As Range  
On Error Resume Next  
n = Application.InputBox("Укажите диапазон вставки строк", , , , , , , 8).Address  
On Error GoTo 0  
If n = Empty Then Exit Sub  
Set b = Range(n)  
k = InputBox("Введите количество строк для вставки между строками", , 1)  
x = InputBox("Введите шаг вставки строк", , 1)  
h = b.Rows.Count  
j = Int(h / x) * x + 1  
Application.ScreenUpdating = False  
For a = j To 1 Step -x  
   b.Rows(a + 1 & ":" & a + k).Insert  
   b.Rows(a & "").Copy b.Rows(a + 1 & ":" & a + k)  
Next  
Application.ScreenUpdating = True  
End Sub{/post}{/quote}  
 
Блин Михаил вы гений !! Все замечательно работает Огромное вам спасибо!!!!  
Чтобы я без вас делал!! Все буду учить макросы =)
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 06:43}{thema=}{post}Ну у меня сегодня уже голова не варит, может чуть позже, ближе к вечеру.    
Или кто из макрописцев подтянется - здесь, в принципе, не сложно....{/post}{/quote}  
 
Михаил если не сложно сделайте пожалуйста. Я подожду, время есть до понедельника =)
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 06:18}{thema=}{post}<<...Я сверху написал макрос.... >>  
 
чет я не нашел.....  
 
Как я понял, Вам надо выделить диапазон, где вставлять, и указать шаг вставки?{/post}{/quote}  
Да именно так, надо выделить диапазон, где вставлять, и указать шаг вставки.    
 
А вот макрос но он только на вставку работает...Вообщем не подходит но можно применить как пример количество копируемых строк и шаг вставки  
 
Sub InsertRows()  
Dim i As Long, nRow As Long  
Dim k As Integer, x As Integer  
With Application  
.ScreenUpdating = False  
.Calculation = xlCalculationManual  
nRow = Cells(Rows.Count, "A").End(xlUp).Row  
k = InputBox("Введите количество строк для вставки между строками", , 1)  
x = InputBox("Введите шаг вставки строк", , 1)  
For i = nRow To 2 Step -x  
Cells(i, 1).Resize(k).EntireRow.Insert  
Next i  
.Calculation = xlCalculationAutomatic  
.ScreenUpdating = True  
End With  
MsgBox "Строки добавлены!", vbInformation, "Вставка строк"  
End Sub
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 05:59}{thema=Re: Re: }{post}{quote}{login=warriorusib}{date=22.10.2011 05:50}{thema=Re: }{post}{quote}{login=Михаил С.}{date=22.10.2011 05:45}{thema=}{post}Подразумевается, что табличка всегда начинается с А4, и в первом столбце нет пустых ячеек.{/post}{/quote}  
 
Я понял Михаил Спасибо. А можно как-нибудь совместить копирование(то что вы сделали)+ выбор диапазона работы макроса+выбор количество строк(как в верхнем макросе)+выбор шага(тоже как в верхнем макросе)??{/post}{/quote}Не совсем понял, что нужно сделать.{/post}{/quote}  
 
Вообщем нужно чтобы макрос копировал строки в указанном диапазоне и можно было указывать ему количество копируемых строк и шаг вставки этих копируемых строк...    
Я сверху написал макрос но он работает только на вставку пустых строк может его как нибудь можно изменить? Чтобы он копировал строки и в указанном мною диапазоне это все делал?
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 05:45}{thema=}{post}Подразумевается, что табличка всегда начинается с А4, и в первом столбце нет пустых ячеек.{/post}{/quote}  
 
Я понял Михаил Спасибо. А можно как-нибудь совместить копирование(то что вы сделали)+ выбор диапазона работы макроса+выбор количество строк(как в верхнем макросе)+выбор шага(тоже как в верхнем макросе)??
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 05:30}{thema=}{post}Так?{/post}{/quote}  
 
Блин Михаил !!! Классно получается и так как надо получается, но как же задать область работы макроса? а то он работает на весь лист =(
Новая строка и копирование помогите плизз
 
{quote}{login=Михаил С.}{date=22.10.2011 04:39}{thema=}{post}Т.е., другими словами копируем каждую нечетную строку?  
В исходной таблице всегда четное количество строк?  
{/post}{/quote}  
Получается так, но это копирование должно работать в определенном диапазоне который я укажу а не на весь лист..  
 
Вот находил макрос он только на вставку строк и вставляет строки по всему листу, он хорош потому что указывает количество вставляемых строк и с каким шагом их вставлять....  
 
Sub InsertRows()  
Dim i As Long, nRow As Long  
Dim k As Integer, x As Integer  
With Application  
.ScreenUpdating = False  
.Calculation = xlCalculationManual  
nRow = Cells(Rows.Count, "A").End(xlUp).Row  
k = InputBox("Введите количество строк для вставки между строками", , 1)  
x = InputBox("Введите шаг вставки строк", , 1)  
For i = nRow To 2 Step -x  
Cells(i, 1).Resize(k).EntireRow.Insert  
Next i  
.Calculation = xlCalculationAutomatic  
.ScreenUpdating = True  
End With  
MsgBox "Строки добавлены!", vbInformation, "Вставка строк"  
End Sub  
 
но минус то что мне нужно копировать и нужно указывть определенный диапазон работы этого макроса....
Новая строка и копирование помогите плизз
 
Извините не мог выложить сразу файл...писал с телефона ща отправляю файлик примера.  
В файле сделал как выглядит таблица до применения макроса и как должна выглядеть после макроса =)    
Помогите пожалуйста...
Новая строка и копирование помогите плизз
 
Извеняюсь у меня сейчас стоит задача. Например существует массив большой и в нем много данных мне нужно создать с определенным шагом и скопировать строку стоящюю ниже новосоздоваемой. Какой макрос применить для таких дел ?  
Пример:  
До:  
1111111111111  
2222222222222  
3333333333333  
4444444444444  
....  
После макроса:  
1111111111111  
1111111111111  
2222222222222  
3333333333333  
3333333333333  
4444444444444  
.....  
Помогите пожалуйста как это осуществить макросом и еще нужно что все строки при копирование сохраняли все формулы и все данные, и чтобы макрос спрашивал диапазон
Работа макроса в задаваемом диапазоне
 
Господа и дамы вот не могу справиться с поставленной задачей. Нашел макрос:  
 
Sub InsertRows()  
 
Dim i As Long, nRow As Long  
 
Dim k As Integer, x As Integer  
 
With Application  
 
.ScreenUpdating = False  
 
.Calculation = xlCalculationManual  
 
nRow = Cells(Rows.Count, "A").End(xlUp).Row  
 
k = InputBox("Рома введи колличество строк для вставки между строками", , 1)  
 
x = InputBox("Рома введи шаг вставки строк", , 1)  
 
For i = nRow To 2 Step -x  
 
Cells(i, 1).Resize(k).EntireRow.Insert  
 
Next i  
 
.Calculation = xlCalculationAutomatic  
 
.ScreenUpdating = True  
 
End With  
 
MsgBox "Ура строки добавлены!", vbInformation, "Вставка строк"  
 
End Sub  
 
 
Теперь о проблеме .... что нужно прописать чтобы макрос работал в определенном диапазоне а то он только добавляет строки по всему листу. Заранее спасибо :-)
Страницы: 1
Наверх