|
>手動でセルの書式を『文字列』とした場合は、
>うまくいったのですが、VBAでやるとダメですね
これも検証が甘かったです・・・
Jakaさんが書かれているのが正しいと思います。
(自分もExcel2000)
書式が文字列のセルに入力された 1 は文字列になりますね。
新規WorkSheetでSample → Test と実行してみてください。
この2つのデータの違いを判別する方法は、
自分にはわかりません。
接頭辞が付いてるのかと思ったのですが、
.PrefixCharacterで見ても判別できません。
VBWASURETAさんのコードを参考にしてください。
Sub Sample()
With ActiveSheet
.Range("A1:B1").NumberFormatLocal = "@"
.Range("A1").Value = 1
.Range("B1").Value = "1"
End With
End Sub
Sub Test()
Dim v1 As Variant
Dim v2 As Variant
With ActiveSheet
v1 = .Range("A1").Value
v2 = .Range("B1").Value
End With
MsgBox "A1:" & TypeName(v1)
MsgBox "B2:" & TypeName(v2)
End Sub
|
|