gpt4 book ai didi

vba - 如何动态地将"is"或“否”复选框添加到用户窗体?

转载 作者:行者123 更新时间:2023-12-04 20:58:38 25 4
gpt4 key购买 nike

我正在通过以下方式动态加载 Useform。

Sub UserForm_Initialize()
With Worksheets("SetupQuestions")
Lrow = Worksheets("SetupQuestions").Cells(Rows.Count, 1).End(xlUp).Row
Set rngSource = .Range("A2:B" & Lrow)
End With
NewrngSource = Replace(rngSource.Address, "$", "")
With ListBox1
.Value = "None"
.ColumnHeads = True
.ColumnCount = 2
.ColumnWidths = "50;100"
.RowSource = "SetupQuestions!" & NewrngSource & ""
.MultiSelect = fmMultiSelectMulti
.BoundColumn = 1
End With
End Sub

我试图找出一种方法来添加与 ListBox 中的项目相对应的 CheckBox。我可以轻松地从我的 ListBox 中获取项目。
Sub CommandButton1_Click()
Dim text As String
Dim i As Integer
For i = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.Selected(i) Then
text = text & Me.ListBox1.List(i, 0) & ". " & Me.ListBox1.List(i, 1) & " " & Chr(10)
End If
Next i
Sheets("NEW Format").Range("BB1").Value = text
Unload Me
End Sub

我只是不知道如何动态添加复选框。这是我的 Lisbox 的 View ,以及一个用于 YES/NO 对象的 CheckBox,但我在这里只列出了一个,我真的想要与列表中的每个项目对应的所有 CheckBox。

enter image description here

我在网上看到一个看起来很有希望的示例脚本,但它在我的 ListBox 下添加了 CheckBoxes,而不是在它的右侧。
For Each rngCell In rngSource
If rngCell.Value <> "" Then
Set NewChkBx = Me.Controls.Add("Forms.CheckBox.1")
With NewChkBx
.Caption = rngCell.Value
.Left = 5
.Top = TopPos
.AutoSize = True
If .Width > MaxWidth Then MaxWidth = .Width
End With
TopPos = TopPos + 15
End If
Next rngCell

最佳答案

我可以自动生成 CheckBox,但它花费的时间太长,而且我正在做的事情已经没有时间了。我最终在相邻列的列中添加了一些 AND/OR 字段,并添加了一些代码来正确处理所有内容。

enter image description here

现在一切就绪。
感谢大家。

关于vba - 如何动态地将"is"或“否”复选框添加到用户窗体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41551928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com