【お題】NEW演歌

EXCEL VBA ListViewについて質問です。

ListViewで選択した値をWクリックでActiveセルに入力したいのですが上手く出来ません。
下記が現在です。

Private Sub ListView1_DblClick()

With Worksheets("Sheet1")

ActiveCell.Value = UserForm1.ListView1.SelectedItems(0).Text

Unload Me

End With

End Sub

どのようにしたらよいのでしょうか?
調べても出てこないのでよろしくお願いいたします。

また表示されているListViewの一覧で一行おきに色を付けたいのですがどのようにいたらよいのでしょうか?

質問ばかりですみませんがよろしくお願いいたします。

A 回答 (2件)

>ActiveCell.Value = UserForm1.ListView1.SelectedItems(0).Text


ダブルクリックで、選択肢はひとつしかありませんから、

ActiveCell.Value = ListView1.SelectedItem.Text

ですね。

>ListViewの一覧で一行おきに色を付けたいのですがどのようにいたらよいのでしょうか?

どこかで見た記憶からなのでしょうか。
私も記憶はあるのですが、VBAのListView(VB6 Runtime) には、そのようなBackColor での色付けはありません。たぶん、VB.Net では可能ではないでしょうか。

ForeColor(文字の色)は可能ですが、あまり冴えないような気がします。
「EXCEL VBA ListViewにつ」の回答画像1
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

無事にダブルクリックによる入力出来ました。

色つけに関してはやはり出来ないのですね…
他の方法を考えてみます。

ありがとうございました。

お礼日時:2017/08/15 21:33

他の方法を探されるようですが、念のために、参考資料を提示しておきます。



ListBox でなくListView を選ばれた理由が、行を互い違いに色付けできると書いていた人がいたから、ListView を選んだのでしょうけれども、その書いた人は、ListView で実現できていないのではないでしょうか。

http://www.mitene.or.jp/~sugisita/api_comct.html
リストビューのカスタムドロー

VB6用で、最もVBAに近いソースがありますから、VBA用に加工して試してみればよいのです。解説はできませんが、結論からいうと、こちらの環境では、書き換えてもうまくいきません。このような複雑なコードをVBAに搭載するかどうかも懸念するところですが。こちらの環境は、Win 10/Excel 2013 という環境で、そもそも、VB6 Runtime Library さえ、動くかどうかわからないところだと思いますが、Excel の下位バージョンでお使いなら、まだ可能性は残されているかもしれません。

実行の画像(VB6で実行すると以下のようになる)
「EXCEL VBA ListViewにつ」の回答画像2
    • good
    • 0
この回答へのお礼

追加回答ありがとうございます。

ListViewでは出来ないのですね…
言われるように調べてListViewだと簡単にできると書いてあったので変更したのですが残念です。
でもいい勉強になりました。
今後の参考にさせていただきます。

ご丁寧にありがとうございました。

お礼日時:2017/08/16 22:03

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

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


おすすめ情報

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