さらに数日がたちました
それからさらに、数日がたちました。
泉先輩は、オーグチさんから依頼された「リスト入力の補助機能」の仕上げ作業に入っています。
「通常業務と掛け持ちで開発するのは大変ね…。
すっかり遅くなっちゃったわ」
カタカタとキーボードを叩いていた手が、ピタリと止まります。
If リスト範囲設定(ListName, ListRange) = True Then
'---ここからValidationでリストを設定するでござる
Target.Validation.Delete
Target.Validation.Add _
Type:=xlValidateList, _
Formula1:="=リスト設定!" & ListRange.Address
End If
「うん。Validationのところは、こんな感じかしら?
まずは、Deleteメソッドで入力規則を削除、続けてAddメソッドで入力規則を追加する…と」
泉先輩は、小声でブツブツとつぶやきながらコードを確認していきます。
「引数のTypeにはxlValidateListでリストを、
引数のFormula1にはリストの元になるセル範囲を指定したいから…」
泉先輩は標準モジュールをダブルクリックして、マクロの記録のコードを確認します。
「うん。Formula1の参照式でセル範囲を設定している部分を、
こんな感じでListRangeに取得したアドレスに置き換えてやればいいんだわ」
Formula1:="=リスト設定!$B$2:$B$12"
↓
Formula1:="=リスト設定!" & ListRange.Address
※別シートのセル範囲を直接指定できるのは、Excel 2007以降のバージョンになります。