前提・実現したいこと
Microsoft360のエクセルを使っています。VBAで、画像のようなチェックボックスの文字を選択するとチェックがついたり消えたりするようにしたいです。2列1行が1単位で、左のチェックボックスがオンになると右が入力可能になります。
発生している問題・エラーメッセージ
チェックボックスの大きさが変わってしまうことがあります。
游ゴシックがSegoe UI Symbolにかわっているからのようですが、変わってしまう基準がわかりません。変わるときも変わらない時もあります。
範囲で選択すると「型が一致しません」というエラーが出ます。
該当のソースコード
VBA
1Private Sub Worksheet_SelectionChange(ByVal Target As Range) 2 With Target 3 If .Value = ChrW(9744) Then 4 .Value = ChrW(9745) 5 .Offset(0, 1).Font.ColorIndex = xlAutomatic 6 ElseIf .Value = ChrW(9745) Then 7 .Value = ChrW(9744) 8 With .Offset(0, 1) 9 .Value = ChrW(9744) + "リハ" 10 .Font.ThemeColor = xlThemeColorDark1 11 .Font.TintAndShade = -0.249977111117893 12 End With 13 ElseIf .Value = ChrW(9744) + "リハ" Then 14 If .Offset(0, -1).Value = ChrW(9745) Then 15 .Value = ChrW(9745) + "リハ" 16 End If 17 ElseIf .Value = ChrW(9745) + "リハ" Then 18 .Value = ChrW(9744) + "リハ" 19 End If 20 End With 21End Sub
試したこと
フォントを指定すれば大丈夫だと思いますが、なぜこうなってしまうのか知りたいです。
範囲に関しては、Rangeオブジェクトを各々のセルとして取得できればループで処理できるかと思いましたが、そのようなものは見つけられませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/17 06:25
2020/08/18 06:50
2020/08/18 10:28 編集
2020/08/20 06:33