掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
テキストボックスに入力した数字を小さい順に並べてラベルに表示するには? (ID:103176)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
さらに別案。ListBox のソート機能を使う手法です。 '-------------------------------- ' 画面上に ListBox を貼っておき、そのプロパティを ' Sorted = True、Visible = False にしておきます。 ' ' そのほか、結果表示用の Label を一つと、数値入力用に ' TextBox コントロール配列を複数貼っておきます。 ' 画面上に ListBox を貼っておき、そのプロパティを ' Sorted = True、Visible = False にしておきます。 ' ' そのほか、結果表示用の Label を一つと、数値入力用に ' TextBox コントロール配列を複数貼っておきます。 Option Explicit Private Sub Form_Load() Dim txt As TextBox For Each txt In Text1 txt.Text = "" Next End Sub Private Sub Text1_Change(Index As Integer) Dim txt As TextBox List1.Clear ' 数値順に並び変わるよう、先頭に"0"を付与した固定長文字列として登録する。 On Error Resume Next For Each txt In Text1 ' マイナスの値にも対応させるため、+10000000000 の補正を加えている。 List1.AddItem Format(10000000000@ + CLng(txt.Text), "00000000000") Next On Error GoTo 0 Dim s As String Dim i As Integer For i = 0 To List1.ListCount - 1 s = s & vbCrLf & CStr(CCur(List1.List(i)) - 10000000000@) Next Label1.Caption = Mid(s, 3) End Sub '-------------------------------- かつて(VB2〜VB4 頃?)は、この ListBox によるソート手法も時折見かけましたが、 最近ではあまり見かけませんね。照合順序が OS 依存だったりして使いにくいからかな…?
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.