Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Автоматическое копирование определенного диапазона строк и в - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Автоматическое копирование определенного диапазона строк и в
Bulava81 Дата: Четверг, 05.06.2014, 15:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Друзья, помогите с написанием макроса! Буду Вам премного благодарен за квалифицированную консультацию и практические рекомендации.
У меня задача заключается в следующем: При введении цифры в любую ячейку диапазона (H4:BG5002), например цифры 1, 2....1000, необходимо, чтобы вся строка, в которую была введена цифра в диапазон (H4:BG5002) копировалась со всем содержимым и формулами и вставлялась строкой ниже, при этом количество скопированных и вставленных строк равнялось этому числу, то есть ввели число 5 в диапазон (H4:BG5002, например строка H4), соответственно строка H4 была скопирована и вставлена в количестве пяти строк начиная с H5 (то есть сразу под строкой в которую ввели цифру).
Пример во вложении.
 
Ответить
СообщениеДрузья, помогите с написанием макроса! Буду Вам премного благодарен за квалифицированную консультацию и практические рекомендации.
У меня задача заключается в следующем: При введении цифры в любую ячейку диапазона (H4:BG5002), например цифры 1, 2....1000, необходимо, чтобы вся строка, в которую была введена цифра в диапазон (H4:BG5002) копировалась со всем содержимым и формулами и вставлялась строкой ниже, при этом количество скопированных и вставленных строк равнялось этому числу, то есть ввели число 5 в диапазон (H4:BG5002, например строка H4), соответственно строка H4 была скопирована и вставлена в количестве пяти строк начиная с H5 (то есть сразу под строкой в которую ввели цифру).
Пример во вложении.

Автор - Bulava81
Дата добавления - 05.06.2014 в 15:16
SkyPro Дата: Четверг, 05.06.2014, 15:32 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Нет вложения.
Вопрос:
С формулами копирование должно происходить со смещением (если ссыки не абсолютные)? Или во всех скопированных строках формулы должны ссылаться на одни и те же диапазоны?
 
Ответить
СообщениеНет вложения.
Вопрос:
С формулами копирование должно происходить со смещением (если ссыки не абсолютные)? Или во всех скопированных строках формулы должны ссылаться на одни и те же диапазоны?

Автор - SkyPro
Дата добавления - 05.06.2014 в 15:32
Bulava81 Дата: Четверг, 05.06.2014, 16:24 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Прошу прощения, прикреплял файл, но видимо сбилось.
В отношении формул, которые копируются, если ссылки в формуле абсолютные, то соответственно они будут зафиксированы, а если относительные то, они должны смещаться в соответствии с копированием строки, то есть если строка копируется и вставляется 2-й, 3-й и т. д., то и относительные ссылки смещаются вниз пропорционально на 2, 3 строки и т.д.
К сообщению приложен файл: Bulava81.rar (94.6 Kb)
 
Ответить
СообщениеПрошу прощения, прикреплял файл, но видимо сбилось.
В отношении формул, которые копируются, если ссылки в формуле абсолютные, то соответственно они будут зафиксированы, а если относительные то, они должны смещаться в соответствии с копированием строки, то есть если строка копируется и вставляется 2-й, 3-й и т. д., то и относительные ссылки смещаются вниз пропорционально на 2, 3 строки и т.д.

Автор - Bulava81
Дата добавления - 05.06.2014 в 16:24
SkyPro Дата: Четверг, 05.06.2014, 16:43 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tRow&, cnt&
Application.EnableEvents = False
Application.ScreenUpdating = False
If Not Target.Count > 1 Then
     If IsNumeric(Target.Value) Then
         If Not Intersect(Target, Range("H4:BG" & UsedRange.Rows.Count)) Is Nothing Then
             cnt = Target.Value
             tRow = Target.Row
             For i = 1 To cnt
                 Rows(tRow & ":" & tRow).Copy
                 Rows(tRow + 1 & ":" & tRow + 1).Insert Shift:=xlDown
             Next
         End If
     End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
[/vba]
В модуль листа "База Данных".


Сообщение отредактировал SkyPro - Четверг, 05.06.2014, 16:44
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim tRow&, cnt&
Application.EnableEvents = False
Application.ScreenUpdating = False
If Not Target.Count > 1 Then
     If IsNumeric(Target.Value) Then
         If Not Intersect(Target, Range("H4:BG" & UsedRange.Rows.Count)) Is Nothing Then
             cnt = Target.Value
             tRow = Target.Row
             For i = 1 To cnt
                 Rows(tRow & ":" & tRow).Copy
                 Rows(tRow + 1 & ":" & tRow + 1).Insert Shift:=xlDown
             Next
         End If
     End If
End If
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
[/vba]
В модуль листа "База Данных".

Автор - SkyPro
Дата добавления - 05.06.2014 в 16:43
Bulava81 Дата: Пятница, 06.06.2014, 07:15 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо тебе огромное, Мил Человек, за помощь! respect
Все работает, задача решена.
Я всегда относился с уважением к специалистам высокого уровня! Спасибо еще раз!
 
Ответить
СообщениеСпасибо тебе огромное, Мил Человек, за помощь! respect
Все работает, задача решена.
Я всегда относился с уважением к специалистам высокого уровня! Спасибо еще раз!

Автор - Bulava81
Дата добавления - 06.06.2014 в 07:15
Bulava81 Дата: Пятница, 06.06.2014, 08:29 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Дружище, а не подскажешь, как модифицировать макрос таким образом, если я удаляю введенную цифру из диапазона (H4:BG5002), то и скопированные строки, тоже удалялись бы?
 
Ответить
СообщениеДружище, а не подскажешь, как модифицировать макрос таким образом, если я удаляю введенную цифру из диапазона (H4:BG5002), то и скопированные строки, тоже удалялись бы?

Автор - Bulava81
Дата добавления - 06.06.2014 в 08:29
Bulava81 Дата: Пятница, 06.06.2014, 08:45 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 25
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Хотел бы еще за одной помощью обратиться, у меня в столбце D прописана логическая формула на проверку сопоставимости числовых значений, соответственно можно модифицировать макрос таким образом, если при введении числа в указанный диапазон (H4:BG5002), в столбце D формула выдает ошибку, то копирование строк не производится?
Заранее огромное спасибо за помощь!
 
Ответить
СообщениеХотел бы еще за одной помощью обратиться, у меня в столбце D прописана логическая формула на проверку сопоставимости числовых значений, соответственно можно модифицировать макрос таким образом, если при введении числа в указанный диапазон (H4:BG5002), в столбце D формула выдает ошибку, то копирование строк не производится?
Заранее огромное спасибо за помощь!

Автор - Bulava81
Дата добавления - 06.06.2014 в 08:45
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!