
No.1ベストアンサー
- 回答日時:
「Range("A1") = 12345」でA1セルに数字として「12345」が入ります。
「TMP = Split("12345,あいう,abcd", ",")」でTMPに文字列として「12345」が入ります。
つまり、同じものではなくなります。
「If TMP(0) = Range("A1") Then MsgBox "同じ" Else MsgBox "違う"」を、試しに「If TMP(0) = CStr(Range("A1")) Then MsgBox "同じ" Else MsgBox "違う"」とすれば「同じ」と表示されます。
この回答へのお礼
お礼日時:2016/11/08 23:12
ありがとうございます。
実際は比較するものが数字だったり文字列だったりと混在していて、悩んでいました。
CStr関数で解決できました。
No.2
- 回答日時:
こんにちは。
回答は出ていますが、
>TMP = Split("12345,あいう,abcd", ",")
今回は、文字列の中の数字ですから、それはそれでよいとしますが、そうばかりではないので、この種の問題って、悩ませますね。
Split 関数全体が、文字列の切り分けだったはずです。
主に、VBAでは、1次元配列が多いのに、配列の一括変換の時に、Array関数以外は、数値の扱いさせるものはありません。Array関数は、入力が面倒だというのが難点です。
それで、別の質問にありましたが、数値比較の時に、Val関数を使うという方法がありますが、今回は、それも感心しません。
他の方法として、以下のようなものがあります。セルのプロパティからText 値を取る方法です。こういう所で、Rangeオブジェクトのプロパティの違いが出て来るわけです。他にも、Rangeオブジェクトには、いくつかのプロパティが使われます。一度は、こういう部分を研究してみると、後々、重宝します。ただし、やってみないと覚えませんね。
ですから、Rangeオブジェクトというものは、プロパティを省略しないで書くということも、大事なことなのです。
'//
Sub Test1()
Dim tmp As Variant
Dim a, b
Const strTxt As String = "12345,あいう,abcd"
tmp = Split(strTxt, ",")
a = Range("A1").Text
b = tmp(0)
If a = b Then
MsgBox "Same", 64
Else
MsgBox "Wrong", 16
End If
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBAのWindowオブジェクトとWork...
-
Accessの連結・非連結オブジェ...
-
パワーポイントのVBAでテキスト...
-
ADO オブジェクトの渡し方
-
CFileDialogでフォルダだけを選...
-
戻り値がクラスオブジェクト
-
java.util.Listのヒープサイズ...
-
newは明示的にした方が良いのか?
-
オブジェクト指向とモジュール設計
-
多人数のじゃんけんプログラム
-
ビジュアルC++でボタンの有...
-
XAMLの動的生成について
-
Object型からDouble型へのキャスト
-
EXCEL VBAにて動的にCheckBOXを...
-
javaでは基本型の参照渡しは無...
-
withを入れ子にして使う方法
-
bmp画像をjpegやpng画像に圧縮...
-
ResultSet での問題
-
時間帯判定をする。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
VBA 同じ名前のオブジェクトを...
-
EXCEL VBAにて動的にCheckBOXを...
-
パワーポイントのVBAでテキスト...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
Object型からDouble型へのキャスト
-
時間帯判定をする。
-
C++で*thisは何を指しているの...
-
ワイルドカード<?>と型パラメー...
-
Accessの連結・非連結オブジェ...
-
COMコンポーネントって何?
-
newは明示的にした方が良いのか?
-
ビジュアルC++でボタンの有...
-
CoCreateInstanceでエラーになる。
-
ResultSet での問題
-
多人数のじゃんけんプログラム
-
printerオブジェクトでのテキス...
-
サーブレットのクラス図について。
-
VBSでのステートメントの末尾が...
おすすめ情報