シート内のすべてのチェックボックスを選択するVBAマクロを作成していますが、これでうまくいきましたが、特定の範囲のチェックボックスを選択したり、 。範囲内のすべてのチェックボックスを選択/選択解除するEXCEL VBAマクロ
ここに私のコードです。
Sub Select_all()
Dim Cbox As CheckBox
Dim Rng As Range
Set Rng = ActiveWorkbook.Sheets("Sheet4").Range("B7, B104")
For Each Cbox In ActiveSheet.CheckBoxes
If Not Intersect(Cbox.TopLeftCell, Rng) Is Nothing Then
If Cbox.name <> ActiveSheet.CheckBoxes("Check Box 104").name Then
Cbox.Value = ActiveSheet.CheckBoxes("Check Box 104").Value
End If
End If
Next Cbox
End Sub
ない交差(Cbox.TopLeftCell、RNGは)何も
されていない場合、私は
を追加しましたが、それは何も変更しない、と私はこの部分を削除すると、それが選択シートのすべてのチェックボックスと私は範囲( "B7:B104")のためだけに必要です
何か提案はどうですか?どうもありがとうございました。
Rangeを "Range(" B7、B104 ")'と定義したのはなぜですか?つまり、B7とB104の2つのセルだけで、B7:B104のセルの範囲ではありません。そしてあなたのコードのすぐ下に、 'Range(" B7:B104 ")'の正しい定義を入れます。そのために変更してください。 – tigeravatar
ActiveXチェックボックスまたはフォームコントロールチェックボックスですか? –
@tigeravatar私はあなたと同じことをしました、私は間違ってコードを貼り付けました。 – JuniorDev