通过vba宏将复选框插入特定单元格

use*_*968 1 excel vba excel-vba

我想通过宏插入特定单元格中的复选框.请告知如何去做.

例如:在单击命令按钮时,我应该能够将复选框添加到"A1"单元格.

Sheets("Pipeline Products").Range("O" & i & ":AG" & i).Select 
ActiveSheet.CheckBoxes.Add(4, 14.5, 72, 17.25).Select 

With Selection 
.Caption = "" 
.Value = xlOff '
.LinkedCell = "C" & ToRow     
.Display3DShading = False 
End With 
Run Code Online (Sandbox Code Playgroud)

谢谢你,Prashanth

Kaz*_*wor 5

这个简单的行允许您将CheckBox添加到单元格A1并相应地设置宽度和高度:

ActiveSheet.OLEObjects.Add "Forms.CheckBox.1", Left:=Range("A1").Left, Top:=Range("A1").Top, Width:=Range("A1").Width, Height:=Range("A1").Height
Run Code Online (Sandbox Code Playgroud)

您可以通过以下方式轻松将其添加到CommandButton:

Private Sub CommandButton1_Click()

    ActiveSheet.OLEObjects.Add "Forms.CheckBox.1", Left:=Range("A1").Left, Top:=Range("A1").Top, Width:=Range("A1").Width, Height:=Range("A1").Height

End Sub
Run Code Online (Sandbox Code Playgroud)

编辑您的代码已改进...

您只需添加循环以将复选框插入到多个单元格中:

Sub YourCode_Improvment()

    Dim i
    '
    For i = 1 To 10 'cells from 1st to 10th

    ActiveSheet.CheckBoxes.Add(Cells(i, "A").Left, _
                                Cells(i, "A").Top, _
                                72, 17.25).Select
    With Selection
        .Caption = ""
        .Value = xlOff '
        .LinkedCell = "C" & i
        .Display3DShading = False
    End With
    Next
End Sub
Run Code Online (Sandbox Code Playgroud)

如果需要,相应地更改此代码.