Excel VBA質問箱 IV

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

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


8485 / 13646 ツリー ←次へ | 前へ→

【32969】人の目で見れば同じなのに、結果が違う。 k 05/12/28(水) 12:12 質問[未読]
【32971】Re:人の目で見れば同じなのに、結果が違う。 かみちゃん 05/12/28(水) 12:20 発言[未読]
【33013】Re:人の目で見れば同じなのに、結果が違う。 k 05/12/29(木) 8:38 お礼[未読]

【32969】人の目で見れば同じなのに、結果が違う。
質問  k E-MAIL  - 05/12/28(水) 12:12 -

引用なし
パスワード
   If IsNumeric(Cells(i, j)) Then
 ホニャララ

というコードがあります。

Cells(i, j)は人の目で見れば同じ空白なのに、ホニャララが実行される場合とされない場合があります。

ホニャララの部分が実行されない場合に、デバッグしてCells(i, j)の部分にカーソルを当てると、" "と表示されています。

ワークシート上でCells(i, j)を一度選択し、Deleteキーを押してからこのマクロを実行するとホニャララの部分が実行されます。デバッグしてCells(i, j)の部分にカーソルを当てると、Empty値と表示されています。

人の目で見ればどちらの場合もセルは同じ空白なのに、結果が違います。Cells(i, j)が空白の場合でもホニャララが常に実行されるにはどうしたらよいのでしょうか。

【32971】Re:人の目で見れば同じなのに、結果が違...
発言  かみちゃん E-MAIL  - 05/12/28(水) 12:20 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>Cells(i, j)は人の目で見れば同じ空白なのに、ホニャララが実行される場合とされない場合があります。

1.何も入力されていない場合
2.""(長さ0の文字列)が入力されている場合
3." "(スペース)が入力されている場合
どれも、人の目には、同じように見えますが、Excelの値としては、まったく違うものです。
そこで、以下のような感じにするといいと思います。

Sub test()
 If IsNumeric(Cells(1, 1)) Or Trim(Cells(1, 1).Value) = "" Then
  MsgBox "ホニャララ"
 Else
  MsgBox "ホニャララではない"
 End If
End Sub

【33013】Re:人の目で見れば同じなのに、結果が違...
お礼  k E-MAIL  - 05/12/29(木) 8:38 -

引用なし
パスワード
   かみちゃんさん、ありがとうございました。

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