Denis_Kokyev
Advanced Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Что-то никак не могу разобраться с этим VBA, не может же он быть сложнее чем pascal и autoit (этот то вобще практически vba в чистом виде). Прочел уже всю ветку ветку, скачал из шапки корявый и непоследовательный help, нашёл книжку "VBA для чайников" (5 mb). От последнего вообще в голове каша. Многие вещи прояснились, но многоие так и остались для меня загадкой. Логика построения что-то мне не даётся... Вот, например, простая задача: Приходит прайс, надо чтоб при нажатии кнопки, строчка на которой стоит курсор, копировалсь бы, например, на лист 3, там подсчитывалась бы сумма, потом происходил бы возврат на лист 1 и снималось бы выделение. При следующем нажатии клавиши макроса - строка бы вставлялась бы ниже предыдущей. В итоге на листе 3 сформировался бы список необходимых товаров с просчитанной суммой. Код: Sub Макрос3() ' ' Макрос записан 14.07.2006 (Denchik) ' ' Sheets("Лист1").Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy Sheets("Лист3").Select ActiveSheet.Paste SendKeys "{Down}" ' Sheets("Лист1").Select ' SendKeys "{ESC}" End Sub | Вот этот код вроде бы практически работает - строчки копируются, но если раскоментировать две последние строчки, сдвиг на строчку вниз (чтоб при нажатии на кнопку макроса строчка с товаром вставлялась бы после предидущей) почему-то применяется к первому листу. Пытался сделать проверку, чтоб в 3 лист строчка вставлялась в первую пустую строчку - вообще ничего не получилось. После попытки вставки на 3 лист шапки типа "Список Товаров" и подсчёта суммы где-то сбоку (просто тупо =СУММ(E1:E2000)) - вообще мрак выходит. Комманда SendKeys ("^+{LEFT}") то же странно срабатывает - то всю строчку выделяет, то одну ячейку... Короче, в голове полная каша! Помогите плиз... Добавлено: Пока нет ответов, скачал "Профессиональное програмирование на VBA в Excel 2002"(8 mb) - изучаю со скрипом... Кстати, из шапки help закачал Offline Explorer'ом - сформировал .exe файл - может вылодить куда нибудь? Менее 900 Kb получилось.
---------- Можно ответить на любой вопрос, если вопрос задан правильно. Платон |
|