[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『プルダウンの中身を選択したら別セルに日付が入力されるようにしたい』(yamada)
エクセルでステータス管理をしたくて、とあるプルダウンを選択すると
選択した日付が別セルに入力されるような仕組みを作りたいのですが
いまいち調べても当てはまるものがありません。
プルダウンの中身と入力されるセルを連動させたいと思っているのですが
その場合VBAで指定するんでしょうか。それともVLOOKUP関数などを用いてできるものなんでしょうか。ご教授お願い致します。
< 使用 Excel:Excel2013、使用 OS:Windows10 >
>とあるプルダウンを選択すると >選択した日付が別セルに入力されるような仕組みを
選択後って意味なら 入力規則でリスト選択、そのセルをセル参照させるだけのような。。。 (GobGob) 2019/11/29(金) 11:34
といった感じにしたいのですが、マクロとか使わずともできますでしょうか(;´・ω・)
(VBAは絶賛勉強中の初心者です)
(yamada) 2019/11/29(金) 11:42
VBAならできると思いますが、お勧めできませんね! ショートカットキーでCtrl+;で今日の日付入力できるので、みんなに覚えてもらったらどうですか!?
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address(0, 0) <> "A1" Then Exit Sub Select Case Range("A1").Value Case "対応中" If Range("B1").Value <> "" Then 'B1が入力されていた場合 ElseIf Range("C1").Value <> "" Then 'B1が空欄でも、C1に入力があった場合 Else Range("B1").Value = Date End If Case "対応完了" If Range("C1").Value <> "" Then 'C1が入力されていた場合 ElseIf Range("B1").Value = "" Then 'C1が空欄でも、B1に入力がなかった場合 Else Range("C1").Value = Date End If Case Else If Range("B1").Value <> "" Then '値が消された場合、B1の値は? End If If Range("C1").Value <> "" Then '値が消された場合、C1の値は? End If End Select End Sub
(稲葉) 2019/11/29(金) 13:34
ご丁寧な回答ありがとうございます。
広範囲に指定したい(A1からA10にプルダウンがある)ときは
セル部分を変えればいいのでしょうか。。。
質問だらけで申し訳ありません。
(ほんとにコマンド覚えてもらったほうがエクセル自体重くならないのでいい気がしてます…)
(yamada) 2019/11/29(金) 14:04
こんな感じですかね!? まとめて変更されることもきっとありますよね。 VBA入れても重くならないとおもいますよー。
これいれて、次にいわれるのが「自動で入力されない」→セキュリティでマクロ無効になっていただけ ってオチが見えますね! ご苦労様です!
Private Sub Worksheet_Change(ByVal Target As Range) Dim myTarget As Range Dim A列 As Range Dim C列 As Range Dim B列 As Range Set myTarget = Intersect(Target, Range("A1:A10")) If myTarget Is Nothing Then '何もしない Else Application.EnableEvents = False For Each A列 In myTarget Set B列 = A列.Offset(, 1) Set C列 = A列.Offset(, 2) Select Case A列.Value Case "対応中" If B列.Value <> "" Then 'B1が入力されていた場合 ElseIf C列.Value <> "" Then 'B1が空欄でも、C1に入力があった場合 Else B列.Value = Date End If Case "対応完了" If C列.Value <> "" Then 'C1が入力されていた場合 ElseIf B列.Value = "" Then 'C1が空欄でも、B1に入力がなかった場合 Else C列.Value = Date End If Case Else If B列.Value <> "" Then '値が消された場合、B1の値は? End If If C列.Value <> "" Then '値が消された場合、C1の値は? End If End Select Next A列 Application.EnableEvents = True End If End Sub
※1420 Application.EnableEvents 追記しました (稲葉) 2019/11/29(金) 14:17
ご年配なので、マクロ無効にならないように気をつけます…
なんとかできそうです!!
ありがとうございました(´;ω;`)!!
(yamada) 2019/11/29(金) 15:40
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.