|
▼β さん:
お礼が遅くなり申し訳ありません。
ご尽力頂きありがとうございます。
あれからすぐマクロを組み使用しております。
今回、以下のような改善要望が出ました。
改善要望:エクセルの動作が少し重いので改善できないか。
確かに、毎回アクティブセルのボールドを解除するよう命令しているので、
一度下記のように書きました。
これですとアクティブセルの太字が残ってしまうので、コマンドボタンを押すとセルの太字が通常に戻るようにするなどの対策を取ろうと思っています。
もっとスマートな方法はあるのでしょうか?
ご教示頂ければ幸いです。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If CheckBoxes("ChkBx1").Value = xlOn Then
Cells.Font.Bold = False ←★ご教示頂いたマクロのこの部分を移動しました。
Selection.EntireRow.Font.Bold = True
End If
End Sub
>▼ペーターパン さん:
>
>もう、ご覧にならないかもしれませんが。
>
>そういうことだったんですか。
>要件をすっかり誤解していました。
>
>であれば、以下の2つの方法が考えられます。
>
>1.任意の行が選択されたときに、その時点のチェックボックスの選択の状態をみて
> チェックが入っていたら、選択された行を太字にする。
>
> チェックボックスにはマクロ登録をしません。していれば消してください。
> で、シートモジュールに。
>
>Private Sub Worksheet_SelectionChange(ByVal Target As Range)
> Cells.Font.Bold = False
> If CheckBoxes("チェック 1").Value = xlOn Then '★
> Selection.EntireRow.Font.Bold = True
> End If
>End Sub
>
> ★のところ、実際のコントロール名に直してください。
>
>2.チェックボックスにチェックが入った時点で、その時に選択されていた行を太字にする。
> (これは、やってみると、操作が面倒というか、スムーズじゃないなと思いましたが)
>
> シートモジュールは使いません。記述があれば消してください。
> 標準モジュールに以下のマクロを書き、チェックボックスにマクロ登録します。
>
>Sub Test()
> Cells.Font.Bold = False
> If ActiveSheet.CheckBoxes(Application.Caller).Value = xlOn Then Selection.EntireRow.Font.Bold = True
>End Sub
|
|