Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
リストボックスで条件に該当する場合は、背景色を変える方法
投稿日時: 22/11/27 18:52:07
投稿者: マイルストン

お世話になっております。
リストボックス一覧から条件に当てはまる行の背景色を変更したいと考えております。
そもそもこのようなことができるのでしょうか。
色々調べたのですが、分かりませんでした。ご教示のほどよろしくお願いいたします。

回答
投稿日時: 22/11/27 21:32:52
投稿者: WinArrow

私がよく使う方法を紹介します。
  
リストボックスの列を1つ増やします。
ColumnsWidth には、列幅=0で指定します。
つまり、画面には表示されない項目になります。
後(右)に追加するならば、Columncountも変更不要です。
  
但し、項目数が10を超えないようにしましょう。
  
リストボックスに登録する際、当該列にシートの行番号を格納します。
  
あとは、選択時の当該列の行番号をシートの行番号として使えば
検索するなどの手間が省けます。
 

回答
投稿日時: 22/11/28 01:37:06
投稿者: hatena
投稿者のウェブサイトに移動

リストボックス自体の各行の背景色を条件によって変更したいということでしょうか。
それとも、
リストボックスで選択した行の値を条件に、シートの該当する行の背景色を変更したいということでしょうか。
 
また、前者の場合、背景色は何色を想定していますか。また、どのような条件ですか。

回答
投稿日時: 22/11/28 22:09:20
投稿者: WinArrow

私が紹介したコードは、
リスtボックスの特定行の条件により
シーtの行の背景色を変更する
ためのコードです。
 
リストボックスの行単位に
選択した時の色を除いて
背景色を変更することはできません。
 
 
 

回答
投稿日時: 22/11/29 06:54:51
投稿者: simple

既にご指摘のとおりです。以下、参考的なものです。
 
検索して見つかった
https://oshiete.goo.ne.jp/qa/1637047.html
によれば、お望みのことをしようとすると、極めて高度なスキルが必要なようです。
ウインドウズプログラミングの経験がないと歯が立たないので、わずかな人にしか
対応できないと思われます。
質問者さんにも平均的なユーザーにも、とても使いこなせるようなものではないと思います。
ですから、潔くあきらめて別のアプローチを考えましょう。
例えば、
・列を増やして、そこに分類コードを表示するとか。
・ユーザーフォームを離れて、シートで実現するとか。

回答
投稿日時: 22/11/29 17:56:22
投稿者: WinArrow

LISTVIEWを使うと、行毎に背景色を設定できるようです。
 
私は、使ったことはないので、詳しい区とは分かりません。
 
Excelバージョンによって使えないかも?

投稿日時: 23/01/25 07:47:23
投稿者: マイルストン

大変恐れ入ります。
御礼を失念しておりました。
色々とご教示いただきありがとうございます。
現時点では、私には相当ハードルが高そうなので、別の方法を考えます。
 
本当に色々とご教示いただきありがとうございました。