VBAでチェックボックス作成をChatGPT

Daily report

チャット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

コメント

タイトルとURLをコピーしました