[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ユーザーフォーム起動時、ListView1を降順に表示をさせるには』(takesi)
いつも参考させていただいています。
今回の質問ですが、ユーザーフォームを起動し
ListView1の表示を最初から降順で表示させることは
できないかの相談です。
Private Sub ListView1_ColumnClickで降順にできるのですが
最初から降順の方が便利なので・・・
よろしくお願いします。
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
With ListView1 .Sorted = False If .SortKey <> ColumnHeader.Index - 1 Then .SortKey = ColumnHeader.Index - 1 .SortOrder = lvwAscending Else If .SortOrder = lvwAscending Then .SortOrder = lvwDescending Else .SortOrder = lvwAscending End If End If .Sorted = True End With End Sub
Private Sub UserForm_Activate()
Dim DBpath As String Dim i As Long
With ListView1 ''プロパティ .View = lvwReport .LabelEdit = lvwManual .HideSelection = False .AllowColumnReorder = True .FullRowSelect = True .Gridlines = True ''グリッド線
.ColumnHeaders.Add , "_nengaltupi", "年月日", 80 .ColumnHeaders.Add , "_hurikomisaki", "振込先", 180 .ColumnHeaders.Add , "_koumei", "銀行名", 100 .ColumnHeaders.Add , "_sitenmei", "支店名", 80 .ColumnHeaders.Add , "_siharaikingaku", "振込金額", 105 .ColumnHeaders.Add , "_anzen", "会費", 80 .ColumnHeaders.Add , "_sousai", "相殺額", 80 .ColumnHeaders.Add , "_utiwake", "相殺内", 114 .ColumnHeaders.Add , "_tesuuryou", "手数料", 70
End With
With ListView1 For i = 3 To Sheets("一覧").Range("B" & Rows.Count).End(xlUp).Row
With .ListItems.Add(Text:=Sheets("一覧").Cells(i, 2).Value) .SubItems(1) = Sheets("一覧").Cells(i, 4).Value .SubItems(2) = Sheets("一覧").Cells(i, 5).Value .SubItems(3) = Sheets("一覧").Cells(i, 6).Value .SubItems(4) = Format(Sheets("一覧").Cells(i, 7).Value, "#,##0") .SubItems(5) = Format(Sheets("一覧").Cells(i, 13).Value, "#,##0") .SubItems(6) = Format(Sheets("一覧").Cells(i, 12).Value, "#,##0") .SubItems(7) = Sheets("一覧").Cells(i, 11).Value .SubItems(8) = Format(Sheets("一覧").Cells(i, 8).Value, "#,##0") End With ListView1.ColumnHeaders.Item(1).Alignment = lvwColumnLeft ListView1.ColumnHeaders.Item(2).Alignment = lvwColumnLeft ListView1.ColumnHeaders.Item(3).Alignment = lvwColumnLeft ListView1.ColumnHeaders.Item(4).Alignment = lvwColumnLeft ListView1.ColumnHeaders.Item(5).Alignment = lvwColumnRight ListView1.ColumnHeaders.Item(6).Alignment = lvwColumnRight ListView1.ColumnHeaders.Item(7).Alignment = lvwColumnRight ListView1.ColumnHeaders.Item(8).Alignment = lvwColumnLeft ListView1.ColumnHeaders.Item(9).Alignment = lvwColumnRight Next End With End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
>Private Sub ListView1_ColumnClickで降順にできるのですが
・・なら、それを強制的にCallすればいいと思うのですが、 多分、ダメな訳があるんでしょうね?
その訳とは何でしょうか?
(半平太) 2017/06/18(日) 18:08
(takesi) 2017/06/18(日) 19:19
一つだけなら、Callは忘れて、直接操作すればいいんじゃないですか?
> ListView1.ColumnHeaders.Item(9).Alignment = lvwColumnRight > Next > End With
↓
ListView1.ColumnHeaders.Item(9).Alignment = lvwColumnRight Next
'年月日の部分は初めから降順にする .SortKey = .ColumnHeaders("_nengaltupi").Index - 1 .SortOrder = lvwDescending .Sorted = True End With
(半平太) 2017/06/18(日) 20:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.