2

Интересно, как я могу использовать лист Excel в качестве функции.

Допустим, у меня есть сложное вычисление в Sheet1 с одним параметром, который я хотел бы перебрать в диапазоне от [1 до 400] на втором листе, чтобы создать таблицу x, f(x) в Sheet2.

Я буду использовать Excel или Open Office.

Как бы я поступил так?

Благодарю.


Обновление прогресса

Попытка сделать тест в листе (общее):

Public Function test() as Boolean
    test = True
End Function

Тогда в клетку:

=test()

В результате #Name?

Также попробовал прочесать онлайн-уроки.


Частично решено:

  • Видимость функции достигается путем помещения кода в модуль.
  • Вставить -> модуль в VBA.

Прогресс:

Установка значения av с помощью

 Worksheets("Sheet1").Range("A1").Value = 10

 or

 Worksheets("Sheet1").Cells(1,1).Value = 10

молчит и не выполняет строку под.


Прогресс:

Методы работают хорошо, если я перебираю код в подпрограмме без параметров и назначаю ее кнопке.

Временное решение

Реализация была действительно простой при реализации с использованием макроса VBA, запускаемого с кнопки, а не с помощью функции.

Я перебрал ряд строк, чтобы получить входные данные для расчетов.

3 ответа3

3

Лучший способ - создать алгоритм в Excel VBA. Вы можете открыть VBA и набрать это

Public Function Test1(x as Integer, y as Integer)  
    Test1 = x*y  
End Function   

Вы можете вызвать эту функцию как любую другую функцию из строки формул
В формуле для A1

  • =Test1(2,4) с результатом 8.

Измените алгоритм в VBA, чтобы получить результаты, которые вы ищете.

1

Я искал ответ на похожий вопрос и нашел что-то вроде этого:

public function GetWhatever(byval p1 as variant, byval p2 as variant) as variant
  'Make sure you're in AutoCalculation mode, otherwise use me.calculate
  me.range("A1").value = p1
  me.range("A2").value = p2
  GetWhatever = me.range("A3").value
end function

ТАК вопрос: https://stackoverflow.com/a/3570907

0

Одна вещь, которую я предпочитаю, это создать DATA TABLE, изменив параметр, а затем LOOKUP для требуемого значения в созданной таблице данных.

Более правильным способом будет написать код в Excel VBA, и он может быть вызван очень легко, без особых усилий. Однако, если у вас уже есть лист Excel в руке, вы можете легко перейти к предыдущему, создав таблицу данных.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .