チャットGPTに問い合わせた内容
Excelでチェックボックスを配置するVBAを作成。
セル番地B1に佐藤を入力
セル番地B2に鈴木を入力
セル番地B3に小林を入力
セル番地B4に高橋を入力
セル番地A1にチェックボックスを入力し、チェックボックスのリンクするセルをA1にします。
セル番地A2にチェックボックスを入力し、チェックボックスのリンクするセルをA1にします。
セル番地A3にチェックボックスを入力し、チェックボックスのリンクするセルをA1にします。
セル番地A4にチェックボックスを入力し、チェックボックスのリンクするセルをA1にします。
ChatGPTの回答
Sub AddCheckBoxes()
Dim ws As Worksheet
Dim cb As CheckBox
Dim i As Integer' 現在のアクティブシートを取得 Set ws = ActiveSheet ' セルB1~B4に名前を入力 ws.Range("B1").Value = "佐藤" ws.Range("B2").Value = "鈴木" ws.Range("B3").Value = "小林" ws.Range("B4").Value = "高橋" ' チェックボックスをセルA1~A4に配置 For i = 1 To 4 ' 既存のチェックボックスがある場合は削除 On Error Resume Next ws.CheckBoxes("CheckBox" & i).Delete On Error GoTo 0 ' チェックボックスを追加 Set cb = ws.CheckBoxes.Add(Cells(i, 1).Left, Cells(i, 1).Top, Cells(i, 1).Width, Cells(i, 1).Height) With cb .Name = "CheckBox" & i .LinkedCell = "A1" ' リンク先をセルA1に設定 .Caption = "" ' ラベルを空にする End With Next i
End Sub
ChatGPTに要望を追加
チェックボックスのリンクは、
A1のチェックボックスではA1に、
A2のチェックボックスではA2に、
A3のチェックボックスではA3に、
A4のチェックボックスではA4に、
リンクするようにしてください
再びChatGPTの回答
Sub AddCheckBoxesWithIndividualLinks()
Dim ws As Worksheet
Dim cb As CheckBox
Dim i As Integer' 現在のアクティブシートを取得 Set ws = ActiveSheet ' セルB1~B4に名前を入力 ws.Range("B1").Value = "佐藤" ws.Range("B2").Value = "鈴木" ws.Range("B3").Value = "小林" ws.Range("B4").Value = "高橋" ' チェックボックスをセルA1~A4に配置 For i = 1 To 4 ' 既存のチェックボックスがある場合は削除 On Error Resume Next ws.CheckBoxes("CheckBox" & i).Delete On Error GoTo 0 ' チェックボックスを追加 Set cb = ws.CheckBoxes.Add(Cells(i, 1).Left, Cells(i, 1).Top, Cells(i, 1).Width, Cells(i, 1).Height) With cb .Name = "CheckBox" & i .LinkedCell = "A" & i ' 各セルをリンク先として設定 .Caption = "" ' ラベルを空にする End With Next i
End Sub

コメント