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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование записи 16-ть раз и с 2-я условиями - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование записи 16-ть раз и с 2-я условиями (Макросы/Sub)
Копирование записи 16-ть раз и с 2-я условиями
lebensvoll Дата: Понедельник, 25.03.2019, 22:54 | Сообщение № 1
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер многоуважаемые форумчане!!!
Чтоб облегчить работу "оператору" решил изменить подход к внесению данных в таблицу.
Ранее подобная задумка была уже и решение было найдено но тут же задумка немного иначе.
Вот смотрите на листе имеются две таблицы
1. Ввод
2. Черновик
Как только оператор вносит запись в таблицу Ввод и нажимает кнопку то эти данные вносятся в таблицу Черновик. С этим можно сказать справились
Код для кнопки:

Код для внесения данных в таблицу:

НО!!! %) :'(
Чтоб оператор несколько раз не тыкал туже самую запись. Как дополнить данный код чтоб
одна запись в таблице Ввод дублировалась/копировалась в таблицу Черновик сразу аж 16-ть раз!? Но с несколькими условиями:
1. в столбец G цифровые значения Возраста образцов были по четыре раза (4;7;28;КНТ)
2. в столбец H маркировка образцов была по порядку от указанного оператором в таблице Ввод G2
Помогите пжл с решением задумки.
Спасибо огромное заранее
К сообщению приложен файл: 5622922.xlsm (97.1 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый вечер многоуважаемые форумчане!!!
Чтоб облегчить работу "оператору" решил изменить подход к внесению данных в таблицу.
Ранее подобная задумка была уже и решение было найдено но тут же задумка немного иначе.
Вот смотрите на листе имеются две таблицы
1. Ввод
2. Черновик
Как только оператор вносит запись в таблицу Ввод и нажимает кнопку то эти данные вносятся в таблицу Черновик. С этим можно сказать справились
Код для кнопки:

Код для внесения данных в таблицу:

НО!!! %) :'(
Чтоб оператор несколько раз не тыкал туже самую запись. Как дополнить данный код чтоб
одна запись в таблице Ввод дублировалась/копировалась в таблицу Черновик сразу аж 16-ть раз!? Но с несколькими условиями:
1. в столбец G цифровые значения Возраста образцов были по четыре раза (4;7;28;КНТ)
2. в столбец H маркировка образцов была по порядку от указанного оператором в таблице Ввод G2
Помогите пжл с решением задумки.
Спасибо огромное заранее

Автор - lebensvoll
Дата добавления - 25.03.2019 в 22:54
RAN Дата: Понедельник, 25.03.2019, 23:16 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
lebensvoll = ЛЕНТЯЙ
[vba]
Код
Sub ЛЕНТЯЙ() 'Макрос для "формы" на листе ЧЕРНОВИК
Application.EnableEvents = 0
   n = Range("A100000").End(xlUp).Row + 1  'определяем номер последней строки в табл. Черновик
   Cells(n, 1).Resize(16) = Range("A2")               'вставляем в следующую пустую строку
   Cells(n, 2).Resize(16) = Range("B2")
   Cells(n, 3).Resize(16) = Range("C2")
   Cells(n, 4).Resize(16) = Range("E2")
   Cells(n, 5).Resize(16) = Range("F2")
   Cells(n, 8).Resize(16) = Range("G2")
   Cells(n, 7).Resize(4) = 4
   Cells(n + 4, 7).Resize(4) = 7
   Cells(n + 8, 7).Resize(4) = 28
   Cells(n + 12, 7).Resize(4) = "Лентяй"
   Cells(n, 22) = Range("H2")
   Cells(n, 22).AutoFill Destination:=Cells(n, 22).Resize(16), Type:=xlFillSeries
'   Range("A2,B2,C2,D2,E2,F2,G2,H2").ClearContents         'очищаем форму
Application.EnableEvents = 1
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеlebensvoll = ЛЕНТЯЙ
[vba]
Код
Sub ЛЕНТЯЙ() 'Макрос для "формы" на листе ЧЕРНОВИК
Application.EnableEvents = 0
   n = Range("A100000").End(xlUp).Row + 1  'определяем номер последней строки в табл. Черновик
   Cells(n, 1).Resize(16) = Range("A2")               'вставляем в следующую пустую строку
   Cells(n, 2).Resize(16) = Range("B2")
   Cells(n, 3).Resize(16) = Range("C2")
   Cells(n, 4).Resize(16) = Range("E2")
   Cells(n, 5).Resize(16) = Range("F2")
   Cells(n, 8).Resize(16) = Range("G2")
   Cells(n, 7).Resize(4) = 4
   Cells(n + 4, 7).Resize(4) = 7
   Cells(n + 8, 7).Resize(4) = 28
   Cells(n + 12, 7).Resize(4) = "Лентяй"
   Cells(n, 22) = Range("H2")
   Cells(n, 22).AutoFill Destination:=Cells(n, 22).Resize(16), Type:=xlFillSeries
'   Range("A2,B2,C2,D2,E2,F2,G2,H2").ClearContents         'очищаем форму
Application.EnableEvents = 1
End Sub
[/vba]

Автор - RAN
Дата добавления - 25.03.2019 в 23:16
lebensvoll Дата: Понедельник, 25.03.2019, 23:23 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, добрый вечер, спасибо за ответ и решение!!!
Цитата
lebensvoll = ЛЕНТЯЙ

lebensvoll = полон жизни с немецкого языка
И в коде ошибка Улыбающая :D hands
Цитата
Cells(n + 12, 7).Resize(4) = "Лентяй"
также )))) форма не очищалась после внесения записи в таблицу " ' " лишняя в начале 16-й строки
И еще одна ошибка что нумерация не продолжается :o оператор внес к примеру 1/161 и при нажатии кнопки первая внесенная запись должна быть 1/161 а последующие 15-ть записей 1/161; 1/162; ......1/76
Ну простите Вы меня, ну не дается мне написание этих кодов. Просто как горохом об стенку :'(
СПАСИБО ВАМ ОГРОМНЕЙШЕЕ


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Понедельник, 25.03.2019, 23:34
 
Ответить
СообщениеRAN, добрый вечер, спасибо за ответ и решение!!!
Цитата
lebensvoll = ЛЕНТЯЙ

lebensvoll = полон жизни с немецкого языка
И в коде ошибка Улыбающая :D hands
Цитата
Cells(n + 12, 7).Resize(4) = "Лентяй"
также )))) форма не очищалась после внесения записи в таблицу " ' " лишняя в начале 16-й строки
И еще одна ошибка что нумерация не продолжается :o оператор внес к примеру 1/161 и при нажатии кнопки первая внесенная запись должна быть 1/161 а последующие 15-ть записей 1/161; 1/162; ......1/76
Ну простите Вы меня, ну не дается мне написание этих кодов. Просто как горохом об стенку :'(
СПАСИБО ВАМ ОГРОМНЕЙШЕЕ

Автор - lebensvoll
Дата добавления - 25.03.2019 в 23:23
lebensvoll Дата: Понедельник, 25.03.2019, 23:42 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, вот именно в этой строке получается заложен последовательность счета
[vba]
Код
Cells(n, 22).AutoFill Destination:=Cells(n, 22).Resize(16), Type:=xlFillSeries
[/vba]
Потому как решил записать его у меня получилось примерно так, когда протягиваешь ячейку
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос

    Range("F3").Select
    Selection.AutoFill Destination:=Range("F3:F18"), Type:=xlFillDefault
    Range("F3:F18").Select
End Sub
[/vba]
Но почему то не срабатывает в Вашем коде хотя вроде бы же одинаково все
А нет
Все нашел и исправил ЕЩЕ РАЗ СПАСИБО ВАМ ОГРОМЕННОЕ
[vba]
Код
Cells(n, 8) = Range("G2")
Cells(n, 8).AutoFill Destination:=Cells(n, 8).Resize(16), Type:=xlFillSeries
[/vba]


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Вторник, 26.03.2019, 00:00
 
Ответить
СообщениеRAN, вот именно в этой строке получается заложен последовательность счета
[vba]
Код
Cells(n, 22).AutoFill Destination:=Cells(n, 22).Resize(16), Type:=xlFillSeries
[/vba]
Потому как решил записать его у меня получилось примерно так, когда протягиваешь ячейку
[vba]
Код
Sub Макрос1()
'
' Макрос1 Макрос

    Range("F3").Select
    Selection.AutoFill Destination:=Range("F3:F18"), Type:=xlFillDefault
    Range("F3:F18").Select
End Sub
[/vba]
Но почему то не срабатывает в Вашем коде хотя вроде бы же одинаково все
А нет
Все нашел и исправил ЕЩЕ РАЗ СПАСИБО ВАМ ОГРОМЕННОЕ
[vba]
Код
Cells(n, 8) = Range("G2")
Cells(n, 8).AutoFill Destination:=Cells(n, 8).Resize(16), Type:=xlFillSeries
[/vba]

Автор - lebensvoll
Дата добавления - 25.03.2019 в 23:42
RAN Дата: Вторник, 26.03.2019, 00:00 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Ничёнепонимаю


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНичёнепонимаю

Автор - RAN
Дата добавления - 26.03.2019 в 00:00
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование записи 16-ть раз и с 2-я условиями (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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