макрос воспринимает текст как 0

Автор Underrating, 17 мая 2017, 14:36

0 Пользователи и 1 гость просматривают эту тему.

Underrating

Добрый день! Столкнулся с проблемой макрос воспринимает текст как 0.
Пример: в 2 строках есть, итоговый бал и текущий. Текущий принимает значения 0,1,A а итоговый от 0 и далее. Итоговый увеличивается после того как текущий бал равен A, тут и ошибка
то что A видит как ноль и присваивает ему ноль

Sub main
Dim Doc As Object
Dim Sheet As Object
Doc = ThisComponent
Sheet = Doc.Sheets(0)

if Sheet.getcellbyposition(2,1).value=0 then
Sheet.getcellbyposition(2,1).value=1
else
if Sheet.getcellbyposition(2,1).value=1 then
Sheet.getcellbyposition(2,1).string="A"
else
if Sheet.getcellbyposition(2,2).value=0 or Sheet.getcellbyposition(2,2).value=1 and Sheet.getcellbyposition(2,1).string="A" then
Sheet.getcellbyposition(2,1).value=0
Sheet.getcellbyposition(2,2).value=0
Sheet.getcellbyposition(1,1).value=Sheet.getcellbyposition(1,1).value+1

endif
endif
endif
End Sub

Понимаю что дело в Sheet.getcellbyposition(2,1).value он распознает только число можно его заменить

economist

Sheet.getcellbyposition(2,1).STRING

А вообще проще быть, не применять макросы там, где прекрасно работают формулы с функциями.
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

economist

Такие примеры хорошо ложатся на VBA:


Option VBASupport 1
Option Compatible

Sub test()
' код от балды!
If [A2]=0 then [A2]=[A2]+1
If [A2]=1 then [A2]="A"
If [A2]="A" then [A2]=0
End sub



Если мы все почаще будем использовать в OpenOffice|LibreOffice именно VBA - разработчики плюнут и запилят
настоящую 100% объектную модель из Excel. Вот тогда Microsoft потеряет 10% всех своих доходов, и часть их перейдет разработчикам OpenOffice|LibreOffice...
     
Руб. за сто, что Питоньяк
Любит водку и коньяк!
Потому что мне, без оных, -
Не понять его никак...

Underrating

Цитата: economist от 17 мая 2017, 14:53
Sheet.getcellbyposition(2,1).STRING

А вообще проще быть, не применять макросы там, где прекрасно работают формулы с функциями.
зато упрощает работу, спасибо