|    | 
     簡単な質問と思うのですが、時間をかけていろいろやってみてもまったく解決できません。よろしくお願いいたします。 
 
 D    E    F   G   H  
【品名】 【数量】【単価】空の列【金額】 
うどん   3   1000     3000 
飲み物   2    500     1000 
 * 
 * 
サービス  2    500     1000 
小 計               5000 
消費税               250 
合 計               5250 
 
列ABCはGと同様、空の列です。 
インターネットで検索しながら、下記マクロを作成しました。 
自らデータ入力をするセルは、Aのさまざまな品名とサービス、Bの数量です。 
他(計算式・文字入力など)はマクロで入力できるようにしました。 
問題は、サービスが入るときと入らないときがあり、入るときはE数量の数字の色を白にして印刷に出ないようにしたいです。(サービスの行は不定です) 
その設定をマクロに入れ込みたいのですが、どのように設定すればいいのかわかりません。 
また、自作マクロは無駄が多く効率も悪いと思います。ご助言いただけると勉強になります。よろしくお願い致します。 
 
Sub 計算() 
 
  Range("F7:F20") = "=VLOOKUP(RC[-2],金額,2,0)"  '種目から単価参照 
 
  Range("H7") = "=RC[-2]*RC[-3]"         '数量×単価 
  Range("H7").Select 
  Selection.AutoFill Destination:=Range("H7:H20"), Type:=xlFillDefault 
                          '20行分コピー 
  Range("D65536").End(xlUp).Select 
  Selection.Offset(1, 2).Select 
  ActiveCell.Resize(15, 3).Select         'エラー分を選択、消去 
  Selection.ClearContents 
                        
  
  Range("D65536").End(xlUp).Select 
  Selection.Offset(1, 0).Select 
  ActiveCell.FormulaR1C1 = "小 計"        '小計 文字を入力 
  Selection.Offset(0, 4).Select          '小計計算セルへ移動 
  ActiveCell.FormulaR1C1 = WorksheetFunction.Sum(Range("H7:H" & Rows.Count))                 '小計を計算する数式を設定 
    
  Selection.Offset(1, -4).Select 
  ActiveCell.FormulaR1C1 = "消費税(5%)"  '消費税 文字を入力 
  Selection.Offset(0, 4).Select 
  ActiveCell = "=R[-1]C*0.05"         '消費税を計算 
   
  Selection.Offset(1, -4).Select 
  ActiveCell.FormulaR1C1 = "合 計"      '合計 文字を入力 
  Selection.Offset(0, 4).Select 
  ActiveCell = "=R[-1]C+R[-2]C"        '合計を計算 
  Range("M7").Select 
 
End Sub 
 | 
     
    
   |