[VBA] Не понимаю со сложением

Hubba_Bubba
На сайте с 26.11.2005
Offline
75
540

Здравствуйте.

Извиняюсь, что немного не в тему раздела.

Попросили сделать контрольную по Excel. Дошел до программирования макросов, но в одном есть косяк.

Вот кусочек кода:


Sub объем_продукции()
Dim Np, Nt, Nra, Nrb, Noa, Nob, Nrs, Nos As Integer
Nt = InputBox("знач перем:")
Nra = InputBox("знач перем:")
Nrb = InputBox("знач перем :")
Noa = InputBox("знач перем:")
Nob = InputBox("знач перем:")

Nrs = Nra + Nrb
Nos = Noa - Nob
Np = Nt + Nrs + Nos
ActiveSheet.Cells(7, 1).Value = Np
MsgBox ("результат:" & Np)
End Sub

Проблема: вместо арифметического сложения код соединяет строки (хотя кусочек "Nos = Noa - Nob" высчитывает верно.)

Может кто-то сможет подсказать в чем проблема? Буду очень признателен.

Сайт экономистов БелГУТа (http://economistov.net)
Зяки-Зяки
На сайте с 08.06.2009
Offline
58
#1

не гарантирую, что будет работать, но в яваскрипте помогает умножение переменной на 1 (оно там вроде как переводит из строкового типа в числовой тип)

т.е.

Np = (Nt)*1 + (Nrs)*1 + (Nos)*1

в крайнем случае, Np=|(-Nt) - (-Nrs) - (-Nos)|

=)

"Вы недооцениваете наших программистов. Вы живете в России. Это вам не Бангладэж. У нас могут делать всё."
Hubba_Bubba
На сайте с 26.11.2005
Offline
75
#2

Спасибо!

Такой способ заработал.

Тему можно закрыть

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий