advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 28 for 平均 平日 (0.001 sec.)
平均 (1366), 平日 (459)
[[20100907111025]]
#score: 10343
@digest: 5af73ae426560c5ce4d62d406e5ad1f0
@id: 51208
@mdate: 2010-09-09T00:44:02Z
@size: 7298
@type: text/plain
#keywords: 備プ (29523), 田"" (19277), 河村 (18074), myvalue (16456), 川上 (10871), 候補 (6983), 仮名 (4284), 人名 (3721), ボボ (3542), の候 (3334), 補が (3158), ンボ (2486), 準備 (2020), 一文 (1846), ト内 (1842), コン (1805), トコ (1714), combobox1 (1654), ichinose (1652), モジ (1518), ジュ (1451), リス (1350), ラム (1300), sample (1289), 実現 (1114), ボッ (1042), ュー (971), 一例 (964), クス (956), 発生 (924), スト (878), ログ (857)
『入力支援』(ぎん)
教えてください 「SHEET1」に名前の定義でリストを作成してあります 「SHEET2」で入力規則設定したリスト(▼)から選ぶようにしてあります リストの数が多いので選ぶのに面倒です 一文字を入力したらオートコンプリートのようにリスト内の候補が出てくるようにで きるのでしょうか? 又、他に良い方法があればよろしくおねがいします Excel2003 WindowsXP ---- ご参考 [[20021128120235]] 9387 『同じ文字の入力』(ばた) (こだぬき) ---- 過去ログ探せなかったので。 リスト範囲に下記のようにインデックスを追加。 入力規則のセルに「え」と書き込んでから、プルダウンすれば 「え」のあたりから表示されます。 BJ あ 青田 明石 い 飯村 飯野 う 植木 上野 え 江成 遠藤 お 大田 岡田 か 菅野 き 木村 く 工藤 国枝 け 見城 こ 小村 小茂田 ---- なるほど! やってみます ありがとうございました。 (ぎん) ---- VBAを知っているなら、 [[20091128125254]] こんな方法もあります。 ichinose ---- ichinose さま ご回答ありがとうございます VBAは全くわかりませんがやってみました (理想的な処理だったので) 下記@.Aにどうすればいのかおしえていただけますか @・・・準備プログラムはそのままでいいのですか 新しい標準モジュールに文字もコードも貼り付けるのでしょうか? A・・・ここがエラーとなります「コンパイルエラー 変数が定義されたいません」 よろしくお願いします。 新規ブック(Sheet1、Sheet2というシート名が存在する)にて 標準モジュールに準備プログラム '====================================================================== Sub mk_sample() Dim r As Range With Worksheets("sheet2").Range("a1:a12") .Value = Evaluate("{""加藤"";""川上"";""河村"";""甲斐"";" _ & """麻生"";""浅田"";""上田"";""一の瀬"";" _ & """内田"";""井上"";""市村"";""遠藤""}") .Phonetics.CharacterType = xlHiragana .SetPhonetic .Offset(0, 1).Formula = "=phonetic(a1)" End With With Worksheets("sheet1") Set r = .Range("a1") .OLEObjects.Add ClassType:="Forms.ComboBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=r.Left, Top:=r.Top, Width:=r.Width + 15, Height:=r.Height + 4.5 End With End Sub 上記のmk_sampleを実行してみてください。 Sheet2のA1:B12に名簿リストのサンプルが作成され、 Sheet1のセルA1付近に「コントロールツールボックス」のコンボボックスが配置されます。 --------------------------------------------------------------------------------------------- ここまでは動いたのですが ここから下の部分がわかりません 実行した後に Sheet1のモジュールに ・・・・・ @ '============================================================================== Option Explicit Dim ev As Boolean 'Changeイベントの有無フラグ True--発生不可 False---発生可能 Private Sub ComboBox1_Change() Dim rng As Range 'リストデータのセル範囲 Dim svtext As String 'コンボボックスのTextの内容の一時保存 Dim myvalue As Variant If ev = True Then Exit Sub With ComboBox1 '←作成したコンボボックスの名前に変更すること ・・・・ A svtext = .Text If .Text <> "" Then With Worksheets("sheet2") Set rng = .Range("b1", .Cells(.Rows.Count, "b").End(xlUp)) End With If rng.Count = 1 Then If rng.Value = "" Then .Clear Exit Sub End If End If myvalue = Evaluate("transpose(if(mid(" & rng.Address(, , , True) & ",1," & Len(.Text) & ")=""" _ & .Text & """," & rng.Offset(0, -1).Address(, , , True) & ",""" & Chr(&HFF) & """))") If UCase(TypeName(myvalue)) <> UCase("variant()") Then myvalue = Array(myvalue) End If myvalue = Filter(myvalue, Chr(&HFF), False) '↑あり得ない文字を使用してフィルタをおこなう ev = True .Clear .List() = myvalue .Text = svtext ev = False If UBound(myvalue) >= 0 Then .DropDown End If Else .Clear .Visible = False .Visible = True .Activate '↑ここは、こうしないと残像が残るので(Excel2000) End If End With End Sub 以上です。例えば、コンボボックスに か と入力すると 加藤 川上 河村 甲斐 が候補として表示されます 続いて かわ と入力すると、川上、河村が候補として表示されます Sheet2のB列のふり仮名部分の箇所をロ-マ字にすれば、希望の動作になると思います ---- >VBAは全くわかりませんがやってみました 全くわからないなら、実現は、現時点では大変ですよ!! 私は、ぎんさんがなさりたいような処置を一例として、提示したに過ぎません。 実際には、 >一文字を入力したらオートコンプリートのようにリスト内の候補が出てくるようにで きるのでしょうか? という候補データがどんなデータなのかも知りませんし・・・。 提示したコードはこの「リスト内の候補が出てくる」というデータが 人名のようなデータだった場合、振り仮名で検索し、候補を出すような仕様になっています。 よって、候補データの内容によっては、修正も必要になってきます。 mk_sampleというコードは、コンボボックスの作成とリスト内の候補として使用するデータ例(適当な人名とその振り仮名)を作成しています。 >準備プログラムはそのままでいいのですか 準備プログラムとは、mk_sampleというプログラムのことですが、 別にあってもかまいません。 実際のデータは違うでしょうから >新しい標準モジュールに文字もコードも貼り付けるのでしょうか? ちょっと意味がわかりませんが、実際のデータは、 このmk_sampleを実行した結果、作成されるSheet2のA列、B列のように 人名と振り仮名というデータをSheet2のA列、B列に直接入力するのですよ!! この時、実際のデータが人名のように漢字を含まないなら、コード修正も必要になるかもしれません。 >ここがエラーとなります「コンパイルエラー 変数が定義されたいません」 おそらくは、 >>実行した後に Sheet1のモジュールに と記述しています。貼り付けるモジュールが違うと思います。 Option Explicit Dim ev As Boolean 'Changeイベントの有無フラグ True--発生不可 False---発生可能 Private Sub ComboBox1_Change() ・ ・ 上記で始まるコードは、コンボボックスが作成されたSheet1のモジュールに 貼り付けます。 Sheet1のシートタブを右クリックし、表示されたメニューから コードの表示をクリックした時に表示されるモジュールに貼り付けます。 繰り返しますが、提示したコードは、 >一文字を入力したらオートコンプリートのようにリスト内の候補が出てくるようにで きるのでしょうか? というご質問に対し、VBAを使えばできますよ という一例を示したに過ぎません。 上記のコードを適切に貼り付ければ、VBAを使えば、それが実現できることは わかると思います。 が、ぎんさんの扱いたい実際のデータでの実現は、コードを修正しなければ ならない場合もあります。VBAを知らなければ、ある程度の勉強は必要ですよ。 簡易例での動作を確認して、この方法で行くか否かはご自分で判断し決めてください。 ichinose ---- ichinose 様 ご回答ありがとうございます 簡易例での動作を確認できました まさにやりたいことそのものだったので挑戦しました(人名とふりがな) With Worksheets("sheet2") Set rng = .Range("b1", .Cells(.Rows.Count, "b").End(xlUp)) 実際データでのシート名とふりがなのあるセル番号に変更しましたらできました ありがとうございました。 (ぎん) ...
http://www.excel.studio-kazu.jp/wiki/kazuwiki/201009/20100907111025.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97026 documents and 607984 words.

訪問者:カウンタValid HTML 4.01 Transitional