这里人多发个EXCEL VBA的问题
- wxh5工作的关系,一直用EXCEL,半年前想学Python,未入门,想不通这个怎么交互,用EXCEL很容易实现,因为本身一些数据就是写在表里的
用EXCEL VBA的兄弟不知道多不多?现在碰到个问题,百度的时候也不知道设什么关键词,在这里详细说一下,希望有大神能指导一下
两个sheet,在sheet1里点开form1后,通过这个form1再打开form2,同时unload form1,同时把sheet2设为激活,操作一番之后,在再unload form2
这个时候,sheet2处于激活状态,但无法直接在sheet2进行复制、删除操作,可以修改内容,这点很奇怪。如果想恢复sheet2的操作,必须手动切换至sheet1,再切换至sheet2,这时sheet2才能正常。
是什么原因造成这个现象的?如何在关掉form2之后,能直接在sheet2进行操作?
上传个测试文件试一下,有闲的朋友吗?test.xlsm(20.77 KB)
- 围路人甲城这大半夜的 来去匆匆
- wxh5
- 奸人坚看了下你的vb代码,我记得编辑内容的话需要先把Excel文件变成对象才能编辑的,你没有实例化的Excel对象
- ptcptr一个方法,点录制宏,然后把要操作的步骤操作一遍,再点编辑宏,就看到vba源码了
- SevenYearItchfocus,印象中除了激活,还要把焦点设置到active那个对象。具体录制宏,再看看宏代码。
- wxh5谢了楼上两位!明天再试,已经躺下了
- keshouz还是python好用,推荐xlwings和pandas库,vba还是太复杂了 iOS fly ~
- 挺能说的python图形化交互确实是个问题
- xiaomao88为啥要换着激活sheet呢,直接带表名操作不就好了么。HiPDA·NG
- wxh5试着一下在退出form2的时候,直接点击录制宏,没想到提示不能记录
不管提示直接操作完成后,代码里多了一个模块2,双击,整个excel非法退出了 - wxh5回复12#xiaomao88
想弄一个工程管理,sheet1是所有工程的具体状态,form1是输入这些信息的界面,输完存在sheet1。
然后在form1弹出检索的窗口form2,限定条件,在sheet2生成检索表。
本意是在检索完成后,直接在sheet2复制关键字,回sheet1搜索的
现在倒好,在sheet2无法直接复制,需要先回sheet1,再切换回sheet2,复制,再回sheet1去搜索。
现在尝试一下加焦点,代码不熟,去百度一下 - wxh5焦点好像是对控件而言……
- 围路人甲城下载了测试文件,退出窗口2后,对表2的操作一切正常。
- 围路人甲城本意是在检索完成后,直接在sheet2复制关键字,回sheet1搜索的
现在倒好,在sheet2无法直接复制,需要先回sheet1,再切换回sheet2,复制,再回sheet1去搜索。
另外“复制关键字”是啥意思?vbag还需要复制?直接赋值不就行了? - shiyiii貌似表2没被激活啊,不是被操作的表,表1有虚框,是符合条件的框的话,就是表不对
- shiyiiimsgbox下现在操作的是哪个表应该就清楚了吧
- wxh5
- wxh5
- wxh5
- 宋思明一个感觉,不一定对,你这个需求可能用access更容易实现
- shiyiii
- wxh5回复24#shiyiii
试过了啊,没用你帮我看看??test代码很简单,就1句,我自己实验的时候加了active也没用
form2的退出按钮代码如下:
Private Sub CommandButton1_Click()
Unload UserForm2
Sheet2.Activate
End Sub
没用 - shiyiii
- wxh5
- wxh5
- shiyiii
- wxh5今天乱百度,没几下就找到了一个曲线解决方案:
把窗体设为无模式:
1.有模式:此模式下,只显示本窗体,只能在本窗体使用控件,无法选择其他窗体或者工作表对象。默认ShowModal属性为TRUE,也就是有模式。
2.无模式 无模式下,可以同时显示多个窗体,能在多个窗体间切换(其他窗体也必须是无模式),能自由选择工作表对象,例如复制单元格内容等操作。
在无模式下可以同时操作表格的内容。默认是有模式