[[20041029231447]] 『リストボックスを使用頻度で並び替える』(octn) ページの最後に飛ぶ

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

 

『リストボックスを使用頻度で並び替える』(octn)
 こちらの学校で習った簡易リストボックスを便利に使用しています
 しかし ボックス内の選択支が20以上になる場合もありまして 何とかならない
 物かと・・・ たとえば 選択の都度 語句(セル)がリストボックスの最上位に 
 並び変わると良いと思うのですが この様なことはできますか?
 よろしくお願いいたします 
 Excel2003 WindowsXP

 マクロを使えばできると思います。
 リストが選択されたら、sheetモジュールのChangeイベントで、
 リスト元になっているセル範囲のデータを並べ替えればできるかと思います。
  (INA)

INAさん 回答して下さってありがとうございます。

 sheet1のA1にリストボックスがあり sheet2のA1:A20がリスト範囲の時 
 リストデータの下方(たとえば項目18)を選択入力します
 次回入力時には 項目18 がリスト範囲の最上位に並び変わっていて
 できれば リストボックスのスクロールバーも上位に戻したいのですが・・

 よろしく ご教授ねがいます (octn)

 sheet2 A1:A20 に 名前を data と定義して、
 sheet1 A1 に入力規則のリストを設定してお試し下さい。

 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range
    If Target.Address(0, 0) <> "A1" Then Exit Sub

 With Worksheets("Sheet2")

    Set r = .Range("A1:a20").Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)

    If r Is Nothing Then Exit Sub

    r.Cut
    .Range("A1").Insert Shift:=xlDown

    .Range("A1:A20").Name = "data"
 End With
 End Sub

     (INA)

 INAさん おはようございます 
 うまく行きました すばらしいです!
 しかし 実際のシートには他にもリストボックス(B1とC1)がありまして
 リスト範囲はそれぞれ sheet2のB1:B20、C1:C20 です
 同じように 並び替えることは できるでしょうか(octn)

 どうぞ〜。

 Private Sub Worksheet_Change(ByVal Target As Range)
 Dim r As Range

 With Worksheets("Sheet2")

    Select Case Target.Address(0, 0)
    Case "A1"
        Set r = .Range("A1:A20").Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
    Case "B1"
        Set r = .Range("B1:B20").Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
    Case "C1"
        Set r = .Range("C1:C20").Find(Target.Value, LookIn:=xlValues, LookAt:=xlWhole)
    End Select

    If r Is Nothing Then Exit Sub

    r.Cut
    .Cells(1, r.Column).Insert Shift:=xlDown

    .Range("A1:A20").Name = "data1"
    .Range("B1:B20").Name = "data2"
    .Range("C1:C20").Name = "data3"
 End With
 End Sub
 
 *名前の定義は、A=data1,B=data2,C=data3 です。
    (INA)

 早速対応していただき ありがとうございます
 最近目がショボ付いてきたので これで入力作業がラクになります
 また判らない事で質問させて頂くことがあるかと思いますので
 よろしくお願いいたします
 ほんとうにありがとうございました(octn)
   

コメント返信:

[ 一覧(最新更新順) ]


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