ここから本文です

エクセルVBA又は関数 プルダウンで文字列を選択した瞬間に任意のセルにデータ...

ibi********さん

2017/7/707:40:56

エクセルVBA又は関数
プルダウンで文字列を選択した瞬間に任意のセルにデータを反映したい


見にくいですが、下記の画像のような事がやりたいです。

(表1)
B2:B7が「1月1日」から順に「1月6日」と入力。
C2:C7が名前。
D2:D7が金額。
E2とE4に「売上」。
E3、E5、E6、E7に「支払い」

と入っています。

E列は「データの入力規則」→「リスト」で、
セルをクリックするとプルダウン選択になって
「売上」か「支払い」が選択できるようになっています。

ここで、「売上」と選択した部分を選択した瞬間に
関数でG列以降に表示できるようにしたいです。

表1では「B2:E2」と、「B4:E4」の2つの部分が
E列のプルダウン選択によって「売上」になったので
「B2:E2」の内容が「G2:J2」に表示。
「B4:E4」の内容が「L2:O2」に表示するように
したいです。

E列がプルダウン選択で「売上」になった部分だけを
右側G列~に反映したいので表1でE7が「売上」に
変更されれば変更した瞬間に「B7:E7」ノセル情報
が「Q2:T2」のセルに表示するようにしたいです。

関数で表現したいですが、
無理ならボタンを一つ作ってクリックすれば表示できる
マクロでの表現もOKです。

回答お願い致します。

補足kkyy5223様、回答ありがとうございました。
シートモジュールにマクロをコピペした所やりたい事が
成功しましたが、完璧すぎて不具合が出てしまいました
ので訂正マクロのご教授をお願いします。

教えてもらった方法だと「売上」と入力した瞬間
関数のように右セルに表示が可能になりましたが
「あっ間違えた、支払いだった」という事が起きて、
一度「売上」に選択したセルを「支払い」に変更すると、
右側に一度表示された内容は消えずにそのまま
残ってしまいます。なので、シートモジュールにマクロを
組む方法でなく通常モジュールとしてマクロを設定し、
ボタンを設置してクリックで内容が飛んでいく方法を
教えて下さい。G列~の内容はボタンを押すたびにその
ボタンON時の「売上」になっている部分がG列から
スタートして表示してくれるマクロのほうがありがたいです。
よろしくお願いします。

プルダウン,プルダウン選択,B2,E7,E4,5 Then Exit Sub,End If

閲覧数:
77
回答数:
1
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

kky********さん

2017/7/708:13:53

次のマクロにすればボタンを押して実行でなく、E列に入力すると同時に実行します。

【シートモジュールに】下記をコピペしてテストしてみて下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Row = 1 Or .Column <> 5 Then Exit Sub
If .Count > 1 Then
MsgBox "入力は一つのセルごとにして下さい"
Exit Sub
End If
If .Value = "売上" Then
Application.EnableEvents = False
Range("B" & .Row & ":E" & .Row).Copy Destination:=Cells(2, Cells(2, Columns.Count).End(xlToLeft).Column + 2)
Application.EnableEvents = True
End If
End With
End Sub

  • kky********さん

    2017/7/716:39:08

    補足拝見しました。

    それでは売上と入力した場合に瞬時に蓄積ではなく、ボタンを押してて、またG列からを削除してやり直しという事でいいのですか。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

質問した人からのコメント

2017/7/7 17:23:18

補足回答で完璧にやりたい事ができました!本当にありがとうございました!!

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる