[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『入力規則』(ポー)
今、入力規則(ドロップダウンリスト)に名前が入っていて、そこから名前を選択するようにしています。
そこで、そのリスト内にない新規の名前を入力したら
メッセージボックスが出てきて、(「新規の名前を登録しますか?」みたいな・・・)
Yes Or No でYesだったらリストに追加するみたいなプログラムが出来たら教えていただきたいです。お願いします
エクセル2002 XP です
面白そうなので、勉強かてがて作って見ました。 Sheet2のA1〜名前が入っていて範囲名が「リスト」としています。 Sheet1のA1に入力規則のリストを設定しています。Sheet1モジュールに Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Dim LastR As Long
If Target.Address <> "$A$1" Then Exit Sub
With Worksheets("Sheet2") LastR = .Range("A36636").End(xlUp).Row
Set c = .Range("A1:A" & LastR).Find(Target.Value, , xlValues, _ xlWhole, xlByColumns, xlPrevious, True)
If c Is Nothing Then If vbNo = MsgBox("この名前をリストに追加しますか?", _ vbYesNo, "名前の追加の確認") Then Exit Sub End If
.Range("A" & LastR + 1).Value = Target.Value ActiveWorkbook.Names.Add Name:="リスト", _ RefersTo:="=Sheet2!A1:A" & LastR + 1 End If End With End Sub (ケン)
If Target.Address <> "$B$1" Then Exit Sub (ケン)
おはようございます。 ちょっとケンさんのコードをお借りして私なりにやってみましたがどうでしょうか? 入力規則もコードの中で作ります。 D1に何か入力してみてください。 Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim c As Range Dim LastR As Long If Target.Address <> "$D$1" Then Exit Sub Application.EnableEvents = False With Worksheets("Sheet2") LastR = .Range("A36636").End(xlUp).Row Set c = .Range("A1:A" & LastR).Find( _ Target.Value, , xlValues, xlWhole, xlByColumns, xlPrevious, True) If c Is Nothing Then If vbNo = MsgBox("この名前をリストに追加しますか?", _ vbYesNo, "名前の追加の確認") Then Application.EnableEvents = True Exit Sub End If .Range("A" & LastR + 1).Value = Target.Value .Range("A1:A" & LastR + 1).Name = "リスト" End If End With With Target.Validation .Delete .Add Type:=xlValidateList, Formula1:="=リスト" .ShowError = False End With Application.EnableEvents = True End Sub 失礼!入力規則を作る順番が逆でしたね。訂正しました。 またまた、失礼!追加しない時に Application.EnableEvents = True を追加しました。すみません。 どうでしょうか? (SoulMan)
Sheet1モジュールってのはどういう意味でしょう?
モジュールってシートごとに区別できるんですか??
ありゃ、シートの見出しを右クリック→コードを表示させてそこに貼り付けます。 どうでしょうか? サンプルです。 右クリックして対象ファイルを保存してからお試しください。 http://ryusendo.no-ip.com/cgi-bin/upload/src/up0298.xls もう、寝ますzzzzz (SoulMan)
回答じゃなくてごめんなさい。 古いスレッドを上げられたようですが、貴方はどなたですか〜? (ポー)さん? 最近またハンドルネームのない投稿が目立っているように感じます。 ご自分が質問されたスレッドであっても、誰の発言なのかわかるようにハンドルネームを 記入しましょう? もちろん回答される方もですよ〜? また、過去の内容を参照していてわからないことがあったのなら、新しくスレッドを 作って、どのスレからの引用なのか明示のうえ、質問されたほうがよいのではと思います。 この場をお借りして、一利用者からのお願いでした。m(_ _)m (かなれっと)
cf. (みーたん)さんの続きはこちらで解決済みです。 [[20060825122701]]『簡易リストBoxへの自動追加』(みーたん)
(HANA)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.