Excel VBA質問箱 IV

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

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


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

【55898】論理式と不等号について MIKI 08/5/22(木) 19:37 質問[未読]
【55901】Re:論理式と不等号について kanabun 08/5/22(木) 20:45 発言[未読]
【55906】Re:論理式と不等号について りん 08/5/23(金) 4:05 発言[未読]
【55930】Re:論理式と不等号について MIKI 08/5/23(金) 22:21 お礼[未読]
【55909】Re:論理式と不等号について kanabun 08/5/23(金) 10:05 発言[未読]
【55931】Re:論理式と不等号について MIKI 08/5/23(金) 22:22 お礼[未読]
【55932】Re:論理式と不等号について kanabun 08/5/23(金) 22:57 発言[未読]
【55934】Re:論理式と不等号について MIKI 08/5/24(土) 9:57 お礼[未読]

【55898】論理式と不等号について
質問  MIKI  - 08/5/22(木) 19:37 -

引用なし
パスワード
   条件式を書こうとしていますが、論理式と不等号でつないでるのですがうまく実行できません。エラーが出るわけではないのですが、うまく計算してくれません。
Cells(1, 2)が1以外
もしくわ
Cells(1, 3)が土以外
もいくわ
Cells(2, 3)が日以外
の場合、処理を実行するようにしているんですが、うなく実行しません。
これはORと<>を併用してるからなのでしょうか?以下にコードを記載します。
もし原因をご存知の方がいればよろしくお願いします。

If Cells(1, 2) <> 1 Or Cells(1, 3) <> "土" Or Cells(2, 3) <> "日" Then

【55901】Re:論理式と不等号について
発言  kanabun  - 08/5/22(木) 20:45 -

引用なし
パスワード
   ▼MIKI さん:
>条件式を書こうとしていますが、論理式と不等号でつないでるのですがうまく実行できません。


よくわからないが、

Select Case True
 Case Cells(1,2).Value = 1
 Case Cells(1,3).Value = "土"
 Case Cells(2,3).Value = "日"
 Case Else
  '処理
End Select

という書き方もありそうな。  

【55906】Re:論理式と不等号について
発言  りん E-MAIL  - 08/5/23(金) 4:05 -

引用なし
パスワード
   おはようございます。

>条件式を書こうとしていますが、論理式と不等号でつないでるのですがうまく実行できません。エラーが出るわけではないのですが、うまく計算してくれません。
>Cells(1, 2)が1以外
>もしくわ
>Cells(1, 3)が土以外
>もいくわ
>Cells(2, 3)が日以外
>の場合、処理を実行するようにしているんですが、うなく実行しません。

逆に考えて、
「Cells(1, 2)が1、Cells(1, 3)が土、Cells(2, 3)が日」の条件を満たさない
で分岐してみては?

  If Not (Cells(1, 2).Value = 1 And Cells(1, 3).Value = "土" And Cells(2, 3).Value = "日") Then

【55909】Re:論理式と不等号について
発言  kanabun  - 08/5/23(金) 10:05 -

引用なし
パスワード
   ▼MIKI さん:

>Cells(1, 2)が1以外
>もしくわ
>Cells(1, 3)が土以外
>もいくわ
>Cells(2, 3)が日以外
>の場合、処理を実行するようにしているんですが、うなく実行しません。

質問ですが、

たとえば、実際に

◆Cells(1, 2)が1で、
◆Cells(1, 3)が 「月」で、
◆Cells(2, 3)が「太陽」だったとしたばあい、

処理は 実行するのですか?
処理は 実行しないのですか?

【55930】Re:論理式と不等号について
お礼  MIKI  - 08/5/23(金) 22:21 -

引用なし
パスワード
   ご回答ありがとうございます。
その発想はなかったです。 ちょっと試してみますね。
また、成功したら投稿させてもらいます。

【55931】Re:論理式と不等号について
お礼  MIKI  - 08/5/23(金) 22:22 -

引用なし
パスワード
   ご回答ありがとうございます。
条件を変えましたが、できませんでした。
もうちょっと見直してみようと思います。

【55932】Re:論理式と不等号について
発言  kanabun  - 08/5/23(金) 22:57 -

引用なし
パスワード
   ▼MIKI さん:
>ご回答ありがとうございます。
>条件を変えましたが、できませんでした。
>もうちょっと見直してみようと思います。

こんばんは。

----------------------------
 Dim a, b, c
 a = 1
 b = "月"
 c = "太陽"
 
とあるとき、
以下の条件判断式 2タイプ(各2つの記述法で書いてあります)の
どちらの結果になれば 正解なのでしょうか?

'◆タイプA 
---> a = 1 だけれど、 b <> "土" また c <> "日" だから MsgBox が表示される 

 If a <> 1 Or b <> "土" Or c <> "日" Then
   MsgBox "処理"
 End If
 
 If Not (a = 1 And b = "土" And c = "日") Then
   MsgBox "処理"
 End If
 
 
'◆タイプB ---> a = 1 なので、b、c が 「土」「日」でなくても(偽でも)
MsgBox は表示されない

 Select Case True
  Case a = 1
  Case b = "土"
  Case c = "日"
  Case Else
    MsgBox "'処理"
 End Select
 
 If a = 1 Then
 ElseIf b = "土" Then
 ElseIf c = "日" Then
 Else
   MsgBox "処理"
 End If

【55934】Re:論理式と不等号について
お礼  MIKI  - 08/5/24(土) 9:57 -

引用なし
パスワード
   ご回答ありがとうございます。kanbunさんが何度も質問してくれたおかげで、もしやと思い。論理式を図に置き換えて考え直しました。

条件:a以外 または b以外 または c以外 ならば
この条件自体が頭で描いていた物と検討違いでした。質問の段階でずれていました。本来は
条件:a以外 かつ b以外 かつ c以外 でした。
普段 = の場合はよく使ってたのですが、 <>の場合は使う事が無かったので、頭の中で反転してました。 本当に、支離滅裂な質問をしてしまいまして申し訳ございませんでした。 NOTの書き方などはすごく参考になりました。 ありがとうございました。

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