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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2013, 03:00   #1
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию Поиск значений и вывод статистики

Надо создать макрос, который выполнял бы следующую функцию, из первого столбца выбираются значения, которые привязаны ко второму столбцу, если условие выполнено, тогда в новом листе (для всех раз выполнения макроса) организуется сводная маленькая табличка... Кол - должен сравниватся с колгейт, ким - кимберли, ну и тд, прайсы большие, нужно учесть, что несколько поставщиков поставляют не только один товар (староженко - только колгейт, остальное прицепом идёт и не учитывается) Тпким - кимберли, тпкол - колгейт, ну и тд, но нужен список исключений, мазманян он на двоих работает, можно ли сделать так, чтобы он не формировался по каждому условию, а только когда оба ( и более) условия сработали (отдельный лист, и выводится должно даже нулевое значение, можно в макросе добавить данные значения, я сам сделаю, просто скажите как вставить условие, или сделайте пример для одного, а я сам размножу как надо) Таких несколько... Это не программа для диплома и фриланса, это просто скрипт на 20-30 строк, сам программист, но слишком давно не занимался этим делом! Да и не силён в VBA, вот на Delphy бы... Но приаттачивать файл, потом делать обработку, затем выгрузку, слишком геморройно!

Прошу прощения, мышка дёрнулась и я выбрал не тот файл, уже поправил!
Вложения
Тип файла: zip Kniga1.zip (7.1 Кб, 11 просмотров)

Последний раз редактировалось Maksnazarov; 17.03.2013 в 03:29.
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 03:25   #2
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,858
По умолчанию

Цитата:
из первого столбца выбираются значения, которые привязаны ко второму столбцу
где пример файла?
тот файл, что вы прикрепили, похоже, для чего-то другого предназначен

Цитата:
если условие выполнено, тогда в новом листе (для всех раз выполнения макроса) организуется сводная маленькая табличка...
какое условие?
какая сводная?
в файле - ни одной строки кода. Нам все надо сделать «с нуля»???

Цитата:
можно ли сделать так, чтобы он не формировался по каждому условию
сделать можно
как именно - не подскажу, ибо никакой конкретики нет

Цитата:
это просто скрипт на 20-30 строк
что-то мне кажется, что строк будет куда больше...
и вникать в задачу минимум час

Цитата:
сам программист
а вы сами прочитайте, что написали, если программист,
и попробуйте из описания понять, что надо сделать...

Цитата:
Это не программа для диплома и фриланса
а мне вот кажется наоборот
что на фриланс очень даже смахивает
PS: Сам я делать не буду, так что услуги свои не предлагаю
EducatedFool вне форума Ответить с цитированием
Старый 17.03.2013, 03:31   #3
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Уже переприаттачил файл, прошу поглядеть... Уж простите, промазал!

Мой код лучше не читать, ошибка на ошибке, это курам на смех!

Последний раз редактировалось Maksnazarov; 17.03.2013 в 03:36.
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 04:03   #4
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

For i = 1 To 20000
Range("R?C1").Select
ActiveCell.FormulaR??C1 = "ТПКолСтороженко"

Надо примерно такое,

For i = 1 To 20000
Range("R?C1").Select
ActiveCell.FormulaR??C1 = "ТПКолСтороженко"
? - тут надо ссылку на ячейку, никак не могу добиться, а из "ТПКолСтороженко" вычленить только ТПКол, то есть 3 больших буквы, потом маленькие, затем сновва большая, и вот с неё обрубается, какие команды использовать? Можно pos не минусовать, просто как найти верхний регистр в VBA? Delphi uppercase и lowercase не катят, да и они всю строку, а не поиск делают......

Последний раз редактировалось Maksnazarov; 17.03.2013 в 04:23. Причина: не прав
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 04:19   #5
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Как удалить сообщение, я с одим разобрался, нужна помощь в другом?
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 04:56   #6
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

For I = 1 To 200 Step 1
If Cell.FormulaRiC1 = "ТПКолСтороженко" And Cell.FormulaRiC2 = "Колгейт" Then R10C10 = 0

End If
Next I
End Sub
Где ошибка?
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 04:58   #7
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Может кто в скайпе помочь?
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 05:04   #8
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

Какую скобку ставить для альтернативной ссылки? Я конспекты со СТЭП-а потерял...
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 05:10   #9
Maksnazarov
Новичок
Джуниор
 
Регистрация: 17.03.2013
Сообщений: 8
По умолчанию

To EducatedFool , не руби с плеча, ты не знаешь людей, они не знают тебя, просто не отвернись, и будет счастье всем... Я МНОГО забыл из того, чему меня учили 10 лет назад, а вот сейчас нужно, просто в полном вопросе я могу и переборщить, сам пойми, прогер поставит вопрос так, (если забыл сам), что ни один начальник с другим прогером не поймёт, о чём он сказал! Давай в личку дальше, но со всем уважением!
Maksnazarov вне форума Ответить с цитированием
Старый 17.03.2013, 10:49   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
If Cell.FormulaRiC1 = "ТПКолСтороженко" And Cell.FormulaRiC2 = "Колгейт" Then R10C10 = 0
Цитата:
Где ошибка?
1. FormulaRiC1, FormulaRiC2 - нет такого в VBA.
Пишите FormulaR1C1 или просто Formula
2. Если уж пишете
Код:
If Cell.FormulaRiC1 = "ТПКолСтороженко" And Cell.FormulaRiC2 = "Колгейт" Then

End If
то R10C10 = 0 нужно писать в новой строке, типа:
Код:
If Cell.FormulaR1C1 = "ТПКолСтороженко" And Cell.FormulaR1C1 = "Колгейт" Then
            R10C10 = 0
        End If
3. Если шаг цикла = 1, Step 1 можно не писать, т.е.:
Код:
For i = 1 To 200
'код
Next i
4. ну и так далее и тому подобное. Как Вы сами признали - ошибка на ошибке.

Цитата:
сам программист
Я конспекты со СТЭП-а потерял...
А у меня их никогда и небыло, да и не программист я.
В VBA замечательная справка, да и в инете много справочных ресурсов.
Посмотрите хотя бы вот это или это
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 17.03.2013 в 11:08.
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск и вывод значений из массивов grom_nv Microsoft Office Excel 4 24.08.2012 14:00
Вывод значений Stormvvv Помощь студентам 4 19.02.2011 13:22
Не получается вывод статистики GoldmasteR PHP 2 15.02.2011 11:45
Вывод всех значений.. ZveRN JavaScript, Ajax 0 06.11.2010 12:26
Таймер и вывод значений Tekkonkinkreet Помощь студентам 2 29.10.2010 13:01