2012-04-21 5 views
2

Я пишу VBA код, чтобы добавить два числа:Добавление двух чисел с функцией

Option Explicit 

Dim x As Integer, y As Integer 
Function addtwo(x, y) 
addtwo = x + y  
End Function 

Это не очень хорошая функция, так как я должен вручную ввести значения х и у, чтобы получить в результате. Как я могу изменить коды, чтобы он мог работать с любыми двумя числами, независимо от целых чисел или чисел с десятичными знаками?

+0

Предлагаемое решение будет работать для вас? –

ответ

2

Что касается работы с любыми двумя номерами, попробуйте использовать тип данных Variant вместо Integer. Не уверен, что вы подразумеваете под ручным вводом значений - вы говорите о том, чтобы получить их с листа?

+0

+ 1 Я не сторонник вариантов, но в этом случае варианты - это путь. :) –

3

Вы определяете свои входные переменные в строке объявления FUNCTION, а не над ней. Я бы рекомендовал vartype DOUBLE для целых чисел и десятичных знаков.

Function ADDTWO(ByVal x As Double,ByVal y As Double) As Double 
    ADDTWO = x + y 
End Function 

Теперь эта функция может быть использована в клетке, как:

= ADDTWO (3, 6)
или
= ADDTWO (А2, В7)

Это также может использоваться в VBA.

Конечно, функция SUM() делает то же самое, поэтому .... Я предполагаю, что это учебное упражнение.

+0

+ 1 :) Да, в идеале это хороший способ сделать это. однако у него есть свои недостатки :( –

+0

@ Сиддхарт - я всегда изучаю ... какие недостатки Двойное введение? –

+0

Мне нужно будет опубликовать ответ для этого, поскольку этого поля комментариев это будет недостаточно. что с тобой и Робом? » –

Смежные вопросы