如果B列中有数据,我想在A列中自动创建一个复选框。(原因是,我有一个庞大的列表,其中包含300多个行,并且随着时间的推移会不断增长,因此该解决方案应该是永久的一个)
ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _
DisplayAsIcon:=False, Left:=24.75, Top:=75.75, Width:=12.75, Height:= _
12.75).Select
那是我已经创建一个复选框的代码。
我对VBA不太熟悉-我只是在几天前才开始使用Makros。
我应该如何更改它,以便在我将一些文本放入旁边的单元格后自动创建复选框?
编辑:复选框应以数字“ Checkbox x”开头(从1开始)。也无需标题。
答案 0 :(得分:0)
使用此问题中的一些代码-vba macro to embed OLEobject based on cell:
Sub InsertToB()
Dim cell As Range
For Each cell In Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row)
If Not IsEmpty(cell) Then
Dim ol As OLEObject
Set ol = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", _
Link:=False, _
DisplayAsIcon:=True, _
Height:=10)
With ol
.Top = cell.Offset(0, 1).Top
.Left = cell.Offset(0, 1).Left
.Object.Caption = "Bob"
End With
End If
Next
End Sub
A
中的单元格是否为空; .Top
和.Left
确定的;