- ベストアンサー
VBA(Excel2000)のラベルやコマンドボタンをクリックするとセルの文字が見えなくなる問題について
- VBA(Excel2000)を使用して、ラベルやコマンドボタンをクリックするとセルの文字が見えなくなる問題に取り組んでいます。
- 現在、印刷した定型のチェックリストに手書きで該当部分へ○をしたり削除線を引いたりしているが、手書きの必要がなくなったため、簡易化を計りたいと考えています。
- セルに「点検」と入力されている文字の上に「ラベル」または「コントロールボタン」を設置し、クリックする毎に「○」「×」「△」を表示させる挙動まで実装できていますが、透明にするための設定がうまく機能していません。背景色が有効になり、セルの文字が見えなくなってしまいます。他のセルをダブルクリックしたり、画面をスライドさせることで透明になり、文字を認識できるようになりますが、常に透明にする方法を探しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
コントロールツールボックスのラベルの代わりに図形描画の テキストボックスに以下のマクロを登録しては如何でしょうか (テキストボックスの書式設定で"塗りつぶしなし"に設定すれば透明になります。) Sub Test() With Evaluate(Application.Caller) If .Text = "○" Then .Text = "×" ElseIf .Text = "×" Then .Text = "△" Else .Text = "○" End If End With End Sub
その他の回答 (1)
- watabe007
- ベストアンサー率62% (476/760)
>セルに「点検」と入力されている文字の上に「ラベル」 >やっぱり背景が残ってしまいました 2002では、問題なく動いているのですが・・・ それなら、"点検" の文字も組み込んでしまえば如何ですか Sub Test2() With Evaluate(Application.Caller) If .Text Like "○*" Then .Text = "× 点検" ElseIf .Text Like "×*" Then .Text = "△ 点検" Else .Text = "○ 点検" End If End With End Sub
お礼
早々のご回答ありがとうございます。 2002では問題なし。了解です。 固有の問題かも知れませんね。一応夕方になりますが、別のパソコンにて検証を行ってみたいと思います。 今やっている事はイメージ的に、車の点検で使われるチェックリストのような物で文字の上に記号で作業内容を書き記すような感じです。説明が足りなくて申し訳ありません。 横に書き記すことは基本的に出来ません。 一枚のシートで直感的にクリックし表示を変更させて、そのシートを印刷するイメージで進めてきましたが入力用シートと印刷用シートを分けてご教授頂きました事を参考に検討していこうかとも考えております。 ありがとうございました。
補足
何となくスッキリしませんが、自己解決しましたので記載しておきます。 イベントの発生も踏まえてコントロールツールを使って考えておりましたが、オートシェーブのテキストボックスを使うことで対処できました。 いろいろとありがとうございました。
お礼
お忙しい中ありがとうございます。 早速ですが、ご回答頂きましたテキストボックスでの処理も試してみましたがやっぱり背景が残ってしまいました。もしかすると固有の問題かも知れませんので明日別のパソコンにて検証してみたいと思います。 使用予定のパソコンが古くて2000っていうのも一つ関係するのかとも想像しております。 ご記入頂きましたソースは背景が残ってしまう件以外は問題なく動作したことをご報告いたします。 ありがとうございます。