|
▼子猫 さん:
こんにちは、前回は余計なことを書いて混乱させてしまったようで
申し訳ありません。
ただ、今回も必要なことが書かれていませんね。VBAで計算したいのであれば、
現在VBAでどこまで出来ているのか提示されなければ回答のしようがありません。
一応私の拙い技術で規格から各数量と単位を切り出すマクロを以下に記しますが
『それは出来ます』ということですと全くの無駄となります。
※Sheet1のA1に規格をコピーし実行してみてください。
Sub test()
Dim 規格 As String, txt As String
Dim TMP As Variant, 要素(2) As Variant, 単位(2) As Variant
Dim i As Integer, j As Integer
With Worksheets("Sheet1")
規格 = .Range("A1").Value
TMP = Split(規格, "×")
For i = 0 To 2
txt = Mid(TMP(i), Len(TMP(i)) - 1, 1)
If Asc(txt) >= 48 And Asc(txt) < 58 Then
単位(i) = Right(TMP(i), 1)
要素(i) = Left(TMP(i), Len(TMP(i)) - 1)
Else
単位(i) = "kg"
要素(i) = Left(TMP(i), Len(TMP(i)) - 2)
End If
Cells(2, i * 2 + 1).Value = 要素(i)
Cells(2, i * 2 + 2).Value = 単位(i)
Next i
End With
End Sub
>>A単位1×B単位2×C単位3とすると
>>(1)A×B[単位1/規格]、B[単位2/規格]、
>>(2)A×B×単価[円/規格] or B×単価[円/規格] or 単価[円/規格]
>>で(2)/(1)で出来るような気がします。
計算方法についても何処が分からないのかはっきりしないのですが
私ならこう考えます。
単価の単位が「kg」であれば単位1であるので規格単価は
規格単価=A×B×単価[円/規格]
求めたい計算係数は単位2のものであるので
計算係数[円/単位2]=A×B×単価[円/規格]/B[単位2/規格]
となります。
それぞれ単位などは上のマクロで取得したものをif文で単位判定をし
計算パターンを変更すれば良いと思います。
>SSさん
>ご回答いただき、ありがとうございます。
>以下の回答文を読んだんですけど、あまりよくわかっていないので、
>もう少しご説明していただけませんか。
>具体的な数字を代入すると、正しく計算されるのでしょうか?
>
>例、
>規格:5kg×7巻×4箱
>単価:100/kg
>単位:箱
>計算係数:3,500
>
>もし単位が巻に変わったら、計算係数が500となります。
>
>以下の計算モデルを利用する場合は、計算係数の算出が可能でしょうか?
>ご伝授ください。
>________________________________
>>A単位1×B単位2×C単位3とすると
>>(1)A×B[単位1/規格]、B[単位2/規格]、
>>(2)A×B×単価[円/規格] or B×単価[円/規格] or 単価[円/規格]
>>で(2)/(1)で出来るような気がします。
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
|
|