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

Вход

Регистрация

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

 

= Мир MS Excel/Копирование данных из определенных ячеек на новый лист - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование данных из определенных ячеек на новый лист (Макросы/Sub)
Копирование данных из определенных ячеек на новый лист
Смольный Дата: Четверг, 19.05.2022, 12:13 | Сообщение № 21
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, Добрый день, попробовал в Вашем файле ввести номер договора и использовал макрос поиск. Итог на прикрепленном скриншоте. Подскажите, может что я не так делаю? Кажется нашел проблему, так получается если номер договора под номером 1, под два и далее отрабатывает нормально. Но договора под номером 1 у нас не будет. Так что все норм. Спасибо Вам большое.
К сообщению приложен файл: 8304498.png (47.0 Kb)


Сообщение отредактировал Смольный - Четверг, 19.05.2022, 12:21
 
Ответить
СообщениеKuzmich, Добрый день, попробовал в Вашем файле ввести номер договора и использовал макрос поиск. Итог на прикрепленном скриншоте. Подскажите, может что я не так делаю? Кажется нашел проблему, так получается если номер договора под номером 1, под два и далее отрабатывает нормально. Но договора под номером 1 у нас не будет. Так что все норм. Спасибо Вам большое.

Автор - Смольный
Дата добавления - 19.05.2022 в 12:13
Kuzmich Дата: Четверг, 19.05.2022, 16:00 | Сообщение № 22
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
Кажется нашел проблему, так получается если номер договора под номером 1

Причина в том, что у вас на листе Движение в ячейке А9 записана 1, а данных никаких нет,
на листе Персональные данные в ячейке А4 тоже 1. Надо очистить эти ячейки
 
Ответить
Сообщение
Цитата
Кажется нашел проблему, так получается если номер договора под номером 1

Причина в том, что у вас на листе Движение в ячейке А9 записана 1, а данных никаких нет,
на листе Персональные данные в ячейке А4 тоже 1. Надо очистить эти ячейки

Автор - Kuzmich
Дата добавления - 19.05.2022 в 16:00
Смольный Дата: Четверг, 19.05.2022, 16:16 | Сообщение № 23
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, Бляха, точно, на свои же грабли наступил))) Спасибо
 
Ответить
СообщениеKuzmich, Бляха, точно, на свои же грабли наступил))) Спасибо

Автор - Смольный
Дата добавления - 19.05.2022 в 16:16
Смольный Дата: Четверг, 19.05.2022, 16:58 | Сообщение № 24
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, пардон


Сообщение отредактировал Смольный - Четверг, 19.05.2022, 16:59
 
Ответить
СообщениеKuzmich, пардон

Автор - Смольный
Дата добавления - 19.05.2022 в 16:58
Смольный Дата: Пятница, 20.05.2022, 15:50 | Сообщение № 25
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

Kuzmich, Добрый вечер, опять нужна Ваша помощь, можно ли добавить в макрос который во втором сообщении темы проверку данных? При запуске макроса идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных, если они одинаковы то копирование данных отменяется и на экране выскакивает ошибка "Эти данные уже внесены"
 
Ответить
СообщениеKuzmich, Добрый вечер, опять нужна Ваша помощь, можно ли добавить в макрос который во втором сообщении темы проверку данных? При запуске макроса идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных, если они одинаковы то копирование данных отменяется и на экране выскакивает ошибка "Эти данные уже внесены"

Автор - Смольный
Дата добавления - 20.05.2022 в 15:50
Kuzmich Дата: Пятница, 20.05.2022, 18:52 | Сообщение № 26
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 0% ±

Excel 2003
Цитата
можно ли добавить в макрос который во втором сообщении темы проверку данных?

Думаю что можно, но только условия проверки
Цитата
идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных

Почему только в последней? Данные могли быть введены и ранее
Цитата
если они одинаковы

По всем ячейкам?
 
Ответить
Сообщение
Цитата
можно ли добавить в макрос который во втором сообщении темы проверку данных?

Думаю что можно, но только условия проверки
Цитата
идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных

Почему только в последней? Данные могли быть введены и ранее
Цитата
если они одинаковы

По всем ячейкам?

Автор - Kuzmich
Дата добавления - 20.05.2022 в 18:52
Смольный Дата: Суббота, 21.05.2022, 03:07 | Сообщение № 27
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±


Почему только в последней? Данные могли быть введены и ранее

Ранее допускается, главное чтоб не давало копировать одинаковые данные два раза подряд.
По всем ячейкам?

По всем ячейкам которые копируются с листа Ввод данных на лист Движение
P.S. Сейчас заметил, если защитить листы от редактирования, то макрос тоже не копирует, можно как нибудь макросу разрешить копировать на защищенный лист?


Сообщение отредактировал Смольный - Суббота, 21.05.2022, 03:52
 
Ответить
Сообщение

Почему только в последней? Данные могли быть введены и ранее

Ранее допускается, главное чтоб не давало копировать одинаковые данные два раза подряд.
По всем ячейкам?

По всем ячейкам которые копируются с листа Ввод данных на лист Движение
P.S. Сейчас заметил, если защитить листы от редактирования, то макрос тоже не копирует, можно как нибудь макросу разрешить копировать на защищенный лист?

Автор - Смольный
Дата добавления - 21.05.2022 в 03:07
Смольный Дата: Вторник, 24.05.2022, 06:33 | Сообщение № 28
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

Доброго дня, может кто помочь, а то Kuzmich, с пятницы потерялся, осталось решить два вопроса и файл готов. Дело в том, что в этом файле уже с 1 июня нужно будет работать специалистам. Файл прикреплен, вопросы выше этого сообщения. Изменения нужно внести в макрос ниже. Помогите пожалуйста.
[vba]
Код
Sub Add_Sell()
    Worksheets("Ввод данных").Range("G6:P6").Copy
    n = Worksheets("Персональные данные").Range("A100000").End(xlUp).Row
    Worksheets("Персональные данные").Cells(n + 1, 2).PasteSpecial Paste:=xlPasteValues
    Worksheets("Ввод данных").Range("A6").Copy Worksheets("Персональные данные").Cells(n + 1, 1)
    With Worksheets("Движение")
    n = .Range("A100000").End(xlUp).Row + 1
    Range("A6:G6").Copy .Range("A" & n)
    End With
End Sub
[/vba]
К сообщению приложен файл: 9020019.xlsm (59.5 Kb)


Сообщение отредактировал Смольный - Вторник, 24.05.2022, 06:34
 
Ответить
СообщениеДоброго дня, может кто помочь, а то Kuzmich, с пятницы потерялся, осталось решить два вопроса и файл готов. Дело в том, что в этом файле уже с 1 июня нужно будет работать специалистам. Файл прикреплен, вопросы выше этого сообщения. Изменения нужно внести в макрос ниже. Помогите пожалуйста.
[vba]
Код
Sub Add_Sell()
    Worksheets("Ввод данных").Range("G6:P6").Copy
    n = Worksheets("Персональные данные").Range("A100000").End(xlUp).Row
    Worksheets("Персональные данные").Cells(n + 1, 2).PasteSpecial Paste:=xlPasteValues
    Worksheets("Ввод данных").Range("A6").Copy Worksheets("Персональные данные").Cells(n + 1, 1)
    With Worksheets("Движение")
    n = .Range("A100000").End(xlUp).Row + 1
    Range("A6:G6").Copy .Range("A" & n)
    End With
End Sub
[/vba]

Автор - Смольный
Дата добавления - 24.05.2022 в 06:33
RAN Дата: Вторник, 24.05.2022, 08:58 | Сообщение № 29
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеhttps://www.excel-vba.ru/chto-um....makrosa

Автор - RAN
Дата добавления - 24.05.2022 в 08:58
Смольный Дата: Вторник, 24.05.2022, 10:22 | Сообщение № 30
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, Толи лыжи не едут, толи я не такой) По ссылке последний макрос как раз для меня, заменил название листов на свои, сохранил, но макрос не работает. Подскажите что не так делаю. Ниже макрос из прикрепленного файла с моими изменениями.
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh
    arr = Array("Ввод данных", "Персональные данные", "Движение")
    For Each sSh In arr
        Protect_for_User_Non_for_VBA Me.Sheets(sSh)
    Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
    wsSh.Protect Password:="55", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]
К сообщению приложен файл: 5239145.xlsm (60.3 Kb)
 
Ответить
СообщениеRAN, Толи лыжи не едут, толи я не такой) По ссылке последний макрос как раз для меня, заменил название листов на свои, сохранил, но макрос не работает. Подскажите что не так делаю. Ниже макрос из прикрепленного файла с моими изменениями.
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh
    arr = Array("Ввод данных", "Персональные данные", "Движение")
    For Each sSh In arr
        Protect_for_User_Non_for_VBA Me.Sheets(sSh)
    Next
End Sub
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
    wsSh.Protect Password:="55", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]

Автор - Смольный
Дата добавления - 24.05.2022 в 10:22
RAN Дата: Вторник, 24.05.2022, 11:28 | Сообщение № 31
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Прочитать внимательно, и вставить макрос не куда попало, а в нужное место.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПрочитать внимательно, и вставить макрос не куда попало, а в нужное место.

Автор - RAN
Дата добавления - 24.05.2022 в 11:28
Смольный Дата: Вторник, 24.05.2022, 11:38 | Сообщение № 32
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, В том то и дело что уже третий час бьюсь, скопировал макрос в "Эта книга", при открытии блокирует ячейки, но и макрос не может скопировать данные с ввода данных на персональные данные и движение.
К сообщению приложен файл: 4320650.png (60.7 Kb) · 1944372.xlsm (62.5 Kb)
 
Ответить
СообщениеRAN, В том то и дело что уже третий час бьюсь, скопировал макрос в "Эта книга", при открытии блокирует ячейки, но и макрос не может скопировать данные с ввода данных на персональные данные и движение.

Автор - Смольный
Дата добавления - 24.05.2022 в 11:38
RAN Дата: Вторник, 24.05.2022, 13:20 | Сообщение № 33
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Действительно, одна Copy не работает. А с Paste работает.
[vba]
Код
    Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Paste
[/vba]
Ну и это так надо
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh As Worksheet
    arr = Array("Ввод данных", "Персональные данные", "Движение")
    For Each sSh In Sheets(arr)
        Protect_for_User_Non_for_VBA sSh 'Me.Sheets(sSh)
    Next
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеДействительно, одна Copy не работает. А с Paste работает.
[vba]
Код
    Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Paste
[/vba]
Ну и это так надо
[vba]
Код
Private Sub Workbook_Open()
    Dim arr, sSh As Worksheet
    arr = Array("Ввод данных", "Персональные данные", "Движение")
    For Each sSh In Sheets(arr)
        Protect_for_User_Non_for_VBA sSh 'Me.Sheets(sSh)
    Next
End Sub
[/vba]

Автор - RAN
Дата добавления - 24.05.2022 в 13:20
Смольный Дата: Вторник, 24.05.2022, 13:31 | Сообщение № 34
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, Макрос Workbook_Open выдает ошибку.
К сообщению приложен файл: 8820673.png (67.1 Kb)
 
Ответить
СообщениеRAN, Макрос Workbook_Open выдает ошибку.

Автор - Смольный
Дата добавления - 24.05.2022 в 13:31
RAN Дата: Вторник, 24.05.2022, 13:35 | Сообщение № 35
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Никакой ошибки.нет. Как и вызываемого макроса, о чем VBA любезно сообщает.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеНикакой ошибки.нет. Как и вызываемого макроса, о чем VBA любезно сообщает.

Автор - RAN
Дата добавления - 24.05.2022 в 13:35
Смольный Дата: Вторник, 24.05.2022, 13:37 | Сообщение № 36
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, Пардон, забыл к этому макросу добавить это.[vba]
Код
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
    wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]
но тогда опять не дает копировать.
К сообщению приложен файл: 1418229.png (89.8 Kb)
 
Ответить
СообщениеRAN, Пардон, забыл к этому макросу добавить это.[vba]
Код
Sub Protect_for_User_Non_for_VBA(wsSh As Worksheet)
    wsSh.Protect Password:="1111", AllowFiltering:=True, UserInterfaceOnly:=True
End Sub
[/vba]
но тогда опять не дает копировать.

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

2010
Внимательно сравните мою строку и вашу.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВнимательно сравните мою строку и вашу.

Автор - RAN
Дата добавления - 24.05.2022 в 13:42
Смольный Дата: Вторник, 24.05.2022, 13:51 | Сообщение № 38
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, Эх...моя невнимательность, при таком макросе [vba]
Код
Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Paste
[/vba]копируются данные с ячейки А6 с ввода данных во все ячейки на листе персональные данные и далее выдает ошибку копирования на лист движения. Скрины ошибок прикрепил.
К сообщению приложен файл: 3500940.png (75.6 Kb) · 4070090.png (24.7 Kb)
 
Ответить
СообщениеRAN, Эх...моя невнимательность, при таком макросе [vba]
Код
Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Paste
[/vba]копируются данные с ячейки А6 с ввода данных во все ячейки на листе персональные данные и далее выдает ошибку копирования на лист движения. Скрины ошибок прикрепил.

Автор - Смольный
Дата добавления - 24.05.2022 в 13:51
RAN Дата: Вторник, 24.05.2022, 13:59 | Сообщение № 39
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Почему вы считаете, что если внести правку в одном месте, в другом оно само исправится?
А еще лучше копируйте используя PasteSpecial. Этот метод позволяет указать конечную ячейку в коде (в отличие от Paste).


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеПочему вы считаете, что если внести правку в одном месте, в другом оно само исправится?
А еще лучше копируйте используя PasteSpecial. Этот метод позволяет указать конечную ячейку в коде (в отличие от Paste).

Автор - RAN
Дата добавления - 24.05.2022 в 13:59
Смольный Дата: Вторник, 24.05.2022, 14:29 | Сообщение № 40
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 188
Репутация: 0 ±
Замечаний: 0% ±

RAN, Спасибо Вам огромное, я смог))) Можно Вас попросить решить последний вопрос по макросу копирования.[vba]
Код
Sub Add_Sell()
    Worksheets("Ввод данных").Range("G6:P6").Copy
    n = Worksheets("Персональные данные").Range("A100000").End(xlUp).Row
    Worksheets("Персональные данные").Cells(n + 1, 2).PasteSpecial Paste:=xlPasteValues
    Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues
    With Worksheets("Движение")
    n = .Range("A100000").End(xlUp).Row
    Range("A6:G6").Copy '.Range("A" & n)
    Worksheets("Движение").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues
    End With
End Sub
[/vba]При запуске макроса идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных, если они одинаковы то копирование данных отменяется и на экране выскакивает ошибка "Эти данные уже внесены" подробности в этом сообщении http://www.excelworld.ru/forum/10-49883-326808-16-1653091675
 
Ответить
СообщениеRAN, Спасибо Вам огромное, я смог))) Можно Вас попросить решить последний вопрос по макросу копирования.[vba]
Код
Sub Add_Sell()
    Worksheets("Ввод данных").Range("G6:P6").Copy
    n = Worksheets("Персональные данные").Range("A100000").End(xlUp).Row
    Worksheets("Персональные данные").Cells(n + 1, 2).PasteSpecial Paste:=xlPasteValues
    Worksheets("Ввод данных").Range("A6").Copy 'Worksheets("Персональные данные").Cells(n + 1, 1)
    Worksheets("Персональные данные").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues
    With Worksheets("Движение")
    n = .Range("A100000").End(xlUp).Row
    Range("A6:G6").Copy '.Range("A" & n)
    Worksheets("Движение").Cells(n + 1, 1).PasteSpecial Paste:=xlPasteValues
    End With
End Sub
[/vba]При запуске макроса идет проверка совпадения данных в последней не пустой строке на листе Движение и данных на листе Ввод данных, если они одинаковы то копирование данных отменяется и на экране выскакивает ошибка "Эти данные уже внесены" подробности в этом сообщении http://www.excelworld.ru/forum/10-49883-326808-16-1653091675

Автор - Смольный
Дата добавления - 24.05.2022 в 14:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование данных из определенных ячеек на новый лист (Макросы/Sub)
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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