advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 48 for SetPhonetic (0.000 sec.)
[[20091128125254]]
#score: 13344
@digest: 919a272965327019da958dc1ac5f292d
@id: 46611
@mdate: 2009-11-30T10:55:39Z
@size: 5167
@type: text/plain
#keywords: 河村 (24099), 田"" (19277), 川上 (18118), myvalue (16456), 村甲 (14536), 藤川 (14495), 藤"" (14319), 村"" (14319), 上河 (13442), 上"" (12619), svtext (11145), 甲斐 (8365), ーホ (4676), 候補 (4190), 加藤 (3758), ボボ (2360), ンボ (1657), ichinose (1239), ホー (1125), combobox1 (1103), evaluate (1094), 決定 (1093), 名簿 (989), visible (904), 投稿 (879), 動作 (773), 正常 (752), コン (751), ボッ (744), リス (736), clear (685), 名前 (683)
『入力規則のような・・・』(田中)
セルに頭文字を入れると入れるとリストから候補があがるように できるでしょうか? 例えばsheet2に名簿があってsheet1のセルに"k"と入力すると 加藤 川上 河村 甲斐 などのように候補があがるようなかんじですが・・・ 宜しくお願いします。ちなみにXPです。 ---- Sheet2へ下記のリストを作成します。 A B C 1 a k s 2 阿部 加藤 佐藤 3 安西 川上 斎藤 4 安藤 川村 佐川 A1:C4を選択して、挿入→名前→作成 [名前作成BOX]の上端行にチェックをいれて[OK] 以上で、a,k,s の名前が定義されます。 Sheet1のB1に、入力規則→リスト 元の値→ =INDIRECT(A1) A1にa,k,s のいずれかを入力しますと、B1のリストに対応した名前が表示されます。(gon-2) ---- さっそくの御返事ありがとうございました。 やってっみます。 ---- ちょっとご要望とは違いますが・・・、VBAを使うと以前 http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=25488;id=excel こんな投稿をしたことがありました。これをちょっと修正してみると・・・、 新規ブック(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 '←作成したコンボボックスの名前に変更すること 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の経験があるなら、試してみてください。 ichinose ---- ichinoseさん 有難うございます。 さっそく使用させていただいたのですが、 名前を挿入するシートが50行くらいあって そのシートの数が12シートくらいあるので少したいへんです。 もし上記のようなものでユーザーホームを作成して候補で決定したものを 選んだセルに転記できればよいのですが お忙しいところすみません。 ---- >名前を挿入するシートが50行くらいあって >そのシートの数が12シートくらいあるので少したいへんです これだけの記述では、私には仕様がはっきりわかりません。 >もし上記のようなものでユーザーホームを作成して候補で決定したものを http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=25488;id=excel 前回投稿でも提示しましたが、↑これがユーザーフォームの場合です。 もちろん、質問内容が違いますから、まるっきり同じではないですが・・・。 いずれにせよ、前回私が投稿したコードである程度動作の確認はできたのですよね? 正常に動作の確認ができないのなら、その旨を記述してください。 正常に動作することが確認できたなら、これを参考にご自分でコードを考え、 投稿してください。 その上で今度は、もう少しピンポイントの質問をしてください。 ichinose ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200911/20091128125254.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97048 documents and 608235 words.

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