Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Программирование на Basic / VBA


РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты в разделе

Sergey V. Gornostaev
Статус: Специалист
Рейтинг: 101
∙ повысить рейтинг »
Megaloman
Статус: Академик
Рейтинг: 72
∙ повысить рейтинг »
mklokov
Статус: 2-й класс
Рейтинг: 71
∙ повысить рейтинг »

∙ Basic

Номер выпуска:1113
Дата выхода:28.12.2016, 18:45
Администратор рассылки:Андреенков Владимир (Профессор)
Подписчиков / экспертов:13 / 11
Вопросов / ответов:3 / 6

Консультация # 180671: Здравствуйте, помогите с решением задачи. Макрос вычисления среднего геометрического по выделенным данным на листе EXCEL. спасибо....
Консультация # 104911: Уважаемые эксперты к вам вопросик такого рода... Вообщем созданная программа в Fox Pro работает с базой которая на сервере. Мне необходимо поработать с той же базой, что и на сервере но лакально... Я имею ввиду копию базы разместить на своем диске, чтобы изменения в базе не отражались в рабочей базе, котор. на сервере... Проблема в том что при запу...
Консультация # 143038: Уважаемые эксперты, как программно (VBA Excell) определить включен ли автофильт в Excell? Спасибо!...

Консультация # 180671:

Здравствуйте,
помогите с решением задачи.

Макрос вычисления среднего геометрического по выделенным данным на листе EXCEL.

спасибо.

Дата отправки: 10.11.2010, 15:53
Вопрос задал: Матвеев Денис Александрович
Всего ответов: 2
Страница онлайн-консультации »


Консультирует Megaloman (Академик):

Здравствуйте, Матвеев Денис Александрович!
Вот макрос, решающий задачу. Вы должны выделить диапазон ячеек с численными данными и запустить макрос на выполнение. ПолУчите на экране ответ. Если в выбранном диапазоне - не все данные численные - возникнет ошибочная ситуация.

Sub sg()
'
Dim Mas As Variant      ' Массив, куда прочтем значения ячеек выделенного диапазона
Mas = Selection         ' Читаем значения выделенных ячеек в массив
'
N1 = UBound(Mas, 1)     ' Определяем размерность массива - число строк
N2 = UBound(Mas, 2)     ' Определяем размерность массива - число столбцов
'
P = 1                   ' Начальное значение произведения =1
For i = 1 To N1
    For j = 1 To N2
        P = P * Mas(i, j)   ' Ищем произведение всех элементов массива
    Next
Next
'
P = P ^ (1 / N1 / N2)       ' Извлекаем корень степени 1/N1/N2 (получаем среднее геометрическое)
'
MsgBox P, vbOKOnly, "Среднее геометрическое чисел выделенного диапазона"
'
End Sub

Консультировал: Megaloman (Академик)
Дата отправки: 10.11.2010, 18:00

5
Большое спасибо, все работает.
-----
Дата оценки: 10.11.2010, 18:36

Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Посетитель - 343282:

Выделенные ячейки не должны быть пустыми.

Приложение:

Консультировал: Посетитель - 343282
Дата отправки: 10.11.2010, 18:37
Рейтинг ответа:

НЕ одобряю +2 одобряю!

Консультация # 104911:

Уважаемые эксперты к вам вопросик такого рода... Вообщем созданная программа в Fox Pro работает с базой которая на сервере. Мне необходимо поработать с той же базой, что и на сервере но лакально... Я имею ввиду копию базы разместить на своем диске, чтобы изменения в базе не отражались в рабочей базе, котор. на сервере... Проблема в том что при запуске приложения программа выдает сообщение о том что программа запущена в монопольном режиме и будет закрыта.
Ярлык на рабочем столе одного из пользователей содержит след пути.
Объект "C:Program FilesDevStudioVfpVfp.exe" -t inspek
рабочая папка f:abonent - сетевая(на сервере)
Второй ярлык
Объект "C:Program FilesDevStudioVFPVFP.EXE" -t
рабочая папка f:abonent - сетевая(на сервере)
Первый ярлык запускае приложение. Ввод пароля и погнал работать, а второй зачем не пойму... открывает фокс чистый
Думаю мож где в программе надо прописать пути к базе для локальной работы...
У пользователей размещение всех файлов организованно так: C:Program FilesDevStudioVFP - это программа Fox.
C:Temp - для чего не знаю...
И ярлыки с прописаннуми путями... что выще...
База наход на сетевом диске по пути f:workasedatabase
Вот такие делы выручайте... Если есть идеи россмотрю у меня иссякли...

Дата отправки: 10.10.2007, 05:59
Вопрос задал: Аверин АС
Всего ответов: 2
Страница онлайн-консультации »


Консультирует PsySex (Профессионал):

Здравствуйте, Аверин АС!
1. В Windows есть такая утилита SUBST.EXE с помощью которой можно создать виртуальный диск. Т.е. определенной папке находящейся на вашем компе вы можете назначить букву диска. Т.е. диск F у вас сетевой, отключаете его, а потом с помощью утилиты создаете диск F, с указанием пути на папку где локально хранится ваша база. Для справки наберите SUBST.EXE /?
2. Не думаю, что пути жестко прописаны в программе. Попробуйте открыть папку с программой и посмотреть - нет ли никаких .dbf файлов рядом или .ini если есть посмотрите их содержимое, вполне возможно, что пути хранятся в них.
3. Может в самой программе есть возможность изменения пути? ;-)))

Консультировал: PsySex (Профессионал)
Дата отправки: 10.10.2007, 08:55
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Черников Игорь Владимирович:

Здравствуйте, Аверин АС!
Видимо на Вашей машине установлена только клиентская часть программы, поэтому прога не хочет работать как сервер (обычно серверначя часть запускается авторуном). В связи с этим Вам необходимо с дистрибутива (с диска установки программы) установить программу полностью, прописать как сервер и как клиент (если есть такая возможность или создать сервер на другой машине, если возможности нет). У меня была такая заморочка. В общем устанавливаешь сервер, куда он просится (засекаешь этот путь), потом устанавливаешь клиентскую часть (тоже по умолчанию). Потом создаёшь базу по инструкции (если есть) для создания новой базы с пропиской всех новых путей к ней(разворачиваешь новую, чистую, для убедительности можно немного поработать с ней, сделать какую-нить проводку, транзакцию, запись). А потом , если всё нормально, подсунуть проге скопированную базу (в тот путь, который создал. Работает без отказно, проверено!
Если инструкции нет, то ищи файл (с помощью, желарельно, Far) в котором прописаны настройки сервера или клиента и меняй путь к скопированной базе. Скорее всего там прописан путь к сетевому диску, поэтому если это так, то можно ничего в настройках не менять, а создать вместо существующего сетевого диска сетевой диск, который привязан к новой (скопированной) базе, только для этого её надо расшарить (открыть полный доступ к ней).
Этого должно хватить, если чё - пиши в личку, помогу! Удачи!

Консультировал: Черников Игорь Владимирович
Дата отправки: 10.10.2007, 17:02
Рейтинг ответа:

НЕ одобряю 0 одобряю!

Консультация # 143038:

Уважаемые эксперты, как программно (VBA Excell) определить включен ли автофильт в Excell?
Спасибо!

Дата отправки: 04.09.2008, 10:38
Вопрос задал: Денисов Сергей Иванович
Всего ответов: 2
Страница онлайн-консультации »


Консультирует PsySex (Профессионал):

Здравствуйте, Денисов Сергей Иванович!
Пример реализации в приложении.
Пример найден в хелпе %ProgramFiles%\Microsoft Office\OFFICE11\1049\VBAXL10.CHM

Приложение:

Консультировал: PsySex (Профессионал)
Дата отправки: 04.09.2008, 11:13
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Консультирует Шичко Игорь:

Здравствуйте, Денисов Сергей Иванович!
Для проверки включен или нет автофильтр применяется свойство страницы Excel: AutoFilterMode.
Пример использования:
If ThisWorkbook.ActiveSheet.AutoFilterMode Then // True - включен, False - выключен
.....
End If

Для проверки включена ли непосредственно фильтрация данных в автофильтре применяется свойство фильтра On:
Пример:
If ThisWorkbook.ActiveSheet.AutoFilterMode Then
filterIsOn = ThisWorkbook.ActiveSheet.AutoFilter.Filters(1).On // True - есть фильтрация, False - нет фильтрации
End If

Можете ещё почитать в справке Visual Basic по поиску, введя слово AutoFilter.

Консультировал: Шичко Игорь
Дата отправки: 04.09.2008, 11:14
Рейтинг ответа:

НЕ одобряю 0 одобряю!


Оценить выпуск | Задать вопрос экспертам

главная страница  |  стать участником  |  получить консультацию
техническая поддержка

Дорогой читатель!
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались. Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора - для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение. Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал, который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом. Заходите - у нас интересно!
МЫ РАБОТАЕМ ДЛЯ ВАС!


В избранное