2016-05-20 7 views
3

次のコードを使用して、別のシートからドロップダウンリストにデータを挿入します。これは、ユーザが別のドロップダウンリストから特定の選択肢を選択するときに達成される。VBAを使用してリストが埋め込まれたExcelでのドロップダウン時の自動入力

lstRow = Sheets("Data Sheet").Range("D" & Rows.Count).End(xlUp).Row 
Sheets("Data Insert").Range("C3").Select 
With Selection.Validation 
    .Delete 
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _ 
    xlBetween, Formula1:="='Associated British Ports'!$G$7:$G" & lstRow 
    .IgnoreBlank = False 
    .InCellDropdown = True 
    .InputTitle = "" 
    .ErrorTitle = "Invalid Selection" 
    .InputMessage = "" 
    .ErrorMessage = _ 
    "Please select a user from the list or select New User as the configuration type." 
    .ShowInput = True 
    .ShowError = True 
End With 

ユーザーが少数の文字で入力すると、リストを検索し、それを含まないものを排除する機能を追加したいと考えています。 I.E。私は、ドロップダウンリストで、以下の持っていると言う: Aトーマス C・スミス グラハム トンエバンス のダービッツ Bのマシューズ

そして「目」でユーザーの種類 残りの値は

AでなければなりませんfはThomas c Smith B matthews

ユーザーがA Th ...の形式で名前を入力する必要がある単純化さえのバージョンですら、上記を実行できない場合はトーマスを返すことができます。

私はこのhttp://www.ozgrid.com/Excel/autocomplete-validation.htmこのExcel data validation with suggestions/autocomplete

を見てきましたが、私は上記のコードでこれを統合するかどうかはわかりませんと思ういけない、またはそれも可能です!

誰かが私を助けてくれますか?

TIA :)

+0

何が欲しいですか?あなたはあなたの質問のその部分を失ったようです - "私は見たかった..." –

+0

申し訳ありません、それを追加しました!何が起こったのか分からない! – TechyChick94

答えて

2

ここに私のSAYT(Search As You Type)機能があります。私のフォームは、リストの検索に使用できるユーザリストとテキストボックスコントロールのリストボックスコントロールを持っています。

Private Sub txtSearch_Change() 
    Dim x As Integer 

    lstUsers.ListIndex = -1 
    For x = 0 To lstUsers.ListCount - 1 
     lstUsers.ListIndex = x 
     If InStr(1, LCase(lstUsers.Text), LCase(txtSearch.Text), vbTextCompare) > 0 _ 
     Or InStr(1, LCase(lstUsers.List(x, 1)), LCase(txtSearch.Text), vbTextCompare) > 0 _ 
     Then 
      Exit Sub 
     End If 
    Next x 
End Sub 

Private Sub txtSearch_KeyPress(ByVal KeyAscii As msforms.ReturnInteger) 
    If KeyAscii = 13 Then 
     txtSearch.Text = lstUsers.Text 
    End If 
End Sub 
入力すると

、すべてのキーストロークとtxtSearch_Changeイベントが発生し、それが最初の一致を検出し、それを選択するまでには、リストボックスの値をループします。また、KeyPressイベントをチェックして、ユーザーがEnterキー(ASCII 13)を押して検索を自動完了するかどうかを確認します。私は大文字と小文字を区別しません(LCaseのすべて)が、大文字と小文字を区別するように簡単に変更することができます(または、ユーザーが大文字と小文字を区別できるようにチェックボックスを追加することもできます)。

+0

ありがとう、私は明日これを試し、あなたに知らせるでしょう:) – TechyChick94

+0

あなたがタイプとして検索するニースアプローチ –

関連する問題