ここから本文です

Excel VBA初心者です。

yuk********さん

2011/10/2314:04:44

Excel VBA初心者です。

簡単なことなんでしょうが、わからないことがあるので、教えてください。

Excel2010で作成しておりますが、実際に使うのは、2003です。

A列 注文番号が入っています。(複数あり)
E列 型番AB1120~AB1150のいづれかが入っています。
F列 数量が入っています。

一行目には、項目が入っています。

1つのシートの中に、注文番号が同じデータが複数存在します。
注文番号が同じなら、型番ごとに集計して、(この部分がうまくいかない部分です)
Label1~Label4に表示させたいと思っています。(この部分は省略しています)



Dim banngou As Long
Dim ACRow, i As Long

banngou = TextBox1.Value

Cells(Rows.Count, 1).End(xlUp).Active
ACRow = ActiveCell.Row

For i = 2 To ACRow

If Cells(i, 1) = banngou Then ’★

If Cells(i, 5) = "AB1120" Then
AB1120 = AB1120 + Cells(i, 6)

ElseIf Cells(i, 5) = "AB1130" Then
AB1130 = AB1130 + Cells(i, 6)

ElseIf Cells(i, 5) = "AB1140" Then
AB1140 = AB1140 + Cells(i, 6)

ElseIf Cells(i, 5) = "AB1150" Then
AB1150 = AB1150 + Cells(i, 6)
End If

End If

Next i

★の部分がうまく認識されません。
banngouはきちんと値を取得しているのですが、Cells(i, 1)の値と同じでも、通り過ぎてしまうのです。

説明不足かもしれませんが、教えていただけると助かります!

補足マクロ実行中、一つずつ見ていたのですが、例えば、値が「826」の場合、
Cells(i,5)は 826 になるのに対して、
banngouは "826" になっています。

数値と文字列の違いなのでしょうか?
MsgBox(Cells(i,5))
とすると、826と表示されるのですが、
どうしたらうまく認識してくれるのでしょうか?

閲覧数:
140
回答数:
3

違反報告

ベストアンサーに選ばれた回答

ads********さん

2011/10/2314:22:25

数字と数値の違いとか
注文番号がセルの書式設定で
頭に"0"を並べているとかなら
成立しない可能性もありますが。。。

Dim banngou As String

banngou = TextBox1.Text

If Cells(i, 1).Text = banngou Then

文字列に統一してみるとか?

質問した人からのコメント

2011/10/23 20:55:21

なぜか、banngouがStringになっているのが原因でした。

Cells(i, 1).Text にしたらうまくいきました。
ありがとうございます!

でも、なぜ、Longで定義したはずなのに、Stringになったんでしょうか・・・
なぞが残ります…

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

wlo********さん

編集あり2011/10/2320:36:59

該当のシートがアクティブになってない、とかですかね?
プログラムの先頭に以下を挿入して試してみて下さい。
Sheets("該当のシート名").Activate
余力があるならActivateを使わないプログラムに変更すると紛れが無くなります。
あと気になるのはCells(Rows.Count, 1).End(xlUp).Activeですが、最後ActiveではなくActivateでは?

>banngouは "826" になっています。
数字の前後に「"(ダブルクォーテーション)」が表示されているということですか?
Dim banngou As LongとLong型で定義されてるのにそんなはずないのですが・・・。

ab_********さん

2011/10/2314:13:19

そんなはずはないと思います。

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる