- ベストアンサー
excel VBA リストビューの行の変更
質問させていただきます。EXCEL VBAのリストビューコントロールについて、 任意の行を、違う行間に挿入みたいなことはできるのでしょうか? (例えば、5行目を1行目と2行目の間に挿入) アドバイスを宜しくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
http://okwave.jp/qa/q6402282.html >それで話は変わってしまうのですが... 変わりすぎですよね。 だから新スレなのでしょうけど。 #せめて前スレの始末はしたほうが良かったのでは。 (普段ListViewを使わない人なので微妙な回答になるかもしれませんが) 新規挿入して元の行をRemoveするか、 Dim i As Long Dim LI As ListItem With ListView1 Set LI = .ListItems(5) With .ListItems.Add(2, , LI.Text) For i = 1 To LI.ListSubItems.Count .SubItems(i) = LI.SubItems(i) Next End With .ListItems.Remove 6 End With Set LI = Nothing SubItemsにソート用のインデックスを予め設定(連番付加)しておいてSortするとか。 '.SubItems(1)をソートインデックスにした場合。(Width 0 でも可) Dim i As Long: i = 2 Dim j As Long: j = 5 With ListView1 .ListItems(j).SubItems(1) = i For i = i To j - 1 .ListItems(i).SubItems(1) = i + 1 Next .SortKey = 1 .SortOrder = lvwAscending .Sorted = True End With http://officetanaka.net/excel/vba/listview/index.htm
お礼
end-u様 スプレッドの頃からいろいろとアドバイス有難う御座いました。 こちらの質問攻め、話のすり代わりにも真摯にお付き合い頂き、 本当に有難う御座いました! リストビューの行の変更もアドバイス通りにやったらできました。 スプレッドも別の機会に使いたいと思います。 また何かありましたらご指導よろしくお願い致します!