[[20190607063830]] 『集計ができないです』(km) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『集計ができないです』(km)

Private Sub CommandButton1_Click()

    Const mxMaker As Long = 5000
    Const mxReason As Long = 100

    '===========================
    Dim i As Long
    Dim k As Variant

    Dim myRow As Long
    Dim erMsg As String
    Dim erTxt As Long
    Dim w As Variant
    Dim d As Variant

    'TextBox1のチェック
    k = Val(TextBox1.Value)
    Select Case k
        Case 1 To mxMaker
            myRow = k + 4
        Case Else
            erMsg = "商品No は1 から " & mxMaker & " の数値で入力してください"
            erTxt = 1
    End Select
    'TextBox2のチェック
    If Not IsNumeric(TextBox2.Value) Then
        erMsg = "数量は数字で入力してください"
        erTxt = 2
    End If
    i = Val(TextBox2.Value)
    'TextBox3のチェック
    If TextBox3.Value = "" Then

    Else
        w = Split(TextBox3.Value, ",")
        For Each d In w
            If Not IsNumeric(d) Then
                erMsg = "店名は数字で入力してください"
                erTxt = 3
            Else
                Select Case d
                    Case 1 To mxReason
                    Case Else
                        erMsg = "店名は1 から " & mxReason & " の数値で入力してください"
                        erTxt = 3
                End Select
            End If
            If erTxt = 3 Then Exit For
        Next
    End If

    If erTxt > 0 Then
        MsgBox erMsg
        With Me.Controls("TextBox" & erTxt)
            .SelStart = 0
            .SelLength = .TextLength
            .SetFocus
            Exit Sub
        End With
    End If
    With Sheets("Sheet1")
        .Cells(k + 4, 5).Value = .Cells(k + 4, 5).Value + i
        For Each d In w
            .Cells(k + 4, d + 17).Value = .Cells(k + 4, d + 17).Value + i     '
        Next
        End With
    TextBox1.Value = ""
    TextBox2.Value = ""
    TextBox3.Value = ""

    TextBox1.SetFocus
 End Sub

すみません 教えてください
上記コードで集計をしていますがSplitを使った時、同じ行の集計結果ができません
Split(TextBox3.Value, ",")で NO1とNO5を選択した時の 

 .Cells(k + 4, 5).Value = .Cells(k + 4, 5).Value + i の集計ができていません
1,5に数量1と入れても最初の1の数量しか認識されていないようです
どこを直せば教えていただけませんか

< 使用 Excel:Excel2004(Mac)、使用 OS:MacOSX >


  一目、問題なさそうですけどねぇ。

  >1,5に数量1と入れても最初の1の数量しか認識されていないようです

  「ようです」なんて言ってないで、自分の目で確かめてくださいよ。

  >   .Cells(k + 4, d + 17).Value = .Cells(k + 4, d + 17).Value + i  

  その文の下にでも、

   Debug.Print .Cells(k + 4, d + 17).Address

  と入れてみれば、同じセルを見続けているかどうか分かるんじゃないですか。

  質問の趣旨がそんな事じゃないなら、もっと具体的な質問にしてください。

   □□が△△になっているので結果は○○になる筈だが、実際は●●になっている。

(半平太) 2019/06/07(金) 11:38


(半平太)様 お礼が遅くなりました

その後、自分で色々やってみましたが思う結果になりません

やりたい事
.Cells(k + 4, 5).Value = .Cells(k + 4, 5).Value + i E5列に集計
.Cells(k + 4, d + 17).Value = .Cells(k + 4, d + 17).Value + i 列ごとに数値入力する

この時、o5とR5 TextBox2から 1,1 と入力 
E5は2となるはずが 1 となります

ここが解らないところです
(km) 2019/06/12(水) 18:10


もう一つの教えていただきたいことが
バーコードリーダー メーカー未定ですが

JANコードを読み取った時 同じセルで足し算をしていく事は可能でしょうか
JANコード A2 数量カウント B2
一度読み取ると 2回目は下の行に移行するので 同じJANコードならB2で加算されていく

宜しくお願いします
(km) 2019/06/13(木) 07:07


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.