[[20140925000322]] 『ドロップダウンリストにない値を直接入力すると、』(さな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ドロップダウンリストにない値を直接入力すると、自動でドロップダウンリストに追加させたい。』(さな)

F列の企業リストを元に、B2セルにドロップダウンリストを作っています。

すでに企業リストに入力済みのものはいいのですが、企業リストに未入力の企業が出てきた場合、B2セルに直接入力した値を、自動で企業リストに追加することはできますでしょうか?

次回入力するときに出てくる様にしたいのです。

また、このブックはひな形として使用していて、ブックを開いたらまず"名前を付けて保存"をします。適宜名前を付けたブックのB2セルを入力し、企業リストに未入力の場合は、ひな形の企業リストに追加したのですが、できるものなのでしょうか?

どなたかご教授おねがいいたします。

< 使用 Excel:Excel2007、使用 OS:WindowsXP >


このURLの
「リスト範囲を自動でのばす」を参照してください。

h ttp://www.eurus.dti.ne.jp/~yoneyama/Excel/n-kis_list.htm
(wisemac21) 2014/09/25(木) 01:56


遅くなりすみません

範囲を伸ばすオフセットは理解したのですが
↓この部分でレーザーカラーと手入力するのを自動化して省く方法はないでしょうか?
(B2に直接入力した言葉を、手入力することなく企業リストに入れる方法)

「Sheet2のA4セルに『レーザー(カラー)』 A5セルに『ドットインパクト』と入力します。
Sheet1のA1セルのドロップダウンメニューを開くと、4個の選択肢に増えました。」

(さな) 2014/09/26(金) 06:32


 1)B2セルは入力規則で「リスト」として、F列の「企業リスト」を参照している。
 2)F列の企業リストに無い企業名をB2に入力することがある。
 3)企業リストに無い企業名をB2に入力したら、次回以降B2の「リスト」に出るようにしたい

 ということでいいんですか?

 まずこれを実現するためにはマクロになります。

 次にこちらについて、確認しておくことがあります。
 >また、このブックはひな形として使用していて、ブックを開いたらまず"名前を付けて保存"を
 >します。適宜名前を付けたブックのB2セルを入力し、企業リストに未入力の場合は、ひな形の
 >企業リストに追加したのですが、できるものなのでしょうか? 

 1)「ブックを開いたらまず"名前を付けて保存"」これはAutoOpenマクロで実行されていますか?
 2)雛型は常に決められた場所にありますか?
 3)雛型は書込みパスワードや読取専用プロパティを設定していますか?
 4)雛型はテンプレート(.xlt(x))でしょうか?それともマクロ有効ブック(.xls(m))ですか?

(稲葉) 2014/09/26(金) 08:58


つたない説明にも関わらず、書いていただいた通りの内容を行いたいです。

1)「ブックを開いたらまず"名前を付けて保存"」これはAutoOpenマクロで実行されていますか?

     A.マクロは一切使用していません。手動でファイルから名前をつけて保存をしています。

2)雛型は常に決められた場所にありますか?

     A. はい。常に決められたサーバーにあります。

3)雛型は書込みパスワードや読取専用プロパティを設定していますか?

      A.雛形と申しましたが、実務的には「共用で使う原紙」くらいですので
      今のところ何も設定していません。
      ただ、たまに間違って原紙に書き込んでしまう人がいて困るのですが
      そういう時にも効果がある機能なのでしょうか?

4)雛型はテンプレート(.xlt(x))でしょうか?それともマクロ有効ブック(.xls(m))ですか?

     A.     .xlsxです。
(さな) 2014/09/26(金) 18:46

 3)の「書込みパスワード」は私も使っています。
   原紙に書くどころか、あいつらシートコピーして様式変えたりね!
   上書きされないので非常に便利だと思います。
   またマクロから書込みパスワードを入力して開くことも出来ますので、是非ご検討を。
http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=009823

 4)の時点で、マクロ有効ブックではないようですが、
 これをマクロ有効ブックにすることは可能ですか?

 もし可能なら以下の質問にもお答えください。
 雛型のブック名(仮でも構いません)
 企業リストがあるシート名
 企業リストがある列(F列のままでいいですか?)

 OKなら作ってみます。

(稲葉) 2014/09/26(金) 18:55


3)の書き込みパスワード是非使ってみたいと思います!
マクロは分かり兼ねますが、うちの職場だと有効活用できそうです^^;

>4)の時点で、マクロ有効ブックではないようですが、
> これをマクロ有効ブックにすることは可能ですか?

    A.可能です。

> 雛型のブック名(仮でも構いません)

    A.「結果報告書.xlsm」でお願いします。

> 企業リストがあるシート名

    A.「結果入力」です。
       ちなみにB2とF列は同じこのシートにありますが問題ないでしょうか?

> 企業リストがある列(F列のままでいいですか?)

    A.今はF列です。
      名前をつけるかどうかということでしょうか?

(さな) 2014/09/26(金) 20:26


 たたき台です。
 シートモジュールに入れてください。
 パスや書き込みパスワードは適宜治してください。
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address(0, 0) <> "B2" Then Exit Sub
        If Target.Value = "" Then Exit Sub
        Dim リスト As Range
        Dim パス As String
        Dim 書き込みパスワード As String
        '//変数の設定
        Set リスト = ThisWorkbook.Sheets("Sheet2").Range("F1:F1000")
        パス = "C:\エクセルの学校\結果報告書.xlsm"
        書き込みパスワード = "1234"
        If Dir(パス) = "" Then MsgBox "パスが間違っています。": Exit Sub

        '//リストの検索
        If ThisWorkbook.Name = Dir(パス) Then MsgBox "名前を付けて保存してから入力を開始してください": Exit Sub
        If Evaluate("NOT(ISERROR(MATCH(B2," & Split(リスト.Address(0, 0, , True), "]")(1) & ",0)))") Then Exit Sub
        If MsgBox(Target.Value & "をリストに追加します。よろしいですか?") = vbNo Then Exit Sub

        '//開いているブックにリストに追加し、リストをコピー
        Dim WB As Workbook
        Dim リストデータ
        リスト(リスト.Count).End(xlUp).Offset(1).Value = Target.Value
        リストデータ = リスト.Value

        'ブックを開いていたら一度閉じて、書き込みパスワードを入力して開きなおす
        On Error Resume Next
        Set WB = Workbooks(Dir(パス))
        If Err = 0 Then WB.Close savechanges:=False
        Set WB = Workbooks.Open(Filename:=パス, WriteResPassword:=書き込みパスワード)
        On Error GoTo 0

        '//雛形ブックに追加
        Set リスト = WB.Sheets(Split(Split(リスト.Address(0, 0, , True), "]")(1), "!")(0)).Range(リスト.Address(0, 0))
       リスト(リスト.Count).End(xlUp).Offset(1).Value = Target.Value
        WB.Close savechanges:=True
    End Sub

(稲葉) 2014/09/26(金) 20:39


ありがとうございます。やりたかったことそのものができました。
本当に助かりました。コードについても勉強させてもらいます。

それと話がそれるかもしれないですが、例えばF列に

1.「あいうえお」




19.「らっぱ」
20.「らりるれろ」
21.「らん」

と複数あった場合に、規定の8行を超えるとスクロール表示になると思うのですが、スクロールが不便で、B2セルに「ら」と途中まで入力すると「ら」で始まる物の周辺(19,「らっぱ」)に飛んでいくような仕組みは作れるのでしょうか?
 

(さな) 2014/09/27(土) 09:56


 こんな過去ログならありましたが。。。
[[20130414233352]] 『入力規則のリストが多いので抽出したい』(きりん)
  
(HANA) 2014/09/29(月) 17:18

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.