感谢您查看我的问题:)我正在运行时在用户窗体上创建一个文本框,并希望在其上显示过滤的数据。我遇到了以下代码的许多运行时错误。对于第一个文本框,我想显示一个致命计数,对于第二个文本框,它应该是Majorcount,对于最后一个文本框,它应该是minorcount。有人可以指引我走正确的道路吗?提前致谢
Private Sub UserForm_Initialize()
Set sh = ThisWorkbook.Sheets("Testing")
sh.Range("F21").Activate
With sh
fatalcount = WorksheetFunction.CountIf(Range("F:F"), "Fatal")
'MsgBox fatalcount
Majorcount = WorksheetFunction.CountIf(Range("F:F"), "Major")
'MsgBox Majorcount
Minorcount = WorksheetFunction.CountIf(Range("F:F"), "Minor")
'MsgBox Minorcount
'Add a text box at run time
Dim txtB1 As Control
Dim i
For i = 0 To 5
Set txtB1 = Me.Controls.Add("Forms.TextBox.1")
With txtB1
.Name = "chkDemo" & i
.Height = 20
.Width = 100
.Left = 12
.Top = 15 * i * 2
.Text.i = fatalcount ' problem lines
.Text.i 1 = Majorcount
.Text.i 2 = Minorcount
End With
Next i
End Sub
希望这是您想要的。
Private Sub UserForm_Initialize()
Set sh = ThisWorkbook.Sheets("Testing")
sh.Range("F21").Activate
With sh
fatalcount = WorksheetFunction.CountIf(Range("F:F"), "Fatal")
Majorcount = WorksheetFunction.CountIf(Range("F:F"), "Major")
Minorcount = WorksheetFunction.CountIf(Range("F:F"), "Minor")
End With
Dim txtB1 As Control
Dim i
For i = 0 To 2
Set txtB1 = UserForm1.Controls.Add("Forms.TextBox.1")
With txtB1
.Name = "chkDemo" & i
.Height = 20
.Width = 100
.Left = 12
.Top = 15 * i * 2
End With
Next i
Dim tbox As Control
For Each tbox In UserForm1.Controls
If tbox.Name = "chkDemo0" Then
tbox.Value = fatalcount
ElseIf tbox.Name = "chkDemo1" Then
tbox.Value = Majorcount
ElseIf tbox.Name = "chkDemo2" Then
tbox.Value = Minorcount
End If
Next
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句