Страницы: 1
RSS
В чем массив неправильный? (expected array)
 
Начал изучать vba, выходит такая ошибка
Код
Sub z3()
Dim a, b, h, x, f As Single
a = 1
b = 100
h = 4
With Worksheets(1)
.cell(1, 1).Value = "x"
.cell(1, 2).Value = "f(x)"
For x = a To b Step h
i = i + 1
f = x - Cos(Abs(x ^ 1 / 2))
.cell(i + 1, 1).Value = x
.cell(i + 1, 2).Value = f(x)
Next x
End With
End Sub
Изменено: Dobemanik - 30.01.2018 14:40:17
 
Цитата
Dobemanik написал:
.cell(i + 1, 2).Value = f(x)
первое что кинулось в глаза, что за f(x)
П.С. оформляйте код тегом.
Изменено: V - 30.01.2018 14:06:58
 
вы в курсе что при такой записи Dim a, b, h, x, f As Single  - a, b, h, x будут иметь тип вариант?
Изменено: V - 30.01.2018 14:09:01
 
Код
Sub z3()
Dim a, b, h, x, f As Single
a = 1: b = 100: h = 4
With Worksheets(1)
    .cell(1, 1).Value = "x"
    .cell(1, 2).Value = "f(x)"
    i = 1
    For x = a To b Step h
        f = x - Cos(Abs(x ^ 1 / 2))
        i = i + 1
        .cell(i, 1).Value = x
        .cell(i, 2).Value = f
    Next x
End With
End Sub
Согласие есть продукт при полном непротивлении сторон
 
а так:
Код
.cell(i + 1, 2).Value = f
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
V написал:
вы в курсе что при такой записи Dim a, b, h, x, f As Single  - a, b, h, x будут иметь тип вариант?
Делал по учебнику, через тип variant возникает ошибка 438, прописывал каждую переменную отдельно-снова ошибка с массивом
 
Dobemanik, это был не ответ а просто для информации. Ответ был пост ранее.
 
Цитата
Dobemanik написал:
снова ошибка с массивом
нет у вас массива. Вы сразу на лист выгружаете.
 
Код
.cell(1, 1).Value

Можно узнать , что такое cell в данном выражении, это вроде как не переменная.
м.б. стоит написать
Код
.cells(1, 1).Value
"Все гениальное просто, а все простое гениально!!!"
 
Цитата
Dobemanik написал:
Делал по учебнику
В учебнике написано "первым делом зайдите в Tools - Options и включите Require Variables Declaration"?
Если нет - выбросьте этот учебник. И таки включите указанную опцию. Ошибок будет в несколько раз меньше.
 
Цитата
Nordheim написал:
м.б. стоит написать
Код ? 1.cells(1, 1).Value
Благодарю, помогло
 
Я и не сомневался, что поможет. Но вот про объявление переменных стоит почитать. Но за основу я брал не ваш код а из сообщения №4
Изменено: Nordheim - 30.01.2018 14:29:31
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1
Читают тему
Наверх