Страницы: 1
RSS
VBA приведение типов
 
Значения из 2-х ячеек присваиваю переменным Integer. При сравнении 27 оказалось > 30? Оказалось что сравниваются перемнные типа String. Может в этом причина ошибки? И как тогда принудительно тип переменной исправить?
 
А в ячейках формат какой?
 
Вот проверил:  
Sub Макрос1()  
Dim k As Integer  
Dim m As Integer  
k = Sheets("Лист1").Range("A1").Value  
m = Sheets("Лист1").Range("A2").Value  
If k > m Then  
Sheets("Лист1").Range("A3").Value = "А1 больше А2"  
Else  
Sheets("Лист1").Range("A3").Value = "А1 меньше А2"  
End If  
End Sub  
Все корректно срабатывает. В ячейках формат Общий
 
Sub Macro1()  
Dim i%, n%  
   i = CInt(27)  
   n = CInt(30)  
   MsgBox i > n  
End Sub
Страницы: 1
Читают тему
Наверх