С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
Excel

Копирование ячейки на другой лист, с одновременным копированием связанных ячеек с листа1

30.04.2020, 13:02. Показов 2112. Ответов 16

Студворк — интернет-сервис помощи студентам
При нажатии любой ячейки из столбца С, (лист 1) должно происходить копирование ячеек из этой же строки: С, D и M на лист 2
На втором листе должна начаться нумерация строк в столбце А
Затем в столбце Е (лист2) необходимо суммировать ячейки D и C
В итоговой строке внизу столбца Е (лист2) необходимо указать сумму
Помогите, пожалуйста.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.04.2020, 13:02
Ответы с готовыми решениями:

Поиск ячейки и копирование связанных с ней ячеек с переносом на другой лист
Добрый день! С утра мучаюсь с этой задачей. На работе постоянно приходится делать отчет. Сотрудников порядка 100, поэтому хотелось бы...

Копирование ячеек с листа на лист по условию одной ячейки
Уважаемые специалисты Excel, прошу Вашей помощи в написании макроса. Сам на просторах интернета найти не смог. В чем собственно...

Копирование определенных ячеек из строки на другой лист по условию
Здравствуйте! Помогите с написанием макроса (я в этом вообще ноль). Есть таблица с листами. Необходимо со 2 листа скопировать определенные...

16
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.04.2020, 14:08
Скопируйте весь нижеопубликованный код строго в модуль листа с именем "Лист1"

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Worksheet_BeforeDoubleClick(ByVal r As Range, Cancel As Boolean)
    If r.Column <> 3 Then Exit Sub
    If Application.CountA(r, r(1, 2), r(1, 11)) = 0 Then Exit Sub
    
    Dim ws As Worksheet, rw&
    Set ws = Worksheets("Лист2")
    rw = ws.Cells(Rows.Count, "A").End(xlUp)(2).Row
    r.Resize(, 2).Copy ws.Cells(rw, "C")
    r(1, 11).Copy ws.Cells(rw, "M")
    ws.Cells(rw, "A") = Application.Max(ws.Columns(1)) + 1
    ws.Cells(rw, "E") = Application.Sum(r(1, 2), r(1, 11)) 'r(1,2)+r(1,11)
    ws.Cells(rw + 1, "E") = Application.Sum(ws.Columns(5))
    Cancel = True
End Sub
Копирование будет происходить только после двойного клика по ячейке столбца C и при условии, что хотя бы одна из трёх ячеек (C, D, M) заполнена.
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
30.04.2020, 17:33  [ТС]
Спасибо за участие.
Скопировал код, но ничего не происходит. При попытке выполнить макрос из файла, обнаружил что макроса в списке исполняемых нет. В модуль листа1 установил. Может быть, что не так сделал
Миниатюры
Копирование ячейки на другой лист,  с одновременным копированием связанных ячеек с листа1  
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
30.04.2020, 17:41
Цитата Сообщение от pashulka Посмотреть сообщение
Копирование будет происходить только после двойного клика по ячейке столбца C и при условии, что хотя бы одна из трёх ячеек (C, D, M) заполнена.
- это читали?
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
30.04.2020, 17:44  [ТС]
Да, ячейки заполнены. В них есть информация.
0
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
30.04.2020, 17:45
А то, что написано до запятой - как понимаете?
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.04.2020, 17:47
Maratona, Двойной клик мышкой это не выделение и не совсем нажатие.
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
30.04.2020, 17:50  [ТС]
Понимаю так, что они заполнены. Вот так:
326 Товар 1 1 17 900.00 2 148.00 0.00 120 288.00 120 288.00 1.38 38.00 27.54 165 997.44
С D M

Добавлено через 2 минуты
А нельзя без двойного клика обойтись?
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
30.04.2020, 17:52
Цитата Сообщение от Maratona Посмотреть сообщение
А нельзя без двойного клика обойтись?
Можно, используйте событие Private Sub Worksheet_SelectionChange(ByVal r As Range) и уберите строку #13
Тогда копирование будет происходить при выделении ячейки.
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
30.04.2020, 19:55  [ТС]
Увы и ах... Ничего не происходит. Заменил событие, удалил строку 13.. Что-то не так пошло...
0
2643 / 1342 / 256
Регистрация: 25.10.2010
Сообщений: 2,196
30.04.2020, 20:05
Maratona, видимо, пора уже файл приложить, где
Цитата Сообщение от Maratona Посмотреть сообщение
Ничего не происходит
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
01.05.2020, 08:47  [ТС]
В приложении файл. Посмотрите может получится.
Вложения
Тип файла: xlsx Книга1.xlsx (14.7 Кб, 6 просмотров)
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
01.05.2020, 09:09
Maratona, На что смотреть ?
В файлах .xlsx (после сохранения) макросов не бывает, поэтому Ваших косяков, не видно но скрин события и результат выполнения трёх кликов, прилагается.

P.S. Так как столбец M содержит формулы, то после копирования мы получаем 0, и это нормально, ибо ячейки, на которые ссылается формула, не копируются.
Но если нужно сохранить значение ячейки (не формулу) и форматирование, то обычное копирование можно заменить на копирование+специальную вставку. Если форматирование не нужно, то копирование можно заменить на банальное присвоение.

Но, повторюсь, никаких проблем, там нет.
Миниатюры
Копирование ячейки на другой лист,  с одновременным копированием связанных ячеек с листа1   Копирование ячейки на другой лист,  с одновременным копированием связанных ячеек с листа1  
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
01.05.2020, 09:20  [ТС]
Файл с макросами, не могу приложить, так как пишет что некорректный файл. Как же мне поступить, может вы пришлете ваш файл. Я попробую разобраться. По сути мне нужно сохранить значение и форматирование, по клику в ячейке столбца С.
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
01.05.2020, 09:45
Можно было опубликовать архив (zip, rar, 7z) или сохранить как .xls
Вложения
Тип файла: xls Sample_for_Maratona.xls (45.5 Кб, 4 просмотров)
0
 Аватар для pashulka
4138 / 2242 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
01.05.2020, 09:53
Лучший ответ Сообщение было отмечено Maratona как решение

Решение

В первом варианте остался мусор, вот исправленный
Вложения
Тип файла: xls Sample_for_Maratona2.xls (43.5 Кб, 12 просмотров)
0
0 / 0 / 0
Регистрация: 28.04.2020
Сообщений: 8
01.05.2020, 14:26  [ТС]
Получилось! Огромное вам спасибо! Желаю вам счастья и крепкого здоровья!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.05.2020, 14:26
Помогаю со студенческими работами здесь

Excel копирование определенных ячеек и строк на другой лист
Здравствуйте. Имеется лист с которого нужно при нажатии кнопки скопировать определенные данные на другой лист построчно в определенные...

Копирование содержимого ячейки на другой лист по условию
Привет великим гуру владеющим в совершенстве Excel. В программе не силен, поэтому вопрос глупый: Подскажите как решить вот такую задачу: в...

Поиск ячеек по значению текста, и копирование строки на другой лист
Приветствую! Только начинаю осваивать макрос и никак не могу понять как написать код для моей задачи. Гуру макроса подскажите...

Копирование данных из разных ячеек одного листа на другой лист
Ребят, доброго всем вечера. Требуется помощь. VBA в рамках предмета под названием &quot;информатика&quot;, изучал лет 10 назад, на первом...

Копирование ячеек столбца одного листа и переноса на другой лист
Доброго времени суток всем вам, уважаемые форумчане. В виду рабочей необходимости, я начал изучать программирование на VBA. Однако на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru