• ベストアンサー

excel VBA リストビューの行の変更

質問させていただきます。EXCEL VBAのリストビューコントロールについて、 任意の行を、違う行間に挿入みたいなことはできるのでしょうか? (例えば、5行目を1行目と2行目の間に挿入) アドバイスを宜しくお願い致します。

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

  • ベストアンサー
  • end-u
  • ベストアンサー率79% (496/625)
回答No.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

butman11
質問者

お礼

end-u様 スプレッドの頃からいろいろとアドバイス有難う御座いました。 こちらの質問攻め、話のすり代わりにも真摯にお付き合い頂き、 本当に有難う御座いました! リストビューの行の変更もアドバイス通りにやったらできました。 スプレッドも別の機会に使いたいと思います。 また何かありましたらご指導よろしくお願い致します!

関連するQ&A