
いつも皆様には御世話になっております。
リストビューを使うと、ソートはできました。
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とかないかなと、探してみたけど、使えないようです、、
どなたか、リストビューでの指定の仕方ご存じないですか?リストボックスとは勝手が違うようで、、
慣れてる方なら、あたりをつけれるのでしょうけど、何個かやってみましたけどうまくいきません、、
再三恐縮ですが、ご教授いただけたら幸いです。
No.2ベストアンサー
- 回答日時:
あと、コントロールを含むオブジェクトが使えるプロパティやメソッド等の一覧を検索し、それぞれは何をするものなのか・やりたい事はどれなのか・やりたい事が含まれているのかを調べる事も重要な気もしますよ。
最終目的が何かは不明ですが、何となくAccessの方が良いのでは?とも思えてきます。
とは言えやはりどこに向かっているのかがわからないのでAccessが適切なのか自信はありませんが。
お返事ありがとうございます。
最後の回答にまとめさせていただきますね。
アドバイスありがとうございます。
少しずつですが、検索しやすいサイトとか、構文のまとめとかも進んできています、、
まだ、全然意味がわからない、、というところもありますが、、
No.3
- 回答日時:
補足を見て。
書かれている点はListBoxを使った際でも設定変更・ナンバーリングの注意点として理解されてなければならない事と思います。
デザインでコントロールのプロパティ欄を良くご覧ください。
>複数はむり、、、、
複数選択を可能とさせるよう変更されてますか?
ListBoxの複数選択やTextBoxの複数行表示などを有効にする設定方法とほぼ同じでしょう。
ご回答いただきありがとうございます。
Cells(i, 6) = ListView1.ListItems.Item(i).SubItems(1)
これで回せば、列ごと転記できました。
列指定の.SubItems(1)を間違えていたようです、何度も組み替えていましたが、完全に思い込んでいました。
No.1
- 回答日時:
Vba ListViewの行挿入に関して教えてください
https://oshiete.goo.ne.jp/qa/11357226.html
>列指定と、列を丸ごとコピーする、
こちらについては何を指しているのかちょっと不明ですね。
取り敢えずワークシートではないので動作に違いがあっても仕方ないかと。
基本見栄えを良くするものだと思いますよ。
データに対して何かをしたいならデータを取り出して加工し、まっさらにしたListViewへ再度入れるとかになるのではないのかな?
ここはセルに入れてやるとか配列等を使う事になるのかも。
ちなみに私はこのコントロールを使用した事はありません。
ただVBでデータグリッドビューを1回使った事があるくらいです。
https://www.fenet.jp/dotnet/column/%E8%A8%80%E8% …
こんな感じのものです。(だいぶ前の2008でですけどね。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Wordテキストコントロールが未...
-
コンボボックスのセンタリング
-
MFCでbitmapを背景にしてstatic...
-
DataGridViewで行の展開みたい...
-
リストコントロールのデータの...
-
ADOのCursorLocationプロパティ
-
コンボボックスの高さを変更し...
-
テキストボックス(VBA)でEnter...
-
ユーザーフォームに日付を表示...
-
コンボボックスに表示される形式
-
日時や時刻を指定し、その時間...
-
C# アプリ終了時に設定を記憶...
-
VBのデータグリッドが表示され...
-
ASP.NETでのテキストボックスに...
-
エクセルの画像にツールチップ...
-
PictureBoxの背景色変更(VB.NET)
-
VBで、tableの列を動的に増やす...
-
VB.NETで縦書表示をしたいので...
-
WORD □ レ点(その2)
-
VB6でPNGファイルを扱うには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テキストボックス(VBA)でEnter...
-
Wordテキストコントロールが未...
-
ユーザーフォームに日付を表示...
-
エクセルの画像にツールチップ...
-
C# TEXTが空白であるLABELは何...
-
VBからエクセルのテキストボ...
-
DataGridViewで行の展開みたい...
-
エクセル VBA ユーザーフォーム...
-
MSFlexGrid
-
コンボボックスの高さを変更し...
-
VB.NETで縦書表示をしたいので...
-
デザインモードを解除すると消...
-
Enabled=Falseのテキストボック...
-
ADOのCursorLocationプロパティ
-
PictureBoxの背景色変更(VB.NET)
-
VB6でLabelの最前面にText Box...
-
エクセル入力規制リスト行数
-
C# アプリ終了時に設定を記憶...
-
ListViewでのリスト表示(初歩...
-
MFCでbitmapを背景にしてstatic...
おすすめ情報
Range("B3").Offset(0, 1)=UserForm1.ListView1.SelectedItem
これだと、一個ずつなら転記してくれます。
UserForm1.ListView1.SelectedItem(1)
これだと、エラーになるので、複数はむり、、、、というところです。
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
上記にて転記できるようになりました。
ws.Range("B3").Offset(i, 0) = .ListItems.Item(i).Text
ws.Range("C3").Offset(i, 0) = .ListItems.Item(i).SubItems(1)
列指定の位置がわからなかったので、幾度も組み替えてみたのですが、列指定を間違えたままだったので、修正できなかったというかんじです、