以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何利用代码删除excel工作表中的空行呢?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=180001)

--  作者:cnsjroom
--  发布时间:2022/9/22 16:50:00
--  如何利用代码删除excel工作表中的空行呢?

如何利用代码删除excel工作表中的空行呢?

主要是在分页预览的时候是1页,取消分页预览后普通预览的时候,显示有很多空行。

怎么删除这种多行且列都为空的空行呢?


--  作者:有点蓝
--  发布时间:2022/9/22 16:59:00
--  
遍历所有行,判断某个列数据为空就删除这一行
--  作者:cnsjroom
--  发布时间:2022/9/22 17:29:00
--  回复:(有点蓝)遍历所有行,判断某个列数据为空就删...

假定我只想导入前三十行数据,大于三十的就删除,

 

帮助里面有:

利用Delete方法,同时结合EntireRow和EntireColumn属性,可删除整行和整列。如:

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A10")\'以这个指定的单元格为基准
Rg.EntireColumn.Delete(MSExcel.XlDirection.xlToLeft)  \'右面的单元格左移
App.Visible = True

 

这样写没有实现预期:

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("C:\\MyFolder1\\202208AJT15_一览表1-8月.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Range("A30")\'以这个指定的单元格为基准
Rg.EntireRow.Delete() 
App.Visible = True


--  作者:有点蓝
--  发布时间:2022/9/22 17:40:00
--  
Dim Rg As MSExcel.Range = Ws.Rows("30:65535")\'选定多行
Rg.Delete(MSExcel.XlDirection.xlUp) \'下面的单元格上移
App.Visible = True