|
簡単な質問と思うのですが、時間をかけていろいろやってみてもまったく解決できません。よろしくお願いいたします。
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
|
|