Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3177 / 13646 ツリー ←次へ | 前へ→

【63694】計算計数を求めたい 子猫 09/11/30(月) 19:58 質問[未読]
【63696】Re:計算計数を求めたい よろずや 09/11/30(月) 23:29 発言[未読]
【63698】Re:計算計数を求めたい 子猫 09/12/1(火) 7:31 質問[未読]
【63699】Re:計算計数を求めたい seg 09/12/1(火) 15:39 発言[未読]
【63701】Re:計算計数を求めたい 子猫 09/12/1(火) 21:33 質問[未読]
【63702】Re:計算計数を求めたい 超初心者 09/12/1(火) 22:52 発言[未読]
【63703】Re:計算計数を求めたい 超初心者 09/12/1(火) 22:54 発言[未読]
【63707】Re:計算計数を求めたい SS 09/12/2(水) 9:53 発言[未読]
【63739】Re:計算計数を求めたい 子猫 09/12/6(日) 21:47 質問[未読]
【63741】Re:計算計数を求めたい SS 09/12/7(月) 10:20 発言[未読]

【63694】計算計数を求めたい
質問  子猫  - 09/11/30(月) 19:58 -

引用なし
パスワード
   こんばんは、
 計算計数を求めるには、どの計算式を利用すれば、
問題解決になるのでしょうか?
ご伝授ください。

規格      単価    単位  計算計数
2kg×6枚×2箱  100/枚   箱   6 ・・・・箱当たり、6枚だから
2kg×6枚×2箱  100/kg   箱   12 ・・・・箱当たり、12kgだから  
2kg×6枚×2箱  100/箱   箱   1 ・・・・箱当たり、1箱だから

【63696】Re:計算計数を求めたい
発言  よろずや  - 09/11/30(月) 23:29 -

引用なし
パスワード
   説明不足です。
理解してもらえるように考えて書きましょう。

【63698】Re:計算計数を求めたい
質問  子猫  - 09/12/1(火) 7:31 -

引用なし
パスワード
   ▼よろずや さん:
>説明不足です。
>理解してもらえるように考えて書きましょう。
説明不足、すいません。

求めたいのは、「単位」の単価です。難点としては、
1.実質の単価は数字ではなく、文字列になっている(例、100/kg、100/枚・・)
2.単価の単位(例、枚、kg・・・)をもって、「単位」の単価換算係数を
求めるとき、規格の内容によって、計算係数が変わります。

規格       単価   単位   計算計数
2kg×6枚×2箱  100/枚   箱    6 ・・・・箱当たり、6枚だから
2kg×6枚×2箱  100/kg   箱    12 ・・・・箱当たり、12kgだから  
2kg×6枚×2箱  100/箱   箱    1 ・・・・箱当たり、1箱だから
2枚×6P×2個  600/個   P    100・・・・個当たり、6Pだから

【63699】Re:計算計数を求めたい
発言  seg  - 09/12/1(火) 15:39 -

引用なし
パスワード
   ▼子猫 さん:
おそらく、何かの管理表を作成されているのでしょう。

しかし、その内容や計算ロジックは重要ではありません。

質問する場合は、○△○○という文字列があり、その中から
△を抜き出して計算したいのですが、どのようにすれば良い
でしょうか。
などとすると解り易いかと思います。

いきなり例題を出されて、どのように演算すればよいかと
聞かれても解りません^^;

今回の場合、何を、どのようにしたいけど、出来ないのかを
明確に書くとレスも付くと思います。

【63701】Re:計算計数を求めたい
質問  子猫  - 09/12/1(火) 21:33 -

引用なし
パスワード
   segさん

こんばんは、計算したいのは、注文金額です。
注文金額=計算係数×数量
ここでは、注文金額を求めるには、注文数量がわかりますが、その注文単位の
単価がわかりません。
考えかたとして、計算係数を利用して、単価から注文単価を求めたいです。

              ↓---------------------↓
規格       単価   単位   計算計数  注文数量  注文金額
2kg×6枚×2箱  100/枚   箱    6      1     \600
2kg×6枚×2箱  100/kg   箱    12      1     \1200
2kg×6枚×2箱  100/箱   箱    1      1     \100
2枚×6P×2個  600/個   P    100     1     \100

【63702】Re:計算計数を求めたい
発言  超初心者  - 09/12/1(火) 22:52 -

引用なし
パスワード
   ▼子猫 さん:

私なら
規格の列の最後の文字を rightで抜き出して
select case で判定する

コードは、書きません。
あなたの技術力向上には、
絶対に結びつかないから。

【63703】Re:計算計数を求めたい
発言  超初心者  - 09/12/1(火) 22:54 -

引用なし
パスワード
   >規格の列の最後の文字を
 ↑間違った。
  ヒントと解釈願う。

【63707】Re:計算計数を求めたい
発言  SS  - 09/12/2(水) 9:53 -

引用なし
パスワード
   ▼子猫 さん:
VBAの内容ではないのですが、そもそも規格の中に
2種類の数字が入っていることに問題があると思います。
「kg、枚、P」は商品一単位の数量を示すのに対し
「箱、個」は商品が何単位あるかを示しているようです。
逆に考えると規格以下の数量を発注しているが良いのかということになります。

上記が整理できれば、単位と数値を切り分け
規格がそれぞれ何kg、何枚、何P、何円か計算するのは
乗算だけで出来るので簡単ではないでしょうか。
と書きましたが示された例から見える中でA単位1×B単位2×C単位3とすると
(1)A×B[単位1/規格]、B[単位2/規格]、
(2)A×B×単価[円/規格] or B×単価[円/規格] or 単価[円/規格]
で(2)/(1)で出来るような気がします。

現状では、子猫さんがどこまで自力で出来て何が出来ないのか
分からないので皆さんも回答しようがないのではないでしょうか。
出来ている部分を提示することが重要だと思います。
また単位の種類が限定されているのか否かで
VBAの組み方が変わると思いますのでそういう情報も必要です。
Split、Rightなどを使うことになるのかなと思います。

>segさん
>
>こんばんは、計算したいのは、注文金額です。
>注文金額=計算係数×数量
>ここでは、注文金額を求めるには、注文数量がわかりますが、その注文単位の
>単価がわかりません。
>考えかたとして、計算係数を利用して、単価から注文単価を求めたいです。
>
>              ↓---------------------↓
>規格       単価   単位   計算計数  注文数量  注文金額
>2kg×6枚×2箱  100/枚   箱    6      1     \600
>2kg×6枚×2箱  100/kg   箱    12      1     \1200
>2kg×6枚×2箱  100/箱   箱    1      1     \100
>2枚×6P×2個  600/個   P    100     1     \100

【63739】Re:計算計数を求めたい
質問  子猫  - 09/12/6(日) 21:47 -

引用なし
パスワード
   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)で出来るような気がします。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

【63741】Re:計算計数を求めたい
発言  SS  - 09/12/7(月) 10:20 -

引用なし
パスワード
   ▼子猫 さん:
こんにちは、前回は余計なことを書いて混乱させてしまったようで
申し訳ありません。
ただ、今回も必要なことが書かれていませんね。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)で出来るような気がします。
>〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

3177 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free