• ベストアンサー

ListBoxで追加した行を常に選択状態にしたいのです。

ListBoxで追加した行を常に選択状態にしたいのです。 追加されるたびにスクロールして、最新の追加行を選択状態にしたいのですが、 うまくいきません。 ListBox1.SetSelected(行番号, True)を使用して最新の追加行番号がわかればなんとか なりそうですが、追加行番号の取得方法がわかりません。 どなたかご存知の方がいらっしゃいましたらよろしくお願いします。 また、他の方法(ListBox1.SetSelectedではなく)で良い方法があればご教授下さい。 VB2005です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Me.ListBox1.SelectedIndex = Me.ListBox1.Items.Add((Me.ListBox1.Items.Count + 1) & "番目")

OVERQ
質問者

お礼

ご回答ありがとうございました。 ListBox1.Items.Addの戻り値には追加した行番号が帰ってくるんですね! おかげさまで解決いたしました。 どうもありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • BASIC ListViewの選択された行番号を取得

    ActiveBasic4.23.00を使用しています。 ListViewで、ボタンを押すと選択されている行の番号(ListBoxで言うところのLB_GETCURSEL) を取得したいのですが、それらしい項目が見当たりません。 ご存知の方がいらっしゃいましたら、ご教授ください

  • listbox

    listboxに文字を追加しているのですが、表示されているlistboxの枠を越えてしまうとスクロールバーが表示され文字が見えなくなります。listboxで追加した文字が確認できるように自動でスクロールする方法がありませんか。

  • リストボックスの1行目を選択状態にする

    リストボックス 何も選択していないのなら、1行目を選択状態にする というようにするにはどうすればいいでしょうか? 今は無理やり Sub test() If IsNull(Sheets("Sheet2").ListBox1.Value) = True Then Sheets("Sheet2").ListBox1.Value = "a" End If End Sub としていますが、 「リストボックスの1行目を選択状態にする」 にはどうすればいいですか? リストボックスがどの業も選択してない時に、 画像のようにしたいです。

  • Spreadの選択行の取得について

    いつもお世話になっております。 VB6、Spread3.0の環境でコーディングしています。 Spreadを単一行モードにして、1行だけ選択された 状態で選択された行の行番号を取得したいのです。 Me.vaSpread1.Row = Me.vaSpread1.SelModeIndex Me.vaSpread1.Col = 1 で取得しようとしても、うまくいきません。 どのようにすれば、行番号を取得できるのでしょう? ご存知のかたがおられましたら、よろしくお願い します。

  • VB2015 ListBoxの二次元配列を呼出す

    始めまして。 趣味でVBソフトを作りたいと奮闘中です。 ExcelVBAやC#の簡単ソフトを作った経験があります。 パソコン環境は、W10x64、VB2015です。 ListBoxに2次元配列で下記のように書き込み、選択した行の右側のデータ(欄2)を他のTextBoxに表示させたいのです。 下のデータを2次元配列にして読み込ませる方法と、選択した行の欄2のデータを取り込む方法を教えて頂けると嬉しいです。ListBoxのプロパティのMultiColumnはTrueにしてあります。  欄1 欄2 北海道  550 青森県  138 宮城県  230 東京都  1360 現在は次のようにしてなんとか逃げておりますが、2次元配列でスマートに出来れば嬉しいです。 書き込み ListBox1.BeginUpdate() ListBox1.Items.Add("北海道 , 550") ListBox1.Items.Add("青森県 , 138") ListBox1.Items.Add("宮城県 , 230") ListBox1.Items.Add("東京都 , 1360") ListBox1.EndUpdate() 呼び出し Dim textArray = ListBox1.SelectedItem.ToString.Split(",")  Dim Jinko As Single = Single.Parse(textArray(1)) TextBox.Text = Jinko 宜しくお願い致します。 熊谷

  • spread6.0でShiftキードラッグの行選択

    VB6、spread6.0Jで開発をしております。 spreadの行ヘッダをマウスのドラッグで複数選択した場合に、コード上で行番号を取得したいのですが、どのようにすればいいのか検索しても分からなかったので、教えてください。 ctrlで複数選択するのも必要なので、オペレーションモードは「拡張選択モード」にしているのですが、shiftキーで行選択した状態で、コードで行番号を取得しようとすると、1行分しか取得できていないでいます。 どうか、宜しくお願いいたします。

  • DataGridViewでの追加行の表示について

    VB2005で作成。 DataGridViewを非バインドで作成しました。 追加行のプロパティもtrueにしています。 通常そのまま作成すると新規行が1行だけ空白表示で その下はグレーで何もない状態です。 画面いっぱい(グリッドの画面)にグリッドの行の枠を 表示してほしいとの要望がありました。 つまりデフォルトでグリッドの画面いっぱいにexcel表示のように グリッドの枠を表示してどこからでも入力できるほうが良い ということを言われました。 それが設定か何かをするだけで、簡単できると 思っているので調べてますが、方法が まったく見つからない状態で困っています。 わたしは無理なんじゃないの?と思ってます。 考えているのは、 ・自分である程度の行を最初に無理やり追加して  その行数でイベント(削除、追加、データ保存時など)で  コントロールする。手間がかかりますが仕方ない。 ・設定するプロパティがある(ぜひご教授ください) ・他に回避策がある。(ぜひご教授ください) ・有料のツールにあれば買う。(今あるもので済ませたいので避けたい) 何か良い方法がないでしょうか?よろしくお願いします。

  • C#,listBoxのItem追加についての質問

    C#、listboxについての質問です。 二つのリストボックスがあるとします。 ・listBox1 ・listBox2 listBox1にはアイテムが複数セットされている状態です。 アイテムが選択されいている状態でrightbuttonをクリックすると listBox2にアイテムが移動します(lisytBox1でそのアイテムはremove) もしかしたら間違えてlistBox2に移動する可能性もあるので2から1へ アイテムを戻すlefghtbuttonも用意します。 そこで質問です。 そのときに2から1へ戻ったとき、普通にAdd()するのではなく、移動する前の状態の位置に戻したいのです。 普通にやると末端に追加されます。 ロジックが思いつきません。 お力添えのほどよろしくお願いいたします。

  • Spreadでの複数行選択

    VB6,Spread6で開発しています。 複数行の選択を許した場合、選択された行の取得方法を教えてください。 よろしくお願いします

  • ListBoxを数字Keyで選択したい

    お世話になります。 OSはWin XP Home、Excel2002を使用しています。 EXCELのsheet1にCommandButton1とListBox1を貼り付けて以下のようにコーディングしています。 'Listbox1表示 Private Sub CommandButton1_Click() ListBox1.Visible = True End Sub '使用者はリストボックスのダブルクリックでリストボックスの入力ができる。 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) ListBoxDataSet End Sub '使用者はリストボックスでマウスで選択後EnterKeyで入力ができる。 Private Sub ListBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = vbKeyReturn Then ListBoxDataSet KeyAscii = 0 '←これがないとなぜかEXCELが異常終了するので注意! End If End Sub 'リストボックスで選択したリストを、シートの選択セル(単一)に転記し、 'その後でリストボックスを非表示 Sub ListBoxDataSet() ActiveCell.Value = ListBox1.Text ListBox1.Visible = False End Sub さらにListBox1のプロパティのListFillRangeはA1:B100としており、A列は1から100の連番、B列は上から順に「中山」、「常盤」、「高島」・・・98番目には「吉岡」という名前があります。 現在A列の数字は表示以外の機能は持っておらず、ダブルクリックか、マウスで1クリックで項目選択をした後にEnterKeyで名前だけがActivecellに転記されるようになっています。 100件もの項目をひとつのリストボックスには表示しきれず、スクロールバーで探すのも大変なので、例えば数字Keyで1と打てばすぐに「中山」が選択され、さらにEnterKeyで転送される、98と打てば「吉岡」が選択され・・・という風に機能追加したいのです。 いろいろ調べましたが、方法が分かりませんでした。 よろしくお願いします。

このQ&Aのポイント
  • PCから印刷している最中にPCの電源が意図せずに落ちてしまうトラブルが発生しました。
  • この問題を解決するために試したが、エラーが続いて印刷ができない状態が続いています。
  • 問題解決のために、以下の情報が必要です。パソコンのOSはWindows7で、無線LAN接続をしています。電話回線はKSN回線です。
回答を見る