Combo1中读取的excel表格如何传递到Combo2中

loloxywang 2017-10-24 09:46:40
Private Sub Combo1_Click()
'Dim dongexcel As Object
'Dim dongbook As Object
'Dim dongsheet As Object
Dim dongexcel As New Excel.Application
Dim dongbook As Excel.Workbook
Dim dongsheet As Excel.Worksheet
Dim J As Integer

If Combo1.Text = "东阳变" Or Combo1.Text = "桐鹤变" Or Combo1.Text = "石金变" Or Combo1.Text = "深泽变" Then

'Set dongexcel = CreateObject("Excel.Application")
Set dongbook = dongexcel.Application.Workbooks.Open("C:\Users\Administrator\Desktop\QC\东阳运维班操作任务.xlsx", ReadOnly:=False)
dongbook.Close True
'Set dongbook = GetObject("C:\Users\Administrator\Desktop\QC\东阳运维班操作任务.xlsx")
'dongexcel.Visible = True
'Set dongbook = dongexcel.Workbooks.Open("C:\Users\Administrator\Desktop\QC\东阳运维班操作任务.xlsx")
'dongexcel.Visible = False
Set dongsheet = dongbook.Worksheets(Combo1.Text)

Combo2.Clear
'读取间隔名称
I = dongsheet.UsedRange.Rows.Count
Combo2.AddItem dongsheet.Cells(1, 1).Value
For J = 2 To I
If dongsheet.Cells(J, 1) <> dongsheet.Cells(J - 1, 1) Then
Combo2.AddItem dongsheet.Cells(J, 1).Value

End If
Next
Else
Combo2.Clear
MsgBox "请选择变电站!"
End If

End Sub


Private Sub Combo2_Change()
Dim V2 As String
Dim II As Integer
V2 = Combo2.Text
For II = 0 To Combo2.ListCount - 1
If UCase(Combo2.List(II)) Like V2 & "*" Then
Combo2.Text = Combo2.List(II):
Combo2.SelStart = Len(V2):
Combo2.SelLength = Len(Combo2.Text) - Len(V2):
End If
Next
End Sub



Private Sub Combo2_Click()
Combo3.Clear
J = 1
Dim cdcd As String
cdcd = dongsheet.Cells(J, 1).Value
For J = 1 To I
If dongsheet.Cells(J, 1).Value = Combo2.Text Then

Combo3.AddItem dongsheet.Cells(J, 2).Value
End If
Next

'Combo3.Clear
'MsgBox "请选择操作任务!"
'End If
End Sub
dongsheet这个还要在combo1中已经读取完成,在combo2中有办法直接引用吗?还有在执行Set dongbook = dongexcel.Application.Workbooks.Open("C:\Users\Administrator\Desktop\QC\东阳运维班操作任务.xlsx", ReadOnly:=False)为什么会提示Open的对象workbook失败,求教。谢谢!
...全文
267 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-10-29
  • 打赏
  • 举报
回复
引用 6 楼 u011222864 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:] 使用剪贴板,在Excel中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
谢谢赵老师的回答,查看对应的VBA代码是为了什么啊?[/quote] 在VB中照葫芦画瓢写程序。
loloxywang 2017-10-27
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
使用剪贴板,在Excel中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
谢谢赵老师的回答,查看对应的VBA代码是为了什么啊?
赵4老师 2017-10-26
  • 打赏
  • 举报
回复
使用剪贴板,在Excel中开始记录宏,手动完成所需功能,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。
赵4老师 2017-10-26
  • 打赏
  • 举报
回复
借用剪贴板?
赵4老师 2017-10-25
  • 打赏
  • 举报
回复
关闭UAC、防火墙、杀毒软件、…… 以管理员身份运行
loloxywang 2017-10-25
  • 打赏
  • 举报
回复
引用 1 楼 zhao4zhong1 的回复:
关闭UAC、防火墙、杀毒软件、…… 以管理员身份运行
没有用啊,我试过了,还有其他方法吗?谢谢!
  • 打赏
  • 举报
回复
我也是东阳人哦,横店的,QQ2776478814

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧