VBAでコード化されたデータ検証ボックスがあります(下記を参照してください)。データ検証セルに人が入力したときに読み込みが完了し、オートコンプリートを行う方法が見つかりません。データ検証オートコンプリート
ほとんどの人がコンボボックスを提案していますが、コンボボックスを特定のセルの内側に配置する方法は見つかりませんでした。誰かがコンボボックスが存在する行をコピーしようとすると、別の行を別のコンボボックスに貼り付けることができるようにしたい。
データ検証では、これは既に可能ですが、自動補完機能はありません。
ご協力いただきましてありがとうございます。
Sub DataValidation()
Dim WS As Worksheet
Dim WS2 As Worksheet
Dim Range1 As Range, Range2 As Range
Set WS = ThisWorkbook.Worksheets("Report")
Set WS2 = ThisWorkbook.Worksheets("MachineList")
Set Range1 = WS.Range("A7") 'This is the cell the data validation is placed in.
Set Range2 = WS2.Range("A2:A64") 'This will change if the Machine List gains or loses machines.
With Range1.Validation
.Delete
.Add Type:=xlValidateList, _
Formula1:="='" & WS2.Name & "'!" & Range2.Address
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = "Machine Name"
.ErrorTitle = "ERROR: Invalid Machine"
.InputMessage = "Please enter or select a machine..."
.ErrorMessage = "You have entered an invalid machine. Please try again."
.ShowInput = True
.ShowError = True
End With
End Sub
[https://www.extendoffice.com/documents/excel/2401-excel-drop-down-list-autocomplete.html](https://www.extendoffice.com/documents/excel/2401- excel-drop-down-list-autocomplete.html)help? –
これに最も簡単なやり方は、ドロップダウンリストの内容で隠れた行を束ねることです。こうすると、これらの値が上記のセルにあるため、ユーザーが入力すると、Excelは上記の行の値に基づいてオートコンプリートしようとします。それらのコンテンツ行が非表示になっていることを確認してください。 – tigeravatar
こんにちはtigeravatar、私は仕事にそれを得ることができませんでした - それはリストが短い場合はそれを行いますが、私は私のリスト全体を入れて、それはdoes not autocomplete ...また、リストは、可能であれば、このルートを避けたいと考えています。私はあなたの助けに感謝します! – mitchmitch24