平素は皆様にご教授いただき、まことにありがとうございます。
リストボックス内で、時間で昇順にソートをかけたいと思い、サイトを巡回して似たようなものを見つけたので、少し変えて作ってみました。
結果として、エラーは出ずに、昇順ソートしてくれていますが、、以下のような問題に直面しています、、画像もお付けいたします。
1、2列目から1列目に寄ってしまう
2、ソートすると、1桁時刻と2桁時刻をわけてしまう
という感じです。
1次元配列(専門用語の理解とか使い方間違ってると思います。。。以下同じ)でなくて、2次元配 列で放り込む方法ってあるんでしょうか、、
それと、列のみ削除するって可能なんでしょうか、、どこにも載ってないです、、いずれも。。
よろしければ、ご教授いただければ幸いです。。毎回もうしわけございません。。
Private Sub CommandButton12_Click()
Dim column1 As String
Dim column2 As String
Dim i As Long
With CreateObject("System.Collections.ArrayList")
For i = 0 To ListBox1.ListCount - 1
column1 = ListBox1.List(i, 0)
column2 = ListBox1.List(i, 1)
.Add column2
Next i
.Sort
ListBox1.Clear
For i = 0 To .Count - 1
ListBox1.AddItem .Item(i)
Next i
.Clear
End With
End Sub
No.1ベストアンサー
- 回答日時:
こんばんは!
質問文を拝見すると
何か操作そのものを難しくしているような気がします。
ちなみに今回は単なるアドバイスになりますが・・・
自分であれば
どこか使っていない列を利用し、リストボックスに表示するデータを作成し
そこで昇順等の操作を行う → 必要行だけリストボックスに表示する!
といった流れにします。
※ 印刷するシートにその作業用の列を作成した場合は
「印刷設定」で印刷したい範囲だけを指定すればそこは印刷されません。m(_ _)m
毎度ご回答くださり、誠にありがとうございます。
そうですね、、それが素直なやり方なのだろうと思いますが、ちょっと作ってみて、結構楽だなぁとは思います。自己満足かもしれませんが^^;
ちなみにですが リストボックスをリストビュアーに置き換えるということは可能ですか?
No.4
- 回答日時:
ListViewコントロールの使い方
http://officetanaka.net/excel/vba/listview/
どのように使うものなのかを知り、置き換えられるかを判断する。
ただListBoxで悩んでいる(並び替えなど)のなら、置き換えても同じ悩みを持つだけではないかなと。
何度もお返事を頂きまして、申し訳ございません。
どうやら、見出しもつけられて、ソートもできるようです。やってみる価値はあるかなと思いますので、やってみます。
情報までいただきまして、ありがとうございます。
No.2
- 回答日時:
直接コードは書けませんので疑問点だけに対して。
>1、2列目から1列目に寄ってしまう
ArrayList に .Add column2 2列目だけ格納していれば取り出しても1列しか出せませんよ。
>2、ソートすると、1桁時刻と2桁時刻をわけてしまう
『わける』と言う表現とは違います。ただ単にListBoxに入っている値では『時刻』ではなく『文字列』であると言う事。
しかも格納する際にも文字列から時刻に変換はされてませんし。
ここはNo.1さんのアドバイスにもあるようにシートにリストを書き出して並び替えた方が、セルに入れられた『時刻みたいな文字列』をExcelは『時刻』と扱うと思います。
検証できないので絶対とは言えませんが多分そう認識すると思います。
並び替えた後にListBoxへ戻せば宜しいかと。
いつもご回答いただきまして、ありがとうございます。
付け加えてみたら、数字の後に名前が一直線になって出てきました。やっぱり、一列なんですかね、、あの中身って、、
配列なんて見ていると、全身にじんましんが多発しておりますが、、
なんとか理解してみようと思います。
数字で認識しない、、そうですよね、、言われてみたら、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
リストボックス内を昇順並べる方法
Excel(エクセル)
-
エクセルVBA ListBoxの並び替え:VBA初心者です
Visual Basic(VBA)
-
listboxの並び替え
Visual Basic(VBA)
-
-
4
ユーザーフォームをホイールでスクロールする方法(Excel2000VBA)
Excel(エクセル)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
エクセルVBA テキストボックスに3桁ごとにコンマ
Visual Basic(VBA)
-
7
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
8
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
9
EXCEL VBAのコンボボックスで日だけを表示する方法
Excel(エクセル)
-
10
エクセルVBAで複数選択できるように設定したリストボックスの、選択され
Visual Basic(VBA)
-
11
エクセルVBAでUserFormを起動した時
Excel(エクセル)
-
12
EXCEL2013 VBA ListBox 未選択
Excel(エクセル)
-
13
ユーザーフォーム スクロールバー 非表示にしたい
Excel(エクセル)
-
14
名前をつけて保存した後、元のファイルに戻るには
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
配列の問題
-
excel VBA の条件をつけての列...
-
ファイル名「1.jpg ~10.jpg~...
-
Double型ソート方法
-
リスト構造のソートで悩んでま...
-
クイックソートしながら重複要...
-
DataGridViewソート時に先頭行...
-
VB.NETでファイル名順にファイ...
-
Excelですべての組合せ(重複組...
-
n番目に大きい数を求めるアル...
-
VB6でデータを昇順に並べ替える
-
リストビューのソートが2回必要
-
Fortran77で多次元配列を並び替...
-
MSFlexGridのSortメソッドについて
-
int num[10]という配列に、適当...
-
ヒープソートについて
-
10個の整数を入力して小さい順...
-
vbでDataTableの抽出コピー
-
文字列をソートする方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
System.IO.Directory.GetFiles...
-
VB.NETでファイル名順にファイ...
-
C# DataGridView のヘッダーセ...
-
なぜ?counterintuitive
-
ファイル名「1.jpg ~10.jpg~...
-
Excelですべての組合せ(重複組...
-
C# DataTableの行をソートしてD...
-
n番目に大きい数を求めるアル...
-
リスト構造のソートで悩んでま...
-
C言語・要素除去
-
10個の整数を入力して小さい順...
-
VBA基本構文の作り方 2列の...
-
あるディレクトリ内のファイル...
-
excel VBA の条件をつけての列...
-
excel VBA リストビューの行...
-
数字文字列のソート方法
-
Excel VBAで並べ替えをしたい
-
VBScriptで重複レコードを削除...
-
vbでDataTableの抽出コピー
-
構造体配列のソート
おすすめ情報
いましがた、リストビュアーなるものを見つけたのですが、これをリストボックスから置き換えることって可能なんでしょうか?
今回も皆様にご指導いただいたこと、誠にありがとうございました。
どうやら、リストビューを使うことが一番いいような感じです。
今回もベストアンサーを選ばせて頂きますが、ご指導いただいた皆様に感謝申し上げます。