- ベストアンサー
前月の数字を残しておきたい。
A B 1月 500 1月 500 2月 3月 ・ ・ 12月 累計 500 A1に入力されてる月の欄にB1の数字を入れたい。 私の作った関数(IF)ではA1を2月にすると2月のランに数字は入るが1月の欄の数字が消えてしまう。 前の月の数字を残しておくにはどうしたらいいですか。 教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参照元の値が変わっても、参照先が変化しないようにするのは関数では無理だと思います。 VBAでのサンプルを提示します。 試す場合は、新規ブックで行ってください。 また、セキュリティレベルが「中」以下の状態でマクロ有効でExcelを起動しないと動きません。 1)新規ブックの Sheet1 D1:D12 に "文字列" で 1月~12月 と入力 2)シート名タブを右クリックして「コードの表示」 3)出てきたVisualBasicEditor画面(以下、VBE画面)にコードをコピペ 4)VBE画面を閉じる 5)A1 又は B1 に値を入れる Private Sub Worksheet_Change(ByVal Target As Range) Dim fr If Not Application.Intersect(Target, Me.Range("A1"), Me.Range("B1")) Is Nothing Then Exit Sub Set fr = Me.Columns(4).Find(What:=Me.Range("A1").Text, LookAt:=xlWhole) On Error Resume Next Application.EnableEvents = False If Not fr Is Nothing Then fr.Offset(0, 1).Value = Me.Range("B1").Value Application.EnableEvents = True End Sub
その他の回答 (2)
- n-jun
- ベストアンサー率33% (959/2873)
入力するセルが、A1とB1固定であれば、数式で求めると2月にすれば 1月は消えてしまうでしょう。 セルに値として入れるのならば、マクロかな? と思います。(思考不足な意見ですが)
お礼
早速ありがとう御座います。 マクロはわかりません。
- ryuujiok2205
- ベストアンサー率21% (233/1098)
まず質問者さんの作った関数を公開してください。 > 2月のランに数字は入るが1月の欄の数字が消えてしまう。 きわめて独創的で興味があります。
補足
早速ありがとうござます。 関数はあまりよくわからなくても 以下のIF文ではブランクのなるのはわかりますので 恥ずかしくて公開しなかったのです。 =IF($A$1=E5,$B$1,"") いい方法があったらお教え下さい。
お礼
出来ました。本当にありがとう御座います。