Столкнулся с непонятной ошибкой после перехода с 2000 на 2003 Эксель.
Есть файл с кодом, код древний, но прекрасно работал.
Вот такая строка, заносит формулу в ячейку:
Selection.Offset(0, 12).Formula = "=H" & oneeur & "*" & cureur & "+H" & onelvl & "+H" & oneusd & "*" & curusd
перестала работать, выпадает в ошибку, в errorhandler:
---------------------------
Microsoft Visual Basic
---------------------------
Run-time error '1004':
Application-defined or object-defined error
---------------------------
OK Help
---------------------------
Причём чуть выше строка
Selection.Offset(0, 7).Formula = "=SUM(H" & one & ":H" & two & ")"
продолжает работать.
Формат ячеек роли не играет, т.е. при текстовом заносит строку, при других вылетает.
Если
Пока залатался так, но это уже не то, не видно, что из чего получили:
ttt = Range("H" & oneeur).Value * cureur + Range("H" & onelvl).Value + Range("H" & oneusd).Value * curusd
Selection.Offset(0, 12).Value = ttt
Потестите, кому не лень - закомментированная строка отработает под 2003?
Sub tt()
oneeur = 1
onelvl = 2
oneusd = 3
cureur = 0.222
curusd = 0.333
ttt = Range("H" & oneeur).Value * cureur + Range("H" & onelvl).Value + Range("H" & oneusd).Value * curusd
Selection.Offset(0, 12).Value = ttt
'Selection.Offset(0, 12).Formula = "=H" & oneeur & "*" & cureur & "+H" & onelvl & "+H" & oneusd & "*" & curusd
End Sub
Есть файл с кодом, код древний, но прекрасно работал.
Вот такая строка, заносит формулу в ячейку:
Selection.Offset(0, 12).Formula = "=H" & oneeur & "*" & cureur & "+H" & onelvl & "+H" & oneusd & "*" & curusd
перестала работать, выпадает в ошибку, в errorhandler:
---------------------------
Microsoft Visual Basic
---------------------------
Run-time error '1004':
Application-defined or object-defined error
---------------------------
OK Help
---------------------------
Причём чуть выше строка
Selection.Offset(0, 7).Formula = "=SUM(H" & one & ":H" & two & ")"
продолжает работать.
Формат ячеек роли не играет, т.е. при текстовом заносит строку, при других вылетает.
Если
Пока залатался так, но это уже не то, не видно, что из чего получили:
ttt = Range("H" & oneeur).Value * cureur + Range("H" & onelvl).Value + Range("H" & oneusd).Value * curusd
Selection.Offset(0, 12).Value = ttt
Потестите, кому не лень - закомментированная строка отработает под 2003?
Sub tt()
oneeur = 1
onelvl = 2
oneusd = 3
cureur = 0.222
curusd = 0.333
ttt = Range("H" & oneeur).Value * cureur + Range("H" & onelvl).Value + Range("H" & oneusd).Value * curusd
Selection.Offset(0, 12).Value = ttt
'Selection.Offset(0, 12).Formula = "=H" & oneeur & "*" & cureur & "+H" & onelvl & "+H" & oneusd & "*" & curusd
End Sub