これ何て呼びますか

AからC列に数字を入力し、D欄には「支払い」か「購入」の文字を入力します。

A B C D
10 20 30 支払い
20 40 60 購入

これで支払いの場合は入力した10、20、30がマイナスで表示され、購入の場合はそのまま整数で表示されるようにしたいです。

マイナスにするため、入力した数字に-1をかけるようにしてマイナスにしようとおもうのですが、
条件付き書式設定では、数式が入力できず、
if文をしても、循環関数?となりエラーになります。

こう言う時は、VBAでないとできないでしょうか。

その場合のVBAを教えてもらえると助かります。

よろしくお願いします。

A 回答 (3件)

No.1の者です。



一応、マクロコードを載せておきます。
対象のシートに、下記マクロを記載すれば、動作するかと。
最初からマイナスで入力した場合でも、支払いの場合はマイナス表記になる
様にしています。 購入では、何も処理していないです。

Option Explicit
Dim I As Long
Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column <> 4 Then Exit Sub
If .Value = "支払い" Then
For I = 1 To 3
Cells(.Row, I).Value = -Abs(Cells(.Row, I).Value)
Next I
End If
End With
End Sub
    • good
    • 0
この回答へのお礼

ソースまで!
ありがとうございます!
頑張ってやってみます。

本当にありがとうございました!

お礼日時:2022/03/28 19:44

表示だけでよければ、セルのユーザー書式で「"-"###」で表示できます。


但し、表示だけであって実数はプラスですから計算の場合は、それなりの処理で。
    • good
    • 0
この回答へのお礼

ありがとうございます。表示と書いてしまいましたが、計算したいので表示だけではなくマイナスにしたくて。。。
見た目だけなら書式でできると思うのですが、マイナス値にしたくて。

お礼日時:2022/03/28 19:16

こんばんは。



直接の回答ではありませんが、
最初から、マイナス入力ではダメなのでしょうか?

若しくは、シート1を入力用として、シート2に、マイナスを反映した結果
を表示するとかでしたら比較的簡単にできるかと思いますが。
    • good
    • 0
この回答へのお礼

おっしゃる通り、シート別や入力値と表示セルを別にしたら簡単なんですけど、あまりたくさんの列を使いたくなくて、、、

やはり、最初からマイナス入力するしかないですかね。
ありがとうございました。

お礼日時:2022/03/28 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報