電子書籍の厳選無料作品が豊富!

エクセルVBAで在庫の組み換え処理をしたい

VBAを勉強しているのですが、

例えば、袋入り個数が[バラ]、[11個] [51個] [101個] [202個]の物があり、

[11個入り]の袋から[51個入り]の袋に組み換えたい場合、
必要な[11個入り]袋の数と組み換えた余りの個数をMSGBOXに表示させたい。
また、同様に、[101個入り]の袋から[51個入り]の袋や[11個入り]の袋に組み換えた場合の、
必要な組み換え元袋数と余りの個数をMSGBOXに表示させたい

いろいろ模索し下記のようなコードを試しましたがこれで良いのかわかりません。
よろしくお願いいたします。


Sub 在庫組換3()

Dim 組換先入り数 As Long
Dim 組換元入り数 As Long

Dim 入荷組数 As Long

Dim 必要な組換元組数 As Long
Dim 組換えた後の残り As Long

Dim 出来た組数 As Long
Dim 必要な袋数 As Long


' 例:10[セット](例えば、組換先入り数51個入りが10セット入荷)
入荷組数 = Val(InputBox("入荷組数" & vbCrLf & "例:[10]セット", "入力してください。"))

' 例:51[個入り]
組換先入り数 = Val(InputBox("組換先入り数" & vbCrLf & "例:[51]個入り", "入力してください。"))

' 例:101[個入り]
組換元入り数 = Val(InputBox("組換元入り数" & vbCrLf & "例:[101]個入り", "入力してください。"))



必要な組換元組数 = Int((入荷組数 * 組換先入り数) / 組換元入り数)

組換えた後の残り = (入荷組数 * 組換先入り数) Mod 組換元入り数

出来た組数 = 入荷組数


MsgBox ("必要な組換元組数:" & 必要な組換元組数 & vbCrLf & _
"出来た袋数:" & 出来た組数 & vbCrLf & _
"組換えた後の残り:" & 組換えた後の残り)


End Sub

A 回答 (1件)

Sub 在庫組換3()



Dim 組換先入り数 As Long
Dim 組換元入り数 As Long
Dim 入荷組数 As Long

Dim 必要な組換元袋数 As Long
Dim 組換えた後の余り As Long

' 入荷する組数(例:10セット)
入荷組数 = Val(InputBox("入荷組数" & vbCrLf & "例:[10]セット", "入力してください。"))

' 組換先の袋の個数(例:51個入り)
組換先入り数 = Val(InputBox("組換先入り数" & vbCrLf & "例:[51]個入り", "入力してください。"))

' 組換元の袋の個数(例:101個入り)
組換元入り数 = Val(InputBox("組換元入り数" & vbCrLf & "例:[101]個入り", "入力してください。"))

' 必要な組換元袋数の計算
必要な組換元袋数 = Int((入荷組数 * 組換先入り数) / 組換元入り数)

' 組換えた後の余りを計算
組換えた後の余り = (入荷組数 * 組換先入り数) Mod 組換元入り数

' 結果を表示
MsgBox "組換元の袋から組換える場合:" & vbCrLf & _
"必要な組換元袋数: " & 必要な組換元袋数 & vbCrLf & _
"組換えた後の余り個数: " & 組換えた後の余り, vbInformation, "結果"

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
希望通りの事ができました。

お礼日時:2025/01/17 12:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A