|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.07.2009, 09:05 | #1 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
Помогите "расшифровать" макрос
Хочу переделать макрос под свой файл, а в макросы только начал изучать
Вот код макроса Public Sub апр() название макроса With Workbooks("allwork-2009-01.xls").Sheets("01") открываем книгу и лист откуда брать значения For i = 3 To 200 смотрим последовательно строки от 3 до 200, что означает символ i If .Cells(i, 5).Value <> 451 Then GoTo 10 если находим значение равное 451, то переходим к 10, а что такое 10 и откуда оно взялось? For k = 9 To 108 смотрим последовательно строки от 9 до 108, что означает символ k If Cells(k, 1).Value = .Cells(i, 7).Value Then Cells(k, 2).Value = .Cells(i, 10).Value: Cells(k, 6).Value = .Cells(i, .Value: GoTo 10 здесь непонятно,прошу помощи Next k 10 Next i End With End Sub |
19.07.2009, 09:08 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Цитата:
Подробно опишите, что должен делать макрос - тогда поможем (и без всяких примеров) Макрос будет запускаться из обрабатываемого файла? Или надо открывать определённый файл с диска? |
|
19.07.2009, 09:22 | #3 | |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
Цитата:
Макрос просматривает столбец E файла "allwork-2009-01.xls" При нахождении в ячейке значения равному 451 , смотрит на ячейку G и считывает оттуда значение (в ячейке G - дата). Далее просматривает столбец A файла "kassa_2009.xls" находит первое (их несколько) значение равное столбцу G файла "allwork-2009-01.xls" Далее копирует по строчке в столбец B файла "kassa_2009.xls" значение столбца I файла "allwork-2009-01.xls" Далее копирует по строчке в столбец G файла "kassa_2009.xls" значение столбца H файла "allwork-2009-01.xls" Другими словами Имеется журнал операций "allwork-2009-01.xls", столбцы ДЕБЕТ, КРЕДИТ, ДАТА, СУММА, НАИМЕНОВАНИЕ Имеется второй файл - "kassa_2009.xls" надо из первого файла заполнить второй, выбрав только кассовые операции и поместить значения в соответствующие ячейки файла "kassa_2009.xls" (т.е. дату в дату, сумму в сумму) Если обьяснил непонятно, могу приложить файл примера |
|
19.07.2009, 11:59 | #4 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
|
Символы i и k это переменные для организации цикла. 10 - это номер строки куда переходит макрос в случае невыполнения условия.
Код:
|
19.07.2009, 12:13 | #5 | |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
Цитата:
В один день может быть несколько однотипных операций. Как добавить следующий параметр: Если значение ячейки (номер строки =k, номер столбца=3) активного листа уже занято каким либо значением, то перейти на строчку ниже и вписать значения, не обращая внимания на условие Если значение ячейки (номер строки =k, номер столбца=1) активного листа равно значению ячейки (номер строки =i, номер столбца=1) в проверяемой книге |
|
19.07.2009, 12:52 | #6 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
|
Что ж Вы сразу не сказали. Попробуйте так:
|
20.07.2009, 07:17 | #7 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
Попробовал, но почему обрабатываются не все строки. Имеется пропуски.
Более подробно в приложенном файле |
21.07.2009, 06:41 | #8 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
|
21.07.2009, 10:19 | #9 |
Форумчанин
Регистрация: 24.01.2009
Сообщений: 625
|
|
21.07.2009, 10:58 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
так что ж ответить, если сказать по существу нечего?!
Вы знаете, какую Вы делаете ошибку? вместо того, чтобы чётко сформулировать задание - что, куда и в каком случае переписывается, Вы пытаетесь заставить работать макрос. (причём, надо отметить - жуткий макрос почему жуткий? потому что в нём жестко заданы константы - начала диапазона, конец диапазона и т.д. и т.п. поэтому добавление строки, удаление строки могут привести к самым разнообразным последствиям, вплоть до полной нераспособности всего макроса! [Добавлено] и ещё, в книге kassa_2009.xlsm у Вас два макроса: kassakredit01() и kassadebet01() — Вы какой из них терзаете? Последний раз редактировалось Serge_Bliznykov; 21.07.2009 в 11:05. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
"а" и "б" не хотят посчитаться, помогите мне их посчитать) | Лука | Microsoft Office Excel | 5 | 10.12.2010 02:43 |
Помогите пожайлуста найти, кто человек "вконтакте", зная его "мэйл" | Аксюнька1990 | Помощь студентам | 1 | 12.06.2009 06:16 |
блок "cont" с права не принимает значение "margin: 10px;" которое описано в body | tabikA | HTML и CSS | 5 | 24.02.2009 21:50 |
Макрос "дописывает" не нужные параметры | DrManual | Microsoft Office Word | 4 | 20.02.2009 17:25 |
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует | skobets | Общие вопросы C/C++ | 2 | 03.06.2008 06:51 |