部品の在庫に対する発注数を算出するプログラムを下記の条件で作成中です。
ご指導願います。
A・B・Cの3種類の機械があり、それぞれ2種類の部品を持っています。
A・B・Cの3種類の機械があり、それぞれ指定した残量になると発注数を算出する。
1.Aの限界在庫
box1:50000
box2:5000
2.Bの限界在庫
box1:40000
box2:4000
3.Cの限界在庫
box1:30000
box2:3000
4Aの発注基準値
box1:30000
box2:3000
5.Bの発注基準値
box1:20000
box2:2000
6.Cの発注基準値
box1:10000
box2:1000
7.発注基準値の切り捨て
1の単位までありますので下記の単位で切り捨てます。
box1:10の単位で切り捨て
box2:10の単位で切り捨て
8.A列にA・B・Cの機械の識別IDがランダムにあります。
9.B列にbox1の在庫があります。
8.C列にbox2の在庫があります。
8.D列にbox1の在発注数を表示します。。
8.E列にbox1の在発注数を表示します。
Sub 計算1()
Dim i As Integer
Dim Abox1, Abox2, Bbox1, Bbox2, Cbox1, Cbox2 As Long
Dim Aboxh1, Aboxh2, Bboxh1, Bboxh2, Cboxh1, Cboxh2 As Long
Abox1 = 50000 'Abox1容量
Abox2 = 5000 'Abox2容量
Bbox1 = 40000 'Bbox1容量
Bbox2 = 4000 'Bbox2容量
Cbox1 = 30000 'Cbox1容量
Cbox2 = 3000 'Cbox2容量
Aboxhk1 = 30000 'Abox1発注基準値
Aboxhk2 = 2000 'Abox2発注基準値
Bboxhk1 = 20000 'Bbox1発注基準値
Bboxhk2 = 2000 'Bbox2発注基準値
cboxhk1 = 10000 'Cbox1発注基準値
cboxhk2 = 1000 'Cbox2発注基準値
Aboxhs1 = 30000 'Abox1発注数
Aboxhs2 = 2000 'Abox2発個数
Bboxhs1 = 20000 'Bbox1発個数
Bboxhs2 = 2000 'Bbox2発個数
cboxhs1 = 10000 'Cbox1発注数
cboxhs2 = 1000 'Cbox2発注数
i = 2
Aboxhs1 = Abox1 - Cells(i, 2)
Aboxhs2 = Abox2 - Cells(i, 3)
Bboxhs1 = Bbox1 - Cells(i, 2)
Bboxhs2 = Bbox2 - Cells(i, 3)
cboxhs1 = Cbox1 - Cells(i, 2)
cboxhs2 = Cbox2 - Cells(i, 3)
Do While Worksheets("sheet1").Cells(i, 1) = "A"
If Cells(i, 2) < Aboxhk1 Or Cells(i, 3) < Aboxhk2 Then
Worksheets("sheet1").Cells(i, 4) = Application.WorksheetFunction.RoundDown(Aboxhs1, -3)
Worksheets("sheet1").Cells(i, 5) = Application.WorksheetFunction.RoundDown(Aboxhs2, -2)
End If
i = i + 1
Loop
Do While Worksheets("sheet1").Cells(i, 1) = "B"
If Cells(i, 2) < Bboxhk1 Or Cells(i, 3) < Bboxhk2 Then
Worksheets("sheet1").Cells(i, 4) = Application.WorksheetFunction.RoundDown(Bboxhs1, -3)
Worksheets("sheet1").Cells(i, 5) = Application.WorksheetFunction.RoundDown(Bboxhs2, -2)
End If
i = i + 1
Loop
Do While Worksheets("sheet1").Cells(i, 1) = "C"
If Cells(i, 2) < cboxhk1 Or Cells(i, 3) < cboxhk2 Then
Worksheets("sheet1").Cells(i, 4) = Application.WorksheetFunction.RoundDown(cboxhs1, -3)
Worksheets("sheet1").Cells(i, 5) = Application.WorksheetFunction.RoundDown(cboxhs2, -2)
End If
i = i + 1
Loop
End Sub
No.1ベストアンサー
- 回答日時:
コメントを書く習慣をつけたほうが良いですよ。
Loopでループ終了後、iをリセットしてないので、対象行は延々と下がり続けるように見えます。
'---現 ここから
i = i + 1
Loop
Do While Worksheets("sheet1").Cells(i, 1) = "B"
'---現 ここまで
'---新 ここから
i = i + 1
Loop
’iをリセットする
i = 2
Do While Worksheets("sheet1").Cells(i, 1) = "B"
'---新 ここまで
この回答への補足
回答ありがとうございます。
すみませんが、初心者のためよくわかりませんのでもう一度教えてください。
A列には、いくつものABCが不規則に並んでいるために、はじめのAは処理できますが、Bになると処理されません。
勉強不足で、すみませんが、ご指導願います。
お礼が遅くなり、申し訳ありません。
ありがとうございまた。
アドバイスを参考に試行錯誤の結果、完成しました。
今後もお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:07
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAプログラミング 2 2022/11/27 12:13
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Excel(エクセル) なぜExit Subがあるのかわかりません 4 2023/02/19 12:34
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルサーバーにあるフォル...
-
Amazonプライムの容量無制限で...
-
WINDOWS98は何GBまでHDDを...
-
Googleフォトの容量をオーバー...
-
Win10 の OneDriveをアンインス...
-
Amazonフォトの容量
-
HDDが100%
-
HDDの容量はPCの処理能力に影響...
-
DVDとかで、ブルーレイと普通の...
-
Googleフォトの空き容量が足り...
-
クリップボードの容量を増やす
-
アルバムで消去できませんでし...
-
MS onedriveを経由したwordが開...
-
共有しているエクセルのファイ...
-
kindleのクラウドの容量
-
SDカードとUSBメモリどっちが優...
-
クラウドのストレージはイメー...
-
クラウドコンピュータシステム...
-
ワンドライブのデータが消えた
-
USBメモリーは、もう古いの で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
WINDOWS98は何GBまでHDDを...
-
ファイルサーバーにあるフォル...
-
Amazonフォトの容量
-
Amazonプライムの容量無制限で...
-
Win10 の OneDriveをアンインス...
-
コピーしてもクリップボードに...
-
googleドライブの空き容量不足...
-
新しく購入したWindowsパソコン...
-
クリップボードの容量を大きく...
-
iPhone12を使用しています。動...
-
外付けのハードディスクに
-
G570でHDDからSSD交換で不具合
-
動画ファイルの添付
-
DropBoxの「容量」についての仕...
-
DVD-Rの容量の事で教えてくださ...
-
USBフラッシュメモリの不良セク...
-
ワードで作れる容量の最大は?
-
クリップボードの容量を増やす
-
IDE HDDの容量を正しく認識しな...
-
DELL INSPIRON 1300のHDDを...
おすすめ情報