Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2012, 08:50   #1
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию Макрос добавление строки, копирование данных с условием

Добрый день, уважаемые форумчане, знатоки VBA.
Прошу Вашей помощи в написании небольшого макроса по добавлению строки с выполнением еще парочки действий. Описание макроса внутри файла. Заранее огромное спасибо!
Вложения
Тип файла: rar 2012 05 12 для макроса.rar (46.9 Кб, 151 просмотров)
MaxxVer вне форума Ответить с цитированием
Старый 14.05.2012, 10:13   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

А сами что-нибудь пытались сделать?
Судя по файлу XLSX - даже и не пробовали...

Необходимый вам макрос - простейший, за минуту записывается макрорекордером.
EducatedFool вне форума Ответить с цитированием
Старый 14.05.2012, 10:23   #3
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

К сожалению я полный профан в этом, если поможете буду очень благодарен. Сейчас попробую поколдавать с макрорекоррдером, но мои предыдущие попытки не к чему хорошему не приводили...
MaxxVer вне форума Ответить с цитированием
Старый 14.05.2012, 11:09   #4
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Макрорекодером не получается, т.к. место вставки строки может быть произвольным и еще надо чтобы дата текущая значением вставала. Помогите, пожалуйста.
MaxxVer вне форума Ответить с цитированием
Старый 14.05.2012, 11:22   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

правой кнопкой мыши по ярлыку листа, исходный текст, копируете в модуль листа этот
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim r As Long
  If Target.Column <> 4 Then Exit Sub
  Cancel = True: r = Target.Row + 1: Rows(r).Insert Shift:=xlDown
  Target.EntireRow.Copy:  Cells(r, 1).PasteSpecial Paste:=xlPasteValues
  Cells(r, 9).ClearContents:  Cells(r, 22) = Date:  Cells(r, 26).Select
End Sub
двойной щелчек по любой ячейке 4-й колонки. успехов!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 14.05.2012 в 12:22.
IgorGO вне форума Ответить с цитированием
Старый 14.05.2012, 11:49   #6
MaxxVer
Форумчанин
 
Регистрация: 17.03.2009
Сообщений: 226
По умолчанию

Спасибо!!!
MaxxVer вне форума Ответить с цитированием
Старый 15.05.2012, 11:56   #7
Nka
Новичок
Джуниор
 
Регистрация: 14.05.2012
Сообщений: 1
По умолчанию И мне можете помочь тоже? Я уже 4ый день голову ломаю (

У меня есть таблица,которая каждый день заполняется.
Столбцов много, но надо,чтобы при виде слов Кувандык, Станкоснаб,Родионов, Гена,Юра данные копировались строками в разные листы книги в зависимости от попадающего слова. прилагаю образец,что нужно получить.ТРАНЗИТЫ.rar
Nka вне форума Ответить с цитированием
Старый 15.05.2012, 14:09   #8
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Т.е. при добавлении копировать. Понятно.
А при стирании?
А если завели с ошибкой? А потом исправили? Неправильно исправили, и переправили?

Может быть делать без изысков - вести одну таблицу/базу, и показывать нужное фильтром?
Можно ещё сводную использовать, или Access подключить с запросами и отчётами, если ИНОГДА нужно показать выборку начальству (хотя изредка можно и вручную скопипастить отфильтрованное, и никого не напрягать (т.е. я думал Access и мозги).
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 15.05.2012, 14:59   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

мой Вам совет - не плодите листы, это путь в никуда.
поставьте фильтр и Вы на этом же листе увидите данные отдельно по Кувандык, Станкоснаб, Родионов, Гена, Юра и пр.
зато потом отчет сформировать можно более есстественным способом (без головняка как собрать данные с разных листов) за период, по контрагенту и еще кто знает по чему...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 22.08.2014, 15:28   #10
smz1
Новичок
Джуниор
 
Регистрация: 22.08.2014
Сообщений: 3
По умолчанию

доброго времени суток всем!
Очень помог код от ув. IgorGO( пост 5). Спасибо!
То что искал.
Но как всегда хочется чего то большего.
Вопрос вот в чем.
Как сделать так(добавить к коду), чтобы кликать можно было ни по одной ячейке, а в 1-ом, 2-ом, 4-ом и т.д. столбце(колонке), например.
соответственно и правила менялись - стирались данные в других копируемых ячейках.
И еще, но не обязательно. Как вместо даты поставить формулу.

Честно. Все о чем можно догадаться по смыслу, перепробовал.

Заранее благодарен.

Последний раз редактировалось smz1; 22.08.2014 в 15:33.
smz1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Копирование данных между листами с условием igorMalov Microsoft Office Excel 3 24.02.2012 11:03
Макрос: копирование строки с условием MaxxVer Microsoft Office Excel 9 05.12.2011 21:54
Копирование с условием (Макрос Excel) Gvaridos Microsoft Office Excel 0 09.12.2010 11:44
Автоматическое добавление строки или условное копирование формул. Возможно ли? PhilAT Microsoft Office Excel 8 24.04.2010 23:15
Копирование данных в другой документ с условием oleg544 Microsoft Office Excel 2 05.04.2010 11:12