VBA控件数组问题
vba窗体中若同类型的控件,可以使用控件数组的方式来定义和命名一类控件的动作,一般用control来实现,但是若在excel表格中添加一些同类型的控件,应该怎么处理。比如...
vba窗体中若同类型的控件,可以使用控件数组的方式来定义和命名一类控件的动作,一般用control来实现,但是若在excel表格中添加一些同类型的控件,应该怎么处理。比如是sheet1中添加了30个textbox控件,我要让他们分别等于对应的表格(cell)的值,比如说TextBox1.text=sheet1.cells(1,1);TextBox2.text=sheet1.cells(1,2);TextBox3.text=sheet1.cells(1,3)......,哪位大虾帮忙解决一下
Private Sub CommandButton1_Click()
Call test
End Sub
Sub test()
Dim shp As OLEObject, mark As String
mark = "TextBox"
With Sheet1
For Each shp In .OLEObjects
If InStr(shp.Name, mark) > 0 Then
shp.Object.Text = .Cells(1, Val(Replace(shp.Name, mark, "")))
Next
End With
End Sub
这样好像不行 展开
Private Sub CommandButton1_Click()
Call test
End Sub
Sub test()
Dim shp As OLEObject, mark As String
mark = "TextBox"
With Sheet1
For Each shp In .OLEObjects
If InStr(shp.Name, mark) > 0 Then
shp.Object.Text = .Cells(1, Val(Replace(shp.Name, mark, "")))
Next
End With
End Sub
这样好像不行 展开
展开全部
’试一下
Sub test()
Dim shp As OLEObject, mark As String
mark = "TextBox"
With Sheet1
For Each shp In .OLEObjects
If InStr(shp.Name, mark) > 0 Then shp.Object.Text = .Cells(1, Val(Replace(shp.Name, mark, "")))
Next
End With
End Sub
Sub test()
Dim shp As OLEObject, mark As String
mark = "TextBox"
With Sheet1
For Each shp In .OLEObjects
If InStr(shp.Name, mark) > 0 Then shp.Object.Text = .Cells(1, Val(Replace(shp.Name, mark, "")))
Next
End With
End Sub
追问
能不能稍微再解释一下 。
我运行了一下 ,在sheet1 中加了4个textbox控件,和一个commangbutton按钮,我想通过单击commandbutton按钮使textbox1.text=sheet1.cells(1,1);textbox2.text=sheet1.cells(1,2);textbox3.text=sheet1.cells(1,3);textbox4.text=sheet1.cells(1,4)
程序如下:
最终显示的就只有textbox1中被赋值了,其它都没有,请问这是怎么回事?
追答
1、因为其他的控件是否正确,我假设是默认的控件名
2、单元格中是否有数据?a1-z1看一下有没有数据
------------------
把我的代码放到模块里面,可以由command调用
------------------
vba怎么用你应该知道吧,新建一个表格,在模块中放入我的代码,然后在sheet1中插入几个默认的textbox控件,在工作表的第一行放些数据,再运行这个宏
展开全部
for i=1 to 30
textbox & i.text=sheets("sheet1").cells(1,i)
next i
用这个语句就行
textbox & i.text=sheets("sheet1").cells(1,i)
next i
用这个语句就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ActiveSheet.OLEObjects(i).Objects.text = "xxxxxxxx"
i = 1 2 3 ............
i = 1 2 3 ............
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |