|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
15.05.2011, 19:19 | #1 |
Новичок
Джуниор
Регистрация: 15.05.2011
Сообщений: 4
|
Составление цикла в VBA Excle
Здравствуйте, я уже года как три не занимался (если занятия с выводом сообщений и не большой работой с массивами можно вообще назвать занятием, я больше пхп полюбил =)) VB 6.0, а VBA Excel вообще в глаза не видел Я не удивлюсь если никто не откликнется на мою просьбу, но все же может кому не лень будет написать небольшой код для простого алгоритма который я опишу ниже:
Есть документ, к примеру Книга1.xls, в ней есть два листа: Лист1 и Лист2 соответсвенно. В первом листе есть пять колонок: Артикул | Наименование | Количество | Цена | Разница Во втором листе две колонки: Артикул | Цена A теперь суть алгоритма: Если ячейка в колонке Артикул первого листа равняется ячейке в колонке Артикул второго листа, то ячейка данной строки в колонке Разница первого листа должна равняться ячейке Цена из первого листа минус ячейка Цена из второго листа умноженная на ячейку колонки Количество первого листа и так для каждой строки. Вот что по-идеи должно получиться: Лист1 Лист2 После алгоритма Лист1 Если не понятно, готов попытаться объяснить более подробно. Буду очень благодарен за каждый ответ, я бы отблагодарил финансово, но на WebMoney у меня осталось только пол доллара, если поможет отправлю тому кто напишет мне код работающего цикла (выполнение такого алгоритма я себе представляю выполнением цикла) Последний раз редактировалось thefair; 15.05.2011 в 19:42. |
15.05.2011, 19:22 | #2 | |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Цитата:
Вы бы лучше пример файла прикрепили
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
|
15.05.2011, 19:24 | #3 |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
А насчет циклов, посмотрите здесь Управляющие структуры ... Циклы
Очень тольково расписано и с примерами
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 |
15.05.2011, 19:47 | #4 |
Новичок
Джуниор
Регистрация: 15.05.2011
Сообщений: 4
|
Пример экселевского файла я не прикрепляю, так как даже базу для составления цикла не могу написать, ну в упор я не знаю VBA, а именно как обращаться к той или иной ячейке определенной строки того или иного листа (Писал только на php и чуть-чуть на VB 6.0), а сейчас по работе понадобилось сделать такой макрос для упрощения работы. А вот скрины с тем, что должно получится я прикрепил в первом посте. и большое спасибо за линк!
Последний раз редактировалось thefair; 15.05.2011 в 19:54. |
15.05.2011, 20:02 | #5 |
Пользователь
Регистрация: 09.05.2011
Сообщений: 22
|
Зачем именно нужен цикл?
не проще ли просто формулой? Например, если второй лист называется "Лист2", то вставить в ячейку E2 на таблице "Лист1" такую формулу: Код:
|
15.05.2011, 20:11 | #6 | |
Старожил
Регистрация: 15.05.2008
Сообщений: 2,058
|
Цитата:
Кстати, согласно Вашего алгоритма, в Е3 будет 1,5 а не 1 как у Вас на скрине
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499 Последний раз редактировалось VictorM; 15.05.2011 в 20:13. |
|
15.05.2011, 20:37 | #7 | |
Новичок
Джуниор
Регистрация: 15.05.2011
Сообщений: 4
|
Цитата:
Что-то типо: Если ячейка A2 (Лист1) равняется Ячейке A2 (Лист2), то применяем формулу, если нет, то сравниваем ячейку А2 (Лист1) с ячейкой A3 (лист2) и т.д. пока формула не выполниться и точно такая же процедура с ячейкой А3 (Лист1) Блин, хотел в скрине вписать не 0,5, а 0,6, получилось вверх знаний арифметики |
|
15.05.2011, 20:57 | #8 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
можно SQL вообще без циклов
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
15.05.2011, 21:51 | #9 |
Форумчанин
Регистрация: 07.03.2010
Сообщений: 796
|
Код:
Microsoft ActiveX Data Objects Library
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
|
15.05.2011, 23:06 | #10 |
Участник клуба
Регистрация: 17.07.2009
Сообщений: 1,088
|
К чему вообще макросы? ВПР Вам в помощь.
(D2-ВПР(Критерий;Таблица;Столбец;0))*C2
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
из Excle через Delphi в Mysql | diman_never | БД в Delphi | 0 | 05.05.2011 09:50 |
Составление таблицы | Smerchin | Microsoft Office Excel | 3 | 11.02.2011 09:14 |
Составление программ в VBA! | Natalisaw | Помощь студентам | 2 | 05.01.2010 19:43 |
Переход от цикла к циклу не выходя из цикла (без multithreading) | Qousio | Общие вопросы C/C++ | 2 | 16.05.2009 09:27 |
Оператор цикла с предусловием While. Оператор цикла с пост условием Repeat | McMilin | Помощь студентам | 7 | 11.11.2007 14:10 |