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

Вход

Регистрация

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

 

= Мир MS Excel/Вставить значения в отдельные ячейки при изменении основной - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить значения в отдельные ячейки при изменении основной (Макросы/Sub)
Вставить значения в отдельные ячейки при изменении основной
rever27 Дата: Пятница, 27.06.2014, 10:26 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день. Суть проблемы:

Ведется подсчет сумму масс материала. Значений очень много и вручную копировать каждое - долго
Нужен макрос, суть которого: При изменении значения ячейки D9 (после ввода данных вручную в ячейки D4:D7) копировать это значение в строку I с переходом на следующую ячейку этой строки.
Т.е. чтобы при вводе данных в D4:D7 3 раза, появилось 3 значения в I2, I3, I4, и в конечном итоге получилась сумма всех материалов.
[moder]См. тут
К сообщению приложен файл: 3462097.xls (53.0 Kb)


Сообщение отредактировал rever27 - Пятница, 27.06.2014, 15:00
 
Ответить
СообщениеДобрый день. Суть проблемы:

Ведется подсчет сумму масс материала. Значений очень много и вручную копировать каждое - долго
Нужен макрос, суть которого: При изменении значения ячейки D9 (после ввода данных вручную в ячейки D4:D7) копировать это значение в строку I с переходом на следующую ячейку этой строки.
Т.е. чтобы при вводе данных в D4:D7 3 раза, появилось 3 значения в I2, I3, I4, и в конечном итоге получилась сумма всех материалов.
[moder]См. тут

Автор - rever27
Дата добавления - 27.06.2014 в 10:26
rever27 Дата: Пятница, 27.06.2014, 12:50 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Извините, немного не понял замечания Модератора
 
Ответить
СообщениеИзвините, немного не понял замечания Модератора

Автор - rever27
Дата добавления - 27.06.2014 в 12:50
китин Дата: Пятница, 27.06.2014, 12:54 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 7019
Репутация: 1074 ±
Замечаний: 0% ±

Excel 2007;2010;2016
почитайте п.3 из ссылочки модератора.причем внимательно yes


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениепочитайте п.3 из ссылочки модератора.причем внимательно yes

Автор - китин
Дата добавления - 27.06.2014 в 12:54
rever27 Дата: Пятница, 27.06.2014, 14:11 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010

[moder]Это сейчас все оформлено, когда файл положен. А в первом посте его нет. О каком соответствии Правилам Вы говорите?


Сообщение отредактировал rever27 - Пятница, 27.06.2014, 15:00
 
Ответить
Сообщение

[moder]Это сейчас все оформлено, когда файл положен. А в первом посте его нет. О каком соответствии Правилам Вы говорите?

Автор - rever27
Дата добавления - 27.06.2014 в 14:11
AlexM Дата: Пятница, 27.06.2014, 21:05 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Код в модуле листа[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Range("D4:D7"), Target) Is Nothing Then
If Evaluate("CountA(D4:D7)") < 4 Then Exit Sub
iRow = Application.CountA(Columns(9)) + 1
If iRow = 11 Then Exit Sub
Range("D9").Copy: Range("I" & iRow).PasteSpecial (xlPasteValues)
Range("D4:D7").ClearContents
Range("D4").Select
End If
End Sub
[/vba]
К сообщению приложен файл: 3462097_new.xls (60.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеКод в модуле листа[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Range("D4:D7"), Target) Is Nothing Then
If Evaluate("CountA(D4:D7)") < 4 Then Exit Sub
iRow = Application.CountA(Columns(9)) + 1
If iRow = 11 Then Exit Sub
Range("D9").Copy: Range("I" & iRow).PasteSpecial (xlPasteValues)
Range("D4:D7").ClearContents
Range("D4").Select
End If
End Sub
[/vba]

Автор - AlexM
Дата добавления - 27.06.2014 в 21:05
rever27 Дата: Понедельник, 30.06.2014, 16:14 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
AlexM Спасибо огромное!

Вот только не разобрался, как сделать, чтобы значения D4:D7 не исчезали, после копирования значения. Очень часто они общие, и нет нужды заново все вбивать

Так же хотел поинтересоваться.
У меня таких таблиц 6 штук на разный материал. Как мне сделать проще:
1)Вставить макрос в каждую таблицу, а потом суммировать их значения.
2)Изменить диапазон макроса на все таблицы?

Спасибо
 
Ответить
СообщениеAlexM Спасибо огромное!

Вот только не разобрался, как сделать, чтобы значения D4:D7 не исчезали, после копирования значения. Очень часто они общие, и нет нужды заново все вбивать

Так же хотел поинтересоваться.
У меня таких таблиц 6 штук на разный материал. Как мне сделать проще:
1)Вставить макрос в каждую таблицу, а потом суммировать их значения.
2)Изменить диапазон макроса на все таблицы?

Спасибо

Автор - rever27
Дата добавления - 30.06.2014 в 16:14
AlexM Дата: Понедельник, 30.06.2014, 16:28 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Строка, которая очищает ячейки[vba]
Код
Range("D4:D7").ClearContents
[/vba] закомментируйте ее, поставив в начале одинарный апостроф '
Макрос можно вставить в модуль листа. Выполняется только на листе и в модуль книги - будет выполняться на всех листах.
Лучше пример, где и как расположено. Так проще дать совет.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеСтрока, которая очищает ячейки[vba]
Код
Range("D4:D7").ClearContents
[/vba] закомментируйте ее, поставив в начале одинарный апостроф '
Макрос можно вставить в модуль листа. Выполняется только на листе и в модуль книги - будет выполняться на всех листах.
Лучше пример, где и как расположено. Так проще дать совет.

Автор - AlexM
Дата добавления - 30.06.2014 в 16:28
rever27 Дата: Четверг, 03.07.2014, 09:23 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Добрый день, AlexM

При добавлении строки Range("D4:D7").ClearContents в коммент, макрос перестает работать корректно.

Прикрепляю общий файл с расчетом.
Там 8 видов материала. Моя задача - посчитать общую массу изделий по проекту. Встречаются материалы по разному (иногда 2, иногда все 8).
В каком виде будет конечная масса - не имеет значения.
Может быть для каждого материала использовать свой столбец(для первого - I, для второго - J и т.д.)
Либо, чтобы данные появлялись по порядку в столбце I не зависимо от материала.
К сообщению приложен файл: 12.xls (82.5 Kb)
 
Ответить
СообщениеДобрый день, AlexM

При добавлении строки Range("D4:D7").ClearContents в коммент, макрос перестает работать корректно.

Прикрепляю общий файл с расчетом.
Там 8 видов материала. Моя задача - посчитать общую массу изделий по проекту. Встречаются материалы по разному (иногда 2, иногда все 8).
В каком виде будет конечная масса - не имеет значения.
Может быть для каждого материала использовать свой столбец(для первого - I, для второго - J и т.д.)
Либо, чтобы данные появлялись по порядку в столбце I не зависимо от материала.

Автор - rever27
Дата добавления - 03.07.2014 в 09:23
AlexM Дата: Четверг, 03.07.2014, 14:39 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4512
Репутация: 1128 ±
Замечаний: 0% ±

Excel 2003
Проверяйте.
К сообщению приложен файл: 12_new.xls (54.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеПроверяйте.

Автор - AlexM
Дата добавления - 03.07.2014 в 14:39
rever27 Дата: Пятница, 04.07.2014, 10:55 | Сообщение № 10
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Да, все работает отлично.
Спасибо вам
 
Ответить
СообщениеДа, все работает отлично.
Спасибо вам

Автор - rever27
Дата добавления - 04.07.2014 в 10:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить значения в отдельные ячейки при изменении основной (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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