Перепрыгнеть в содержание


- - - - -

Программа в Excel для анализ статистики, коэффициентов и результатов


12 ответов в эту тему

#1 OFFLINE   Q555

    Новичок


  • Участник
  • Пип
  • 3 сообщения
0

Добавлено 22 May 2015 - 07:01

Добрый день!

Уверен, многих заинтересует такой подход.
Суть его сводиться к поиску зависимостей на уже прошедших событиях.
Скачать пример можно тут:
rghost.ru/6JLhfm82R

Все описание в самом файле.

Если возникнут вопросы, обращайтесь.
*****************************

Отредактировано clerk, 24 May 2015 - 04:12.
контакты в профиль


#2 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 22 May 2015 - 07:33

На всякий случай для тех, кто кто боится скачивать и запускать, сообщаю - в файле пример расчета и цены на покупку данных.

#3 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 May 2015 - 08:48

А кто может подсказать как работать в VBA с функциями рабочего листа но не используя обращение к самому листу (его ячейки не не используем)---то есть допустим работаем с внутренними какими-то данными внутри функции или процедуры.... Как к самой функции-то обратиться я знаю, но везде в нете в примерах там понатыкали адреса ячеек листа. Может там в самой процедуре(пользовательской функции) объявить какой-то типа объект а потом передавать ссылку на него?

Вот допустим пример
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub


Вот если вместо вот этой хрени
Set myRange = Worksheets("Sheet1").Range("A1:C10")
получить ссылку допустим на массив который в процедуре инициализирован какими-то значениями, то будет такая хрень работать???

#4 OFFLINE   Fedorok

    Специалист


  • mp
  • 2128 сообщения
297

Добавлено 22 May 2015 - 11:55

СообщенияBambuk, on 22 May 2015 - 08:48, сказал:

А кто может подсказать как работать в VBA с функциями рабочего листа но не используя обращение к самому листу (его ячейки не не используем)---то есть допустим работаем с внутренними какими-то данными внутри функции или процедуры.... Как к самой функции-то обратиться я знаю, но везде в нете в примерах там понатыкали адреса ячеек листа. Может там в самой процедуре(пользовательской функции) объявить какой-то типа объект а потом передавать ссылку на него?

Вот допустим пример
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub


Вот если вместо вот этой хрени
Set myRange = Worksheets("Sheet1").Range("A1:C10")
получить ссылку допустим на массив который в процедуре инициализирован какими-то значениями, то будет такая хрень работать???
Бамбук, ну неужели трудно создать массив из нескольких элементов и потом сунуть его как аргумент в функцию Application.WorksheetFunction.Min(Массив) и просто проверить своё предположение:

Sub UseFunction()
Dim a(10) As Integer
a(0) = 10: a(1) = 15: a(2) = 20: a(3) = 25: a(4) = 30: a(5) = 35: a(6) = 40: a(7) = 45: a(8) = 50: a(9) = 55: a(10) = 60
'Как вы сформируете массив данных это уже ваше дело, я просто показал самый примитивный вариант для примера
answer = Application.WorksheetFunction.Min(a)
MsgBox answer
End Sub

Функция вернёт значение 10.

#5 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 22 May 2015 - 12:59

СообщенияFedorok, on 22 May 2015 - 11:55, сказал:

Бамбук, ну неужели трудно создать массив из нескольких элементов и потом сунуть его как аргумент в функцию
Создать-то не трудно, но дело в том что проверять все функции работают они или нет и при каких условиях--утопия, поэтому тут был важен ответ в принципе, а не для конкретно показанного примера. А на такой вопрос может ответить только программист (который образован) а не "проверяла" вреде меня.....

Спасибо за консультацию.....

#6 OFFLINE   Fedorok

    Специалист


  • mp
  • 2128 сообщения
297

Добавлено 22 May 2015 - 13:13

СообщенияBambuk, on 22 May 2015 - 12:59, сказал:

Создать-то не трудно, но дело в том что проверять все функции работают они или нет и при каких условиях--утопия, поэтому тут был важен ответ в принципе, а не для конкретно показанного примера. А на такой вопрос может ответить только программист (который образован) а не "проверяла" вреде меня.....

Спасибо за консультацию.....
А вы думаете, что программисты это такие мега-гуру в очках, которые знают ответы на любой вопрос? :) . Так же сидят тыкаются, что то пробуют, также лазят по форумам, спрашивают....Да далеко ходить не надо, достаточно посмотреть ветки посвящённые API на этом форуме....Артений к примеру пишет любой сложности боты для Бетфэйр, любой сложности и с любого сайта парсеры (он так говорит), но вопросами различными сыпет как из ведра....

Отредактировано Fedorok, 22 May 2015 - 13:18.


#7 OFFLINE   Noname

    Специалист


  • mp
  • 2445 сообщения
349

Добавлено 22 May 2015 - 17:11

Стесняюсь спросить ^_^
А что означает лист "Price"?
Там на первой странице какая-то байда про бесплатность, а на третьей : "заказы отправлять "...@..." и цены указаныю. :huh:
Ты эту хрень продаешь, чтоли?

#8 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 23 May 2015 - 06:03

СообщенияNoname, on 22 May 2015 - 17:11, сказал:

Ты эту хрень продаешь, чтоли?
Есессно :angry:
В таких "программах" только два варианта - или троян или продажа. А бывают наглые, что и то и другое.

Отредактировано triggers, 23 May 2015 - 06:04.


#9 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 23 May 2015 - 09:02

Сообщенияtriggers, on 23 May 2015 - 06:03, сказал:


Есессно :angry:/>/>
В таких "программах" только два варианта - или троян или продажа. А бывают наглые, что и то и другое.

Вы же сами написали, что продаются данные. При чем здесь программа?

Для тех, кто не умеет искать или собирать данные, покупка - нормальный вариант. Да и цены доступные.

Отредактировано tester.nt, 23 May 2015 - 09:07.


#10 OFFLINE   tester.nt

    Специалист


  • Участник II
  • ПипПипПип
  • 192 сообщения
61

Добавлено 23 May 2015 - 09:16

Хотя в топике ою этом ничего не сказано. Тогда, согласен, это почти обман. Или маркетинг)

#11 OFFLINE   triggers

    Триггер Мастер


  • Участник II
  • ПипПипПипПип
  • 989 сообщения
184

Добавлено 23 May 2015 - 21:59

Сообщенияtester.nt, on 23 May 2015 - 09:02, сказал:

При чем здесь программа?
Топик называется "Программа..."

#12 OFFLINE   Вулкан

    Специалист


  • Участник II
  • ПипПипПип
  • 424 сообщения
12

Добавлено 25 May 2015 - 05:09

СообщенияBambuk, on 22 May 2015 - 08:48, сказал:

А кто может подсказать как работать в VBA с функциями рабочего листа но не используя обращение к самому листу (его ячейки не не используем)---то есть допустим работаем с внутренними какими-то данными внутри функции или процедуры.... Как к самой функции-то обратиться я знаю, но везде в нете в примерах там понатыкали адреса ячеек листа. Может там в самой процедуре(пользовательской функции) объявить какой-то типа объект а потом передавать ссылку на него?

Вот допустим пример
Sub UseFunction()
Dim myRange As Range
Set myRange = Worksheets("Sheet1").Range("A1:C10")
answer = Application.WorksheetFunction.Min(myRange)
MsgBox answer
End Sub


Вот если вместо вот этой хрени
Set myRange = Worksheets("Sheet1").Range("A1:C10")
получить ссылку допустим на массив который в процедуре инициализирован какими-то значениями, то будет такая хрень работать???
Возможно, уважаемый Bambuk, у вас нечеткое понимание разницы между терминами Range и Массив (n).
Range - область данных (значения или формулы) на конкретных листах, в конкретных ячейках/диапазонах ячеек.
Массив (n) - несколько (n) конкретных значений в оперативной памяти машины, собранных в один массив программным путем (из неких ячеек неких листов или путем ввода с клавиатуры. Лично я так это дело понимаю. Поэтому, перефразирую известное изречение: "А зачем нам кузнец ? Кузнец нам не нужен !", где кузнец = массив.

#13 OFFLINE   Bambuk

    Специалист


  • mp
  • 6322 сообщения
602

Добавлено 25 May 2015 - 06:55

СообщенияВулкан, on 25 May 2015 - 05:09, сказал:

Возможно, уважаемый Bambuk, у вас нечеткое понимание разницы между терминами Range и Массив (n).
Range - область данных (значения или формулы) на конкретных листах, в конкретных ячейках/диапазонах ячеек.
Массив (n) - несколько (n) конкретных значений в оперативной памяти машины, собранных в один массив программным путем (из неких ячеек неких листов или путем ввода с клавиатуры. Лично я так это дело понимаю. Поэтому, перефразирую известное изречение: "А зачем нам кузнец ? Кузнец нам не нужен !", где кузнец = массив.
Я тут вообще-то имел в виду не ячейку в смысле хранения, а объект. Я может что-то не так понял конечно в объектно-ориентированном подходе...но в моём понимании объект похож чем-то на структуру с той разницей что по аналогии можно обращаться к методам объекта. Range - имелось в виду что это объект, можно же потом допустим объявлять ссылки на объект этого типа и что-то там дальше мудить.... нам зачем вообще надо знать комп на уровне железа.....нафиг не надо мы ж на ассемблере не кодим.

Отредактировано Bambuk, 25 May 2015 - 07:02.