这段VBA代码的作用是删除Excel工作簿中所有工作表中的空行和空列。代码包含了三个子过程:
Sub 删除所有空行和空列()
这个子过程首先遍历工作簿中的每一个工作表。对于每一个工作表,它执行以下 *** 作:
取消合并单元格,以便在删除空行和空列时不会留下空白的单元格。
调用 DeleteEmptyRows 子过程,删除所有空行。
调用 DeleteEmptyColumns 子过程,删除所有空列。
自动调整行高和列宽,以适应数据。
Sub DeleteEmptyRows()
这个子过程用于删除工作表中的空行。它首先确定最后一行的行号,然后从最后一行卜橡开始向上遍历,逐行检查该行是否为空行。如果该行为空行,则删除该行。通过使用 CountA 函数来确定行中是否存在任何非空单元格。
Sub DeleteEmptyColumns()
这个子过程用于删除液嫌工作表中的空列闹弊手。它首先确定最后一列的列号,然后从最后一列开始向左遍历,逐列检查该列是否为空列。如果该列为空列,则删除该列。也是通过使用 CountA 函数来确定列中是否存在任何非空单元格。
需要注意的是,由于该代码对每个工作表都进行了 *** 作,如果工作簿中有大量工作表或者数据量很大,可能会影响代码的执行效率。
在Excel中,通过使用VBA程序,可以方便地实现XML文件的添加。实际上,通过VBA代码向工作表导入XML文档数据需要完成3个步骤。以下是我为您带来的关于Excel中编写VBA程序加载XML文件的方法,希望对您有所帮助。Excel中编写VBA程序加载XML文件的方法
1、新建键哪搭Excel文件,打开Visual Basic编辑器。选择菜单栏中的“插入”|“模块”命令创建一个新模块,双击该模块打开其“代码”窗口,在其中输入程序代码,如图1所示。具体的程序代码如下所示:
Sub CreateXMLList()
Dim xMap As XmlMap
Dim objList As ListObject
Dim arrPath As Variant
Dim mPath As XPath
Dim i As Integer
On Error Resume Next
arrPath=Array("学号","姓名","性别","出生年月",_
"身份z号","籍贯","电话","地址") '架构元素名
Set xMap=ThisWorkbook.XmlMaps("学生信息架构映射") '获取架构映射
If xMap Is Nothing Then '如果架构映射不存在则创建
Set xMap=ThisWorkbook.XmlMaps.Add(ThisWorkbook.Path&_"\学生信息.xsd") '创建到学生信息的架构映射
xMap.Name="学生信息架构映射" '设置架构映射的名称
End If
Set objList=Sheet1.ListObjects.Add '在Sheet1表中添加列表
For i=1 To UBound(arrPath)
objList.ListColumns.Add '为列表添加列
Next
For i=0 To UBound(arrPath) '设置列表的各个列
objList.ListColumns(i+1).Name=arrPath(i) '设置列表第i+1列的列标题
objList.ListColumns(i+1).XPath.SetValue xMap,_"/学生明细/学生信息/"&arrPath(i) '建立第i+1列的区域映射
Next
xMap.Import ThisWorkbook.Path&"\学生信息.xml" '导入XML数据文档
End Sub
图1 添加模块并输入程序代码
2、切换到Excel,选择A1单元格,返回Visual Basic编辑器中,将插入点光标放置到上一步创建的程序中,按F5键运行程序,在Excel工作表中可以查看到程序代码运行的结果,如图2所示。
图2 程序运行的结果
提示
从上面的结果中可以看出,Excel文件中已经加载了映射的名称和元素,并且将这些元素都填充到Excel的列表中。
3、添缓银加导入数据的代码。在程序代码的最后添加如下代码:
xMap.Import ThisWorkbook.Path&“\学生信息.xml” '导入XML数据文档
返回到VBA中,查看程序代码运行结果,如图3所示。
图3 运行结果
注意
通过录制宏并不能获取导入XML文档数据的全部代码,其中指定映射区稿拿域的步骤将不会获取任何宏代码。因而读者在使用该方法时,需要自己手动完成这些代码的设置工作。
猜你喜欢:
1. Excel2010怎么添加Vba编辑器
2. Excel怎么调用VBA
3. excel如何使用VBA窗口
4. Excel2010怎样添加Vba编辑器
5. 怎么在VBA指令中调用Excel函数
下面是我当初在Excel中学习的方法: 1. 点菜单的工具,宏,录制宏,做一些简单的动作,如在A1输入1,在B1输入 =A1*2,将B1的字体颜色设为红色,停止录制。同时按Alt和F11进入VB界面,在左上窗口找到模块一,双击,右边窗口出来了你录制的宏的代码。懂英语最好了,一句一句就象白话文:) 2. 裘伯君说:编程只需掌握判断语句。VBA中典型的判断语句如下: if 某条件 then 一些语句 else 又一些语句 end if 简单的if语句可以是 if 某条件 then 一些语句 end if 更简单的判断语句为 if 某条件 then 一语句 举例,在你录制的代码处粘贴以下宏: Sub Test() If 5 >2 then Msgbox "I Love U!" End Sub 按F5运行此宏,你会看到一消息框,“I Love U!" 所铅段塌有的 *** 作无非是一大堆逻辑判断,即If语句中再套If语句。 3. 除了判断语句,还应掌握循环语句,应为电脑擅长的就是重复工作:) 粘贴以下代码槐圆在有你录制宏的地方: Sub Test2() for i = 1 to 10 cells(i,1)=i cells(i,1).font.colorindex = i next i end sub 把宏的窗口变小些,让你能看到Excle表格的A列,在宏的窗口中重复按F8,看Excel里的变化。 For ... to ... 一些语句 Next 是经典的循环语句,刚才那个代码的意思是从1重复到10,其中Cells(i,1)是工作表中的第i行第1列,font.colorindex你录制的第一个宏里有的,就是设字体颜色。 多来QQ问燃弯问中搜搜,比如直接搜VBA,或者点我的名字看有哪些VBA的问题:)欢迎分享,转载请注明来源:内存溢出
评论列表(0条)