電子書籍の厳選無料作品が豊富!

いつも皆様には御世話になっております。
リストビューを使うと、ソートはできました。
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
With ListView1
.SortKey = ColumnHeader.index - 1
.SortOrder = .SortOrder Xor lvwAscending
.Sorted = True
End With
End Sub
とするようです。

 項目修正、追加もわかったのですが、
わからないのが、列指定と、列を丸ごとコピーする、行挿入するコードが見つかりません、、row とかcolumnとかないかなと、探してみたけど、使えないようです、、
どなたか、リストビューでの指定の仕方ご存じないですか?リストボックスとは勝手が違うようで、、
慣れてる方なら、あたりをつけれるのでしょうけど、何個かやってみましたけどうまくいきません、、
 再三恐縮ですが、ご教授いただけたら幸いです。

質問者からの補足コメント

  • うーん・・・

    Range("B3").Offset(0, 1)=UserForm1.ListView1.SelectedItem
    これだと、一個ずつなら転記してくれます。
    UserForm1.ListView1.SelectedItem(1)
    これだと、エラーになるので、複数はむり、、、、というところです。

      補足日時:2020/10/12 02:16
  • Dim ws As Worksheet
    Dim rng As Range
    Dim a As String
    Set ws = Worksheets("送迎表")
    a = ComboBox2
    With ListView1
    Dim i As Long
    For i = 1 To .ListItems.Count
    If a = ws.Range("B3") Then
    ws.Range("B4").Resize(10, 30).Delete
    ws.Range("B3").Offset(i, 0) = .ListItems.Item(i).Text
    ws.Range("C3").Offset(i, 0) = .ListItems.Item(i).SubItems(1)
    End If

      補足日時:2020/10/12 12:58
  • うれしい

    上記にて転記できるようになりました。
    ws.Range("B3").Offset(i, 0) = .ListItems.Item(i).Text
    ws.Range("C3").Offset(i, 0) = .ListItems.Item(i).SubItems(1)

    列指定の位置がわからなかったので、幾度も組み替えてみたのですが、列指定を間違えたままだったので、修正できなかったというかんじです、

      補足日時:2020/10/12 13:00

A 回答 (3件)

あと、コントロールを含むオブジェクトが使えるプロパティやメソッド等の一覧を検索し、それぞれは何をするものなのか・やりたい事はどれなのか・やりたい事が含まれているのかを調べる事も重要な気もしますよ。



最終目的が何かは不明ですが、何となくAccessの方が良いのでは?とも思えてきます。
とは言えやはりどこに向かっているのかがわからないのでAccessが適切なのか自信はありませんが。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
最後の回答にまとめさせていただきますね。
アドバイスありがとうございます。
少しずつですが、検索しやすいサイトとか、構文のまとめとかも進んできています、、
 まだ、全然意味がわからない、、というところもありますが、、

お礼日時:2020/10/12 12:55

補足を見て。



書かれている点はListBoxを使った際でも設定変更・ナンバーリングの注意点として理解されてなければならない事と思います。
デザインでコントロールのプロパティ欄を良くご覧ください。

>複数はむり、、、、

複数選択を可能とさせるよう変更されてますか?
ListBoxの複数選択やTextBoxの複数行表示などを有効にする設定方法とほぼ同じでしょう。
    • good
    • 0
この回答へのお礼

ご回答いただきありがとうございます。
Cells(i, 6) = ListView1.ListItems.Item(i).SubItems(1)
これで回せば、列ごと転記できました。
列指定の.SubItems(1)を間違えていたようです、何度も組み替えていましたが、完全に思い込んでいました。

お礼日時:2020/10/12 12:54

Vba ListViewの行挿入に関して教えてください


https://oshiete.goo.ne.jp/qa/11357226.html

>列指定と、列を丸ごとコピーする、

こちらについては何を指しているのかちょっと不明ですね。
取り敢えずワークシートではないので動作に違いがあっても仕方ないかと。
基本見栄えを良くするものだと思いますよ。
データに対して何かをしたいならデータを取り出して加工し、まっさらにしたListViewへ再度入れるとかになるのではないのかな?
ここはセルに入れてやるとか配列等を使う事になるのかも。

ちなみに私はこのコントロールを使用した事はありません。
ただVBでデータグリッドビューを1回使った事があるくらいです。
https://www.fenet.jp/dotnet/column/%E8%A8%80%E8% …
こんな感じのものです。(だいぶ前の2008でですけどね。)
    • good
    • 0
この回答へのお礼

お返事遅れてもうしわけございません。
ご回答ありがとうございます。
上二つの回答にまとめさせていただきますね。

お礼日時:2020/10/12 12:55

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