[求助][VBA] 请各位大虾改错!!!
Private Sub CommandButton1_Click()On Error GoTo err<BR>For i = 1 To 11 Step 1<BR>slbl(i) = Val(TextBox1(i).Text)<BR>Next i<BR>slja1 = Int((slbl(1) / slbl(2) * 1000) + 0.5) / 1000<BR>slxa1 = Str(slja1)<BR>sljd0 = Int((Sqr(slja1 * 4 / 3.1415926)) * 1000 + 0.5) / 1000<BR>slxd0 = Str(sljd0)<BR>sljh2 = Int((3.6 * slbl(3) * slbl(4)) * 1000 + 0.5) / 1000<BR>slxh2 = Str(sljh2)<BR>sljh3 = Int((slbl(1) / (slbl(5) * 3.1415926 * slbl(6))) * 1000 + 0.5) / 1000<BR>slxh3 = Str(sljh3)<BR>slja2 = Int((slbl(1) / slbl(3)) * 1000 + 0.5) / 1000<BR>slxa2 = Str(slja2)<BR>slja = Int((slja1 + slja2) * 1000 + 0.5) / 1000<BR>slxa = Str(slja)<BR>sljd = Int((Str(4 * slja / 3.01415926)) * 1000 + 0.5) / 1000<BR>slxd = Str(sljd)<BR>sljv1 = Int((3.1415926 * slbl(9) * (slbl(7) * slbl(7) + slbl(7) * slbl(8) + slbl(8) * slbl(8)) / 3) * 1000 + 0.5) / 1000<BR>slxv1 = Str(sljv1)<BR>sljh = Int((slbl(10) + sljh2 + sljh3 + slbl(11) + slbl(9)) * 1000 + 0.5) / 1000<BR>slxh = Str(sljh)<BR>Label29.Caption = slxa1: Label30.Caption = slxd0: Label31.Caption = slxh2: Label53.Caption = slxh3<BR>Label55.Caption = slxa2: Label54.Caption = slxa: Label56.Caption = slxd: Label58.Caption = slxv1<BR>Label57.Caption = slxh<BR>Exit Sub<BR>err:<BR>magbox ("你所输入的数据中有违法数据,请检查!")<BR>Exit Sub
<BR>End Sub
请教各位为什么提示我“slbl(i) = Val(TextBox1(i).Text)”子过程或函数未定义~~?<BR>
TextBox1(i).Text,在VBA中没有控件数组,因而这种用法是错误的,应该是TextBox1.Text、TextBox2.Text、...、TextBox11.Text。 本帖最后由 作者 于 2004-4-15 19:56:07 编辑
要写类似VB控件数组的写法可以用:‘该示例在立即窗口打印TextBox1~TextBoxn的文本值For i = 1 To n
Debug.Print Controls("TextBox" & Trim(Str(i))).Text
Next i的形式 我用
slbl(1)=textbox1.text:slbl(2)=textbox2.text:、、、、、、slbl(11)=textbox11.text
好像还是不行
再请问楼上是不是可以写成这样“slbl(Str(i)) = TextBox(Str(i)).Text” 在VBA中没有控件数组!!!!!
我引用的窗体的控件集合 可以用
For i = 1 To 11
slbl(i)=Controls("TextBox" & Trim(Str(i))).Text
Next i
另外,你的slbl数组定义了么? 我用“option base 1:dim slbl(1 to 11) as long"dim i as integer”定义的,这样行吗? 我都改过来啦,但是显示“你所输入的数据中有违法数据,请检查!”不知道是不是给slbl(i)赋值的类型不对? Val(Controls("TextBox" & Trim(Str(i))).Text)
应该可以吧 我上传过来,帮帮看看行吗?
多谢啦!!!
页:
[1]
2