我在用户窗体中有几个文本框,根据 Excel 工作表中使用的行数自动生成。正在从单元格中提取文本。这一切都没有任何问题。
Private Sub CreateBoxes()
Dim lastRow As String
Dim tb_X As MSForms.TextBox
Dim TopPos As Integer
lastRow = Sheets("Data").Range("A" & Rows.Count).End(xlUp).Row
TopPos = -15
For i = 1 To lastRow
If Sheets("Data").Range("C" & i).Value = "Booking" Then
Set tb_X = Frame6.Controls.Add("Forms.TextBox.1", "tb_" & i, True)
TopPos = TopPos + 15
With tb_X
.Height = 15
.Width = 190
.SpecialEffect = fmSpecialEffectFlat
.Left = 5
.Top = TopPos
.Font.Size = 11
.Text = tB_X.Font.Size 'just a test, to get the set font size
End With
End If
Next
End Sub
Font.Size 设置为 11。但是某些文本框的文本比其他文本框的文本大。如果我将大小设置为 10 或 14,它们都是相同的,否则不是。我尝试使用 MultiLine
、
WordWrap
等,但没有成功。对此你有解释吗?
PS: 我知道我可以使用列表框来做到这一点,但我想要更多的框选项,例如不同的背景颜色等,这就是为什么我决定使用多个文本框而不是一个列表框。据我所知,VBA 在这个方向上非常有限。
谢谢!