Excel VBA質問箱 IV

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

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


7680 / 76734 ←次へ | 前へ→

【74640】Re:同じ値認識しない
発言  kanabun  - 13/8/19(月) 17:51 -

引用なし
パスワード
   ▼。・゚・(ノД`)・゚・。 さん:

インデントをつけて見やすいコードを書きましょう。
> Dim i
でなく、型宣言を付けましょう
Dim i As Long

すると流れが見えてきます。

Sub 正方形長方形9_Click()

Dim i As Long

For i = 17 To 66
  If Range("L2").Value = Range("B" & i).Value Then
    Range("E" & i).Value = Range("E" & i).Value - Range("D" & i).Value * Range("M2").Value
    Range("C9").Value = Range("C9").Value + Range("D" & i).Value * Range("M2").Value
    Range("C" & i).Value = Range("c" & i).Value - Range("M2").Value
    Range("G13").FormulaR1C1 = "=SUM(R[-6]C:R[-1]C)"
     
    Range("k2:m2").ClearContents
    Range("N2").Formula = "=rounddown(P2,0)"
  
  ElseIf Range("L6").Value = Range("b67").Value Then
    Range("G12").Value = Range("g12").Value - Range("o2").Value
    Range("C69").Value = Range("c69").Value - Range("m2").Value
    
    Range("k2:m2").ClearContents
    Range("N2").Formula = "=rounddown(P2,0)"
  Else
    MsgBox "商品はありません"
    Exit For
  End If
Next

一番最初 i は 17 でループを始めます。

i = 17 のとき、
>  If Range("L2").Value = Range("B" & i).Value Then

  If Range("L2").Value = Range("B17").Value Then
の比較をします。[L2]に等しい値は [B30]にしかないのですから、
[L2]の値と [B17]の値は等しくなく、

> ElseIf Range("L6").Value = Range("b67").Value Then

にジャンプしますが、ここも等しくないので、

> Else

に飛びます。
そこで

>    MsgBox "商品はありません"

とメッセージを出し、

>    Exit For

してしまっている(Loopを抜けている)
ので、

> L2とB30に全く同じ数値が入っているのですが、
> 最後のELSEに飛んで”商品はありません”と出てしまいます。

は、コードに書いてある通りのことが起きているわけです。
7 hits

【74639】同じ値認識しない 。・゚・(ノД`)・゚・。 13/8/19(月) 17:30 質問
【74640】Re:同じ値認識しない kanabun 13/8/19(月) 17:51 発言
【74641】Re:同じ値認識しない 。・゚・(ノД`)・゚・。 13/8/20(火) 9:50 質問
【74642】Re:同じ値認識しない kanabun 13/8/20(火) 11:22 発言
【74643】Re:同じ値認識しない kanabun 13/8/20(火) 11:49 発言
【74644】Re:同じ値認識しない (*´∀`) 13/8/20(火) 15:51 質問
【74645】Re:同じ値認識しない こたつねこ 13/8/20(火) 22:52 回答
【74648】Re:同じ値認識しない (*´∀`) 13/8/21(水) 15:14 質問

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