すべてのカテゴリ » インターネット・パソコン » ソフトウェア » 使い方・不具合

質問

終了

エクセルで、A1セルに値段を入力して決定したら、A1セルにその値段+消費税を表示したいです。
例えば、A1セルに100と入れたら、勝手に105になる様にしたいです。
どのようにすれば良いですか?

  • 質問者:匿名
  • 質問日時:2009-11-07 02:01:14
  • 0

同一セルで入力と計算を行う場合は、マクロを記述する必要があります。
対象シートのマクロに以下の様なコードを入力してください。

'---ここから---
Option Explicit
Private isCalc As Boolean

' セルの値が変更された時に動く関数
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
' 画面更新を一時停止
Application.ScreenUpdating = False

' 単一セル選択時のみ処理
If (Target.Cells.Count = 1) Then
' 変更したセルが対象セルの時だけ処理
If (IsTarget(Target) And IsNumeric(Target.Value) And Not (isCalc)) Then
isCalc = True
' 消費税込みの金額に変更
Target.Value = Application.RoundDown(Target.Value * 1.05, 0)
isCalc = False
End If
End If

' 画面更新を再開
Application.ScreenUpdating = True
End Sub

' 現在のセルが対象セルかチェックする
Private Function IsTarget(ByVal Target As Excel.Range) As Boolean
IsTarget = (Target = Range("A1"))
End Function
'---ここまで---


とりあえず、A1セルでのみ動作する様にしています。
全セルを対象とする場合は、
 IsTarget = (Target = Range("A1"))

 IsTarget = True
に書き換えてください。

  • 回答者:ロッキ (質問から11時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

思っていた通りに動きました!
ありがとうございました。

並び替え:

=A1*1.05 を B1のセルに入れる。

   A     B
1       =A1*1.05
2       =A2*1.05

この様にしたいのでしょうか?

下記例の様に、A1 に 100 と入力して A1 を 105 に表示する方法は
わかりません。
(例)
   A   
1 100     
     ↓
   A   
1 105

  • 回答者:匿名ですよ (質問から5時間後)
  • 0
この回答の満足度
  
回答ありがとうございました。
お礼コメント

A1に100と入力して、A1に105と表示する方法を知りたいです。

補足
知りたい事をお答えいただけなかったので、1点にさせて頂きました。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る