我的问题很简单。此代码仅适用于txtDraw(字母)和Y。 示例:txtDrawA1,txtDrawA2,依此类推。我要使此代码的工作方式如下:txtDrawAA1,txtDrawAA2,将一个字符替换为2个字符。
此代码:Dim tbName = "txtDraw" & Chr(64 + x) & y
Private Sub txtDrawSum()
On Error Resume Next
For y = 1 To 8
Dim sum = 0
For x = 16 To 30
Dim tbName = "txtDraw" & Chr(64 + x) & y
sum += CInt(Tab3.TabPages(1).Controls(tbName).Text)
Next
TabControl2.TabPages(4).Controls("SumDrawA" & (0 + y)).Text = sum.ToString()
Next
End Sub
答案 0 :(得分:2)
好吧,简单的解决方案是将Chr(64 + x)
重复两次,即:
Dim tbName = "txtDraw" & Chr(64 + x) & Chr(64 + x) & y
但更好的方法是使用String
构造函数:
Dim tbName = "txtDraw" & New String(Chr(64 + x), 2) & y
或Strings.StrDup
:
Dim tbName = "txtDraw" & StrDup(2, Chr(64 + x)) & y
这更好,因为突然说您想重复10次该字符,而不必像第一个示例一样重复代码。
顺便说一句,您可能想使用字符串插值来清理串联:
Dim tbName = $"txtDraw {StrDup(2, Chr(64 + x))} {y}"
答案 1 :(得分:0)
尝试使用替换功能。
OldString.ToString().Replace("txtDrawA","txtDrawAA")