Excel VBA質問箱 IV

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

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


5624 / 13645 ツリー ←次へ | 前へ→

【49750】製品原価の連続計算 ito 07/6/19(火) 15:36 質問[未読]
【49790】Re:製品原価の連続計算 匿名 07/6/22(金) 13:02 発言[未読]

【49750】製品原価の連続計算
質問  ito  - 07/6/19(火) 15:36 -

引用なし
パスワード
   下記のマクロで製品の原料費の計算をしています。
シート(配合台帳)のB列のReNoナンバー(R1001〜R1800以上)をtxtReNo.Text
に入力後、 検索、修正ボタンをクリックすると原料費の計算結果が シート(配合台帳)の行(入力ReNoナンバー)、列(18)に記載されます。
これをReNoナンバーR1001からR1800以上まで自動的に連続して検索、修正、配合台帳への記載を行いたいのですが方法があれば、教えて頂けませんか、宜しくお願いします。

' =================================================
' 検索コマンドボタンがクリックされたときのプロシージャ
' =================================================
Private Sub cmd検索_Click()
   Dim strキー As String
     
   strキー = txtReNo.Text
  
  num配合 = Application.Match(strキー, rng配合.Columns(1), 0)
  
  '検索した得意先データをテキストボックスに代入する
  txtReNo.Text = rng配合.Cells(num配合, 1)
   
  txt収率1.Text = rng配合.Cells(num配合, 16)
  txt原料費.Text = rng配合.Cells(num配合, 17)
  txt加工賃.Text = rng配合.Cells(num配合, 18)
  txt原料1.Text = rng配合.Cells(num配合, 20)
  txt比率1.Text = rng配合.Cells(num配合, 21)
  txt原料2.Text = rng配合.Cells(num配合, 22)
  txt比率2.Text = rng配合.Cells(num配合, 23)
  txt原料3.Text = rng配合.Cells(num配合, 24)
  txt比率3.Text = rng配合.Cells(num配合, 25)
  txt原料4.Text = rng配合.Cells(num配合, 26)
  txt比率4.Text = rng配合.Cells(num配合, 27)
  txt原料5.Text = rng配合.Cells(num配合, 28)
  txt比率5.Text = rng配合.Cells(num配合, 29)
   
    P_受注額計算 1
    P_受注額計算 2
    P_受注額計算 3
    P_受注額計算 4
    P_受注額計算 5
      
End Sub
' =================================================
' 修正コマンドボタンがクリックされたときのプロシージャ
' =================================================
Private Sub cmd修正_Click()
  Dim strキー As String
  
  strキー = txtReNo.Text
  
  'ReNoのレコードを検索する
  num配合 = Application.Match(strキー, rng配合.Columns(1), 0)

  '修正内容を該当のレコードに書き込む
  rng配合.Cells(num配合, 1) = txtReNo.Text
 
  rng配合.Cells(num配合, 16) = txt収率1.Text
  rng配合.Cells(num配合, 17) = txt原料費.Text
  rng配合.Cells(num配合, 18) = txt加工賃.Text
  rng配合.Cells(num配合, 20) = txt原料1.Text
  rng配合.Cells(num配合, 21) = txt比率1.Text
  rng配合.Cells(num配合, 22) = txt原料2.Text
  rng配合.Cells(num配合, 23) = txt比率2.Text
  rng配合.Cells(num配合, 24) = txt原料3.Text
  rng配合.Cells(num配合, 25) = txt比率3.Text
  rng配合.Cells(num配合, 26) = txt原料4.Text
  rng配合.Cells(num配合, 27) = txt比率4.Text
  rng配合.Cells(num配合, 28) = txt原料5.Text
  rng配合.Cells(num配合, 29) = txt比率5.Text
      
  '各テキストボックスの内容をクリアする
  P_項目クリア
   
End Sub
' ======================================
' TxT原料1が変更になったときのプロシージャ
' ======================================
Private Sub txt原料1_Change()
   Dim VV As Range
    Worksheets("商品台帳").Select
    With Range("B3:K65536")
    Set VV = .Find(txt原料1.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not VV Is Nothing Then
      txt原料名1.Value = VV.Offset(, 1).Value
      txt単価1.Value = VV.Offset(, 3).Value
    Else
    
    End If
   End With
  
    P_受注額計算 1
End Sub
' ======================================
' TxT原料2が変更になったときのプロシージャ
' ======================================
Private Sub txt原料2_Change()
   Dim VV As Range
   Worksheets("商品台帳").Select
   With Range("B3:K65536")
   Set VV = .Find(txt原料2.Value, LookIn:=xlValues, lookat:=xlWhole)
   If Not VV Is Nothing Then
     txt原料名2.Value = VV.Offset(, 1).Value
     txt単価2.Value = VV.Offset(, 3).Value
   Else
    
   End If
   End With
   P_受注額計算 2
End Sub
' ==========================================
' 比率と単価から原料費を計算するプロシージャ
' ==========================================
Private Sub P_受注額計算(intCol As Integer)

  If IsNumeric(txt比率(intCol).Text) And IsNumeric(txt単価(intCol).Text) Then
   
    txt金額(intCol).Text = _
    Format(CDbl(txt比率(intCol).Text) * CDbl(txt単価(intCol).Text) / 100, "#,##0.00")
    
    txt合計額(1).Text = Val(txt金額(1).Text) + Val(txt金額(2).Text) + Val(txt金額(3).Text) _
             + Val(txt金額(4).Text) + Val(txt金額(5).Text)
                                 
    txt原料費.Text = Format(txt合計額(1).Text / txt収率1.Text + 0.45, "#,##0")
                                     
  Else
    txt金額(intCol).Text = ""
  End If
End Sub

【49790】Re:製品原価の連続計算
発言  匿名  - 07/6/22(金) 13:02 -

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

お力になれるかわからないんですが、

検索コマンドボタンがクリックされたときのプロシージャ

修正コマンドボタンがクリックされたときのプロシージャ

をNo R1800以上まで繰り返し行うということでよろしいんでしょうか?

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