2022-11-28 23:14来源:m.sf1369.com作者:宇宇
你要隐藏哪个工作就写哪个工作表
如
Sub aa()
Sheets("sheet1").Visible
= 0
End Sub
这是隐藏sheet1这个工作表的,=2时尝试深度隐藏,=-1时显示工作表,=0时一般隐藏,可在工作表点右键取消隐藏,深度隐藏时,在工作表中不能取消隐藏。
不用VBA就可以实现复制。
1、同时打开两个工作簿。
2、鼠标右键点击要移动的工作表,选择移动或复制。
3、在移动或复制工作表汇总,选择另一个工作簿。
4、选择移动到最后,然后勾选建立副本,点击确定。
5、点击确定后,就可以复制过去了。
1.Excel 2007(含Excel 2007)以上版本引入了一个新的文件类型,叫做XML文件类型,这种文件类型默认是以XLSX为后缀名的。以该后缀名命名的文件类型当在内部写入了VBA或者宏代码时,在保存的过程中将会弹出如下图所示的提示。
2.由于VBA或者宏代码有一定的危害性,为了提高安全意识,凡是以XLSX为后缀名的文件都不能含有宏代码,这样收到文件的人就可以一目了然地了解文件是否含有宏。当在弹出的提示框中直接选择“是”时,保存的文件将自动删除所有的宏代码。
3.如果需要保存为含有宏代码的文件,则可以单击按钮“否”然后选择其中一个文件类型。如下图所示
4.在弹出的保存的文件类型中可以选择“启用宏的文件类型,然后单击保存按钮,如下图所示,最后文件的后缀名为XLSM。
5.其中后缀名为XLSM的文件表示该文件内含有VBA或者宏代码,使得文件的接收者可以一目了然地先获得内部的文件概括。如果需要保存为可以被EXCEL 2003打开的文件,则可以另存为”EXCEL 97-2003 工作簿“,当保存为该文件类型时,是可以含有宏代码的,所以2003的文件格式具有安全隐患,文件的接收者无法从后缀名获得该文件的内部概括。
excel中使用vba关闭excel的两种方法,有需要的朋友可以参考本文,来看看吧!
步骤
1、首先我们打开一个工作样表作为例子。
2、使用alt+f11组合快捷键进入vbe编辑器,插入一个新的模块,并在模块中输入以下代码:
Sub SendKeysSample()
Application.SendKeys ("%fx")
End Sub
3、这个代码很简单,sendkeys是应用程序中的一个方法,作用是依次顺序发送几个按键值。对应的键值可以看出%号是alt键,fx则是键盘上对应的fx键。我们可以在excel中手动运行一下按下这三个键的作用。
4、按下alt+f键后会进入excel文件菜单,再次按下x,则会提示是否保存excel工作薄,选择相应属性后,关闭excel工作薄,完成退出操作。
5、这种是借用excel的快捷键组合操作完成的退出命令。还有一种是使用vba函数完成的操作。同样是输入对象application,并使用quit方法完成退出excel的目的。
Sub 关闭Excel()
MsgBox "Excel将会关闭"
Application.Quit
End Sub
6、直接运行这个过程,弹出一个msgbox提示信息,excel将会关闭。同样会在退出前提示是否保存工作薄。大家按需要选择即可。
以上就是excel使用vba关闭表格的两种方法介绍,操作很简单的,大家学会了吗?希望这篇文章能对大家有所帮助!
你的思路有问题,既然是新生成另外一个工作簿,那你应该直接workbooks.add然后再操作新的工作。或者使用wroksheets("xxx").copy把工作表复制新的工作簿。另存的话,只能这样。另外,application.displayalerts=false可以不显示提示。
1.用Shell函数打开指定的文件夹
代码如下:
Sub exceloffice()
'*****************
'上面一连串代码
'最后打开文件夹看下效果
Dim sPath As String
sPath = "c:\test"
Shell "explorer.exe " & sPath, vbMaximizedFocus
End Sub
Shell函数是vba内置的函数,使用起来非常方便。它可以直接运行各种exe程序,同时附带参数运行。
使用Shell函数还可以直接运行Python打包后的exe程序,从而借助Python的强大功能助推VBA。
在本例中,Shell函数通过调用文件资源管理器explorer.exe直接打开指定的文件夹,其中 vbMaximizedFocus表示打开的时候最大化显示。
方法二:用Shell对象打开指定的文件夹
代码如下:
Sub exceloffice()
'*****************
'上面一连串代码
'最后打开文件夹看下效果
Dim sPath As String
sPath = "c:\test"
Dim oShell As Object
Set oShell = VBA.CreateObject("shell.application")
With oShell
.Open (sPath)
End With
End Sub
其实这个原理和Shell是一样的,但是Shell对象提供了自动化接口,功能更全,不仅可以打开文件夹,还可以做很多操作电脑的事情。
比如切换到桌面、打开运行对话框、关闭电脑等等,如下所示
Sub exceloffice()
Set oShell = CreateObject("shell.application")
With oShell
'切换到桌面
.ToggleDesktop
'打开运行对话框
.FileRun
'关闭电脑,记得保存文件
.ShutdownWindows
End With
End Sub
这种窗体的复杂一点,最简单的方法就是用excel的高级筛选,录制一个宏,然后就成了一个简单的多条件筛选就像这样
1、首先我们打开一个工作样表作为例子。
2、使用 alt+f11 组合键打开 vbe编辑器 ,新建一个模块,在模块编辑窗中输入以下代码:
Option Explicit
Sub 隐藏()
Dim i As Integer
For i = 1 To Sheets.Count
If Sheets(i).Name<> "源数据" Then
Sheets(i).Visible = 0
End If
Next x
End Sub
3、解读这段代码首先是要了解工作表的名称规则是默认的以数字顺序递增,按工作表的顺序依次是sheets1、sheets2、……直到最末尾一个工作表。 因此我们这里定义一个for循环,起始值为1,终值为工作表数 。
4、 接着我们对工作表名做判断 。工作表出了下标值,也就是上步提到的顺序命名,还可以自定义名称,也就是我们这里写的" 源数据 "。<>大于小于判断符为不等于。
5、visible属性是 可视属性 ,作为表格对象的属性即是可视或隐藏。这里写做0即是隐藏,我们可以用更直观的 写法false。
6、制作一个按钮并指定这个宏,我们运行一下,可以看到除了源数据工作表外,其他的工作表都隐藏起来了,如果需要回复,只需要将宏代码中visible的属性值0修改为1或者true然后运行即可
1、可以能过窗体的QueryClose事件设置,具体代码如下:
Private
Sub
UserForm_QueryClose(Cancel
As
Integer,
CloseMode
As
Integer)
ThisWorkbook.Close
True
End
Sub
2、窗体的QueryClose事件可以在点击窗体右上角的关闭按钮时触发。
3、ThisWorkbook表示当前代码所在的工作簿。
4、Close是关闭的方法。
5、
True是指关闭时保存此工作簿,如不想保存可改为FLASE。