Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


14400 / 76734 ←次へ | 前へ→

【67830】Re:if 文に使用しているLikeについて
回答  neptune  - 11/1/12(水) 10:30 -

引用なし
パスワード
   ▼aoba さん:
既にUO3さんが解説してくださっていますので、私はHelpに基づいて
ちょっとだけ。

先ず、機能としては、以下
2 つの文字列の比較を行います。

書式は
/////////////以下Helpより/////////////
構文

result = string Like pattern

指定項目 内容
result 必ず指定します。任意の数値変数を指定します。
string 必ず指定します。任意の文字列式を指定します。
pattern 必ず指定します。「解説」に示すパターン マッチング規則に従った任意の文字列式を指定します。
/////////////////////////////////////
です。

従って
>  If mj1 Like mj4 Then
は既に、構文を無視している事は明らかですね。

では何故エラーにならないか?
それはVBが変に親切で勝手に型変換をしているからです。
慣れてくると小さな親切大きなお世話ってな感じになります。

なので、VBの暗黙の型変換を使用しない利用方法を取ることを心掛けると
>もし、同じであれば 使い分けはどのようにしているのでしょうか
という心配は不要になります。

なので本来は
If mj1 = mj4 Then
又は
If cstr(mj1) Like cstr(mj4) Then  'こっちは本来すべきじゃないですが例として。
とすべきなんです。

なので、私はhelpの書式通りに書く事を心掛けています。

「暗黙の型変換」で検索すると判りやすい解説を井上さんが公開してくれていました。
ht tp://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_050_08.html

まぁ取り敢えずわからなくてもHelpを精読する事は必須と思って下さい。
Helpの判らない所は今回のようにこういう場所で質問できますから。

少なくともその手の質問は、如何にも初心者をひけらかしてソース書いて
欲しい風の内容の質問(とは言えませんし、私はres付けませんけど)よりは
多くの親切なアドバイスが頂ける事は間違いないです。

4 hits

【67807】if 文に使用しているLikeについて aoba 11/1/11(火) 12:55 質問
【67808】Re:if 文に使用しているLikeについて kanabun 11/1/11(火) 13:09 発言
【67810】Re:if 文に使用しているLikeについて aoba 11/1/11(火) 14:13 お礼
【67817】Re:if 文に使用しているLikeについて neptune 11/1/11(火) 17:27 発言
【67826】Re:if 文に使用しているLikeについて aoba 11/1/12(水) 8:59 質問
【67827】Re:if 文に使用しているLikeについて UO3 11/1/12(水) 9:31 発言
【67829】Re:if 文に使用しているLikeについて aoba 11/1/12(水) 10:05 お礼
【67830】Re:if 文に使用しているLikeについて neptune 11/1/12(水) 10:30 回答
【67831】Re:if 文に使用しているLikeについて kanabun 11/1/12(水) 11:46 発言
【67832】Re:if 文に使用しているLikeについて kanabun 11/1/12(水) 11:49 発言
【67833】Re:if 文に使用しているLikeについて kanabun 11/1/12(水) 12:08 発言

14400 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free