プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (1件)

http://oshiete.goo.ne.jp/qa/6402282.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 …
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/01/07 19:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A