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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 11.07.2009, 15:47   #11
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Позарез нужна функция, которая:
1) позволяет вводить в скобках аргументы в виде строк через точку с запятой без кавычек, при этом названия ячеек распознаются.
2) Должны быть вводибельными символы типа = [ ( и др. в любом месте без появления ошибок. Напр., СЦЕПИТЬ (>=A1; ...) вызывает ошибку без кавычек. Мне нужно без кавычек и без ошибок.
3) Возвращать она может что угодно, главное, не ошибку!

Т.е. общий вид такой Ф(x1; x2; ...xn), где x1... xn - любые строки из символов, за исключением, быть может, `~@#&|'{} - они могут не использоваться.

В файле пример. У функции несколько аргументов через ; , но в таком виде она, естественно не работает, а должно быть для ячейки =Ф(...).

Ну что, если бы вы были Биллом Гейтсом, смогли бы доказать, что Эксел может и это?
Вложения
Тип файла: rar test.rar (3.2 Кб, 8 просмотров)
motorway вне форума Ответить с цитированием
Старый 11.07.2009, 17:25   #12
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Я конечно не Билл Гейтс, но когда до меня дойдёт, что Вы хотите сделать, тогда возможно, что-то получится. А пока я ничего не понимаю, что Вы хотите вводить, куда, каким образом и, что Вы хотите получить из всего этого.
pivas вне форума Ответить с цитированием
Старый 11.07.2009, 18:40   #13
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Хочу вводить:
куда - в аргумент некоторой функции Ф() в какой-то ячейке Эксела.
что - несколько строк через точку с запятой, в которых могут быть имена ячеек. Они должны распознаваться как имена, а не просто текст. Ошибок не должно возникать из-за присутствия разных знаков. То есть любые строки через разделитель ";" и без кавычек.
каким образом - просто как обычную функцию с параметрами в ячейку.
Получить - возможность ввода такой комбинации строк через ; , чтобы можно было осуществлять автозаполнение, имена ячеек в аргументе Ф() сами изменялись при изм. их адреса.
Возвращаемое значение - любое. Так как я могу потом получать саму формулу для обработки на VBA.
Надеюсь, понятно?
motorway вне форума Ответить с цитированием
Старый 11.07.2009, 19:57   #14
mchip
Форумчанин
 
Регистрация: 24.06.2008
Сообщений: 516
По умолчанию

Забрось Excel и изучай Mathcad. Это по моему будет проще.
Можно сделать все! Было бы время, да деньги...
mchip вне форума Ответить с цитированием
Старый 11.07.2009, 20:04   #15
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Нет, нужен Эксел
motorway вне форума Ответить с цитированием
Старый 11.07.2009, 20:09   #16
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

А почему Вы не хотите создать пользовательскую функцию?
pivas вне форума Ответить с цитированием
Старый 11.07.2009, 20:24   #17
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Да если бы можно было придумать такую, было бы отлично! Только я пока в них не силен, может, поможете написать, чтобы было именно так? Я думаю, возможности могут позволить осуществить такую...
motorway вне форума Ответить с цитированием
Старый 11.07.2009, 20:28   #18
pivas
Форумчанин
 
Регистрация: 03.04.2009
Сообщений: 412
По умолчанию

Вот самый простой пример:
Код:
Function Ф(x As Integer, y As Integer) As Integer
  If x > y Then Ф = x - y Else Ф = x + y
End Function
Поместите этот код в общий модуль и в Мастере функций найдёте Определённые пользователем, а там Ф.
pivas вне форума Ответить с цитированием
Старый 11.07.2009, 20:31   #19
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Спасибо. Конечно, я могу попробовать написать, но думаю, что если кто-то из гуру мне поможет написать функцию согласно вышеприведенным требованиям, будет лучше.
motorway вне форума Ответить с цитированием
Старый 12.07.2009, 00:52   #20
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

кажется, я смог написать такую функцию
Цитата:
согласно вышеприведенным требованиям 3) Возвращать она может что угодно, главное, не ошибку!
Функция называется Super в качестве аргументов принимает любую билиберду, распознает названия ячеек, и возвращает что угодно, только не ошибку!
Вложения
Тип файла: rar книга119.rar (8.2 Кб, 11 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с функцией mail() Linel PHP 4 24.06.2009 14:16
Проблемы с функцией FileWrite Миша Общие вопросы Delphi 5 30.05.2009 19:49
функция сцепить и дата StasSv Microsoft Office Excel 2 13.08.2008 13:01
проблемы с функцией StretchDIBits unnamed Win Api 2 16.08.2007 12:42
Проблемы с функцией OCIBindByName(). OSKiller PHP 2 19.03.2007 16:48