Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выходит сообщение Invalid procedure call or argument - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выходит сообщение Invalid procedure call or argument (Макросы/Sub)
Выходит сообщение Invalid procedure call or argument
ilnaramah Дата: Воскресенье, 26.10.2014, 20:16 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Здравствуйте! Подскажите пожалуйста, аргумент логарифма не равен нулю и не отрицателен, почему выходит сообщение Invalid procedure call or argument
[vba]
Код

Option Explicit

Public i, j, N As Integer

Sub Run()
Dim sn()
Dim hn()
N = Cells(Rows.Count, 1).End(xlUp).Row - 1
ReDim sn(0 To N)
ReDim hn(0 To (N - 1))

For i = 0 To N Step 1
sn(i) = Worksheets("Volatility").Cells(i + 2, 1).Value
Next i

For j = 0 To (N - 1) Step 1

hn(j) = Log(sn(j + 1) / sn(j))
Worksheets("Volatility").Cells(j + 3, 2) = hn(j)
Next j

End Sub
[/vba]
К сообщению приложен файл: 9112938.xlsx (19.0 Kb)


Сообщение отредактировал ilnaramah - Воскресенье, 26.10.2014, 20:38
 
Ответить
СообщениеЗдравствуйте! Подскажите пожалуйста, аргумент логарифма не равен нулю и не отрицателен, почему выходит сообщение Invalid procedure call or argument
[vba]
Код

Option Explicit

Public i, j, N As Integer

Sub Run()
Dim sn()
Dim hn()
N = Cells(Rows.Count, 1).End(xlUp).Row - 1
ReDim sn(0 To N)
ReDim hn(0 To (N - 1))

For i = 0 To N Step 1
sn(i) = Worksheets("Volatility").Cells(i + 2, 1).Value
Next i

For j = 0 To (N - 1) Step 1

hn(j) = Log(sn(j + 1) / sn(j))
Worksheets("Volatility").Cells(j + 3, 2) = hn(j)
Next j

End Sub
[/vba]

Автор - ilnaramah
Дата добавления - 26.10.2014 в 20:16
Pelena Дата: Воскресенье, 26.10.2014, 20:36 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19184
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
ilnaramah, в формате xlsx макросов нет, сохраняйте в формате xlsm


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
Сообщениеilnaramah, в формате xlsx макросов нет, сохраняйте в формате xlsm

Автор - Pelena
Дата добавления - 26.10.2014 в 20:36
Serge_007 Дата: Воскресенье, 26.10.2014, 20:38 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
сохраняйте в формате xlsm
ЛЕНА!
ПП 3!


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
сохраняйте в формате xlsm
ЛЕНА!
ПП 3!

Автор - Serge_007
Дата добавления - 26.10.2014 в 20:38
ilnaramah Дата: Воскресенье, 26.10.2014, 20:39 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
Извините
К сообщению приложен файл: volatility.xlsm (28.7 Kb)
 
Ответить
СообщениеИзвините

Автор - ilnaramah
Дата добавления - 26.10.2014 в 20:39
AndreTM Дата: Воскресенье, 26.10.2014, 20:55 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 500 ±
Замечаний: 0% ±

2003 & 2010
почему выходит сообщение Invalid procedure call or argument
В последнем цикле, при j=N-1, вы читаете sn(j+1) (=sn(N)), которое у вас таки пустое...
По идее, у вас цикл должен быть не j=0..N-1, а j=1..N-1, и считать вы должны
= Log(sn(j) / sn(j-1))


Skype: andre.tm.007
Donate: Qiwi: 9517375010
 
Ответить
Сообщение
почему выходит сообщение Invalid procedure call or argument
В последнем цикле, при j=N-1, вы читаете sn(j+1) (=sn(N)), которое у вас таки пустое...
По идее, у вас цикл должен быть не j=0..N-1, а j=1..N-1, и считать вы должны
= Log(sn(j) / sn(j-1))

Автор - AndreTM
Дата добавления - 26.10.2014 в 20:55
RAN Дата: Воскресенье, 26.10.2014, 21:52 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
ilnaramah, в формате xlsx макросов нет, сохраняйте в формате xlsm

Макросы удалять не обязательно. B)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
ilnaramah, в формате xlsx макросов нет, сохраняйте в формате xlsm

Макросы удалять не обязательно. B)

Автор - RAN
Дата добавления - 26.10.2014 в 21:52
ilnaramah Дата: Воскресенье, 26.10.2014, 22:47 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 14
Репутация: 0 ±
Замечаний: 20% ±

Excel 2013
спасибо
 
Ответить
Сообщениеспасибо

Автор - ilnaramah
Дата добавления - 26.10.2014 в 22:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Выходит сообщение Invalid procedure call or argument (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!