|    | 
     ▼neptune さん: 
 
>改良ならば、どこまで出来て、どの部分がわからないか書かなければ、 
>質問の体をなしてないです。 
 
率直なご意見助かります。 
 
1.textbox1→1000入力 
2.combobox1→65%選択 
3.textbox2→650入力 
 
という入力・選択の流れのなかで 
現在は3.の段階で電卓で計算しています。 
簡単な計算ならばいいのですが 
1.が細かい数字の場合があります。 
 
できれば1.2.の入力・選択の結果が3.に反映されるもの、 
1.2.を変更したら3.が変更されるものにしたいのです。 
 
コードは以下の通りです。 
 
' 
'新規登録ボタンがクリックされた場合の処理 
' 
Private Sub CommandButton1_Click() 
 
  '使用する変数の宣言 
  'Dim 変数名 As データ型 
   
  Dim Meekaamei As String   'メーカー名 
  Dim Shiriizumei As String  'シリーズ名 
  Dim Shohinmei As String   '商品名 
  Dim Teika As String     '定価 
  Dim Shubetu As String    '種別 
   
  Dim Shiiresaki As String  '仕入 
  Dim Kakeritu As String   '掛率 
  Dim Genka As String     '原価 
  Dim Baika As String     '売価 
   
  Dim Yoteibi As String    '予定日 
  Dim Hacchuusuuct As String '発注数CT 
  Dim Hacchuusuubox As String '発注数BOX 
  Dim Hacchuusuuko As String '発注数コ 
   
  Dim Kensuu As Long     '登録されているデータの件数 
  Dim Gyou As Long      'ワークシートの何行目に書き込むか 
   
  Dim MaxGyou As Long     ' 
     
  'コントロールに入力された値を変数に代入 
  '変数名 = オブジェクト名.プロパティ名 
   
  Meekaamei = ComboBox1.Text 
  Shiriizumei = ComboBox2.Text 
  Shohinmei = TextBox1.Text 
  Teika = TextBox2.Text 
  Shubetu = ComboBox3.Text 
   
  Shiiresaki = ComboBox4.Text 
  Kakeritu = ComboBox5.Text 
  Genka = TextBox3.Text 
  Baika = TextBox4.Text 
   
  Yoteibi = TextBox5.Text 
  Hacchuusuuct = ComboBox6.Text 
  Hacchuusuubox = ComboBox7.Text 
  Hacchuusuuko = TextBox6.Text 
           
    '商品名が入力されていない場合は登録しない 
 
    If Shohinmei = "" Or Teika = "" Or Genka = "" Or Baika = "" Or _ 
    Yoteibi = "" Or Hacchuusuuko = "" Then 
      MsgBox "商品名・定価・原価・売価・予定日・発注数は入力して下さい。" 
      Exit Sub 
    End If 
   
    '登録件数からワークシートに書き込む行を計算する 
   
    Kensuu = Worksheets("Sheet1").Cells(4, 18).Value  'セルR4の値=注意! 
   
    Kensuu = Kensuu + 1   '新規に入力されたので件数を1つ増やす 
   
    Gyou = Kensuu + 4    'ワークシトの4行目までは見出しなので 
                'データを書き込む行は件数+4行目となる 
               
  '変数の値をワークシートに書き込む 
   
  Worksheets("Sheet1").Cells(Gyou, 1).Value = Meekaamei 
  Worksheets("Sheet1").Cells(Gyou, 2).Value = Shiriizumei 
  Worksheets("Sheet1").Cells(Gyou, 3).Value = Shohinmei 
  Worksheets("Sheet1").Cells(Gyou, 4).Value = Teika 
  Worksheets("Sheet1").Cells(Gyou, 5).Value = Shubetu 
   
  Worksheets("Sheet1").Cells(Gyou, 6).Value = Shiiresaki 
  Worksheets("Sheet1").Cells(Gyou, 7).Value = Kakeritu 
  Worksheets("Sheet1").Cells(Gyou, 8).Value = Genka 
  Worksheets("Sheet1").Cells(Gyou, 9).Value = Baika 
   
  Worksheets("Sheet1").Cells(Gyou, 10).Value = Yoteibi 
  Worksheets("Sheet1").Cells(Gyou, 11).Value = Hacchuusuuct 
  Worksheets("Sheet1").Cells(Gyou, 12).Value = Hacchuusuubox 
  Worksheets("Sheet1").Cells(Gyou, 13).Value = Hacchuusuuko 
   
    '登録件数の値を更新(セルR4の値=注意!) 
   
    Worksheets("Sheet1").Cells(4, 18).Value = Kensuu 
     
    '登録件数から最終データの行番号を取得 
   
    MaxGyou = Cells(4, 18).Value + 4  'セルR4の値+4 
   
    '予定日の昇順で並べ替える操作を「新しいマクロの記録」で出力し 
    '並べ替え対象のセル範囲Range()の内容などを変更したもの 
   
    Range(Cells(5, 1), Cells(MaxGyou, 15)).Select  '並べ替えるセルの範囲を指定=注意! 
    Selection.Sort Key1:=Range("J3"), Order1:=xlAscending, Header:=xlGuess, _ 
    OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _ 
      :=xlPinYin, DataOption1:=xlSortNormal 
   
    '次の入力のためにテキストボックスを空にする 
   
    TextBox1.Value = "" 
    TextBox2.Value = "" 
    TextBox3.Value = "" 
    TextBox4.Value = "" 
    TextBox5.Value = "" 
    TextBox6.Value = "" 
   
   
End Sub 
 
' 
'終了ボタンがクリックされた場合の処理 
' 
Private Sub CommandButton0_Click() 
 
  End   'コマンドボタンをクリックしたら終了 
 
End Sub 
 
 | 
     
    
   |