Приветствую всех.
Нужно определить тип данных в ячейке.
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Date) Then ' (1) если тип Date
Range(Cells(stroka_aktiv, N).Address).Value = Empty
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = String) Then ' (2) если тип String
Range(Cells(stroka_aktiv, N).Address).Value = ""
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Empty) Then ' (3) если тип Empty
Range(Cells(stroka_aktiv, N).Address).Value = Empty
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Double) Then ' (4) если тип Double
Range(Cells(stroka_aktiv, N).Address).Value = 0
End If
Сравнения (1) (2) (4) не получаются.
Если сравнение (4) переделать:
Range("B22".Value = TypeName(Range("A22".Value) ' (*)
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Range("B22".Value) Then ' если тип Double
Range(Cells(stroka_aktiv, N).Address).Value = 0
End If
(*) - это в отдельную ячейку "A22" записать , например, 152, то в ячейке "B22" сохранится Double и сравнение (4) начинает работать. Но мне так не нравится.
Что нужно писать вместо Date , String, Double , чтобы сравнения работали?
Нужно определить тип данных в ячейке.
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Date) Then ' (1) если тип Date
Range(Cells(stroka_aktiv, N).Address).Value = Empty
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = String) Then ' (2) если тип String
Range(Cells(stroka_aktiv, N).Address).Value = ""
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Empty) Then ' (3) если тип Empty
Range(Cells(stroka_aktiv, N).Address).Value = Empty
End If
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Double) Then ' (4) если тип Double
Range(Cells(stroka_aktiv, N).Address).Value = 0
End If
Сравнения (1) (2) (4) не получаются.
Если сравнение (4) переделать:
Range("B22".Value = TypeName(Range("A22".Value) ' (*)
If (TypeName(Range(Cells(stroka_aktiv, N).Address).Value) = Range("B22".Value) Then ' если тип Double
Range(Cells(stroka_aktiv, N).Address).Value = 0
End If
(*) - это в отдельную ячейку "A22" записать , например, 152, то в ячейке "B22" сохранится Double и сравнение (4) начинает работать. Но мне так не нравится.
Что нужно писать вместо Date , String, Double , чтобы сравнения работали?
Изменено: - 13.03.2013 19:35:25