Foxtable(狐表)用户栏目专家坐堂 → [求助]如何删除Excel里特定行高的行?


  共有2417人关注过本帖树形打印复制链接

主题:[求助]如何删除Excel里特定行高的行?

帅哥哟,离线,有人找我吗?
1669607010
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
[求助]如何删除Excel里特定行高的行?  发帖心情 Post By:2021/4/6 8:41:00 [只看该作者]

有个比较奇葩的需求,哪位老师指导一下,有没有办法删除Excel里行高为0.5的所有行?

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 8:45:00 [只看该作者]

遍历所有行,如果行高为0.5就删除:http://www.foxtable.com/webhelp/topics/1158.htm

Dim Book As New XLS.Book("c:\test\订单.xls")
Dim 
Sheet As XLS.Sheet = Book.Sheets(0)

For n As Integer = Sheet.Rows.Count -1 to 0 step -1
   if 
Sheet.Rows(n).Height = 0.5 then
Sheet.Rows.RemoveAt(n)
end if
Next


 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/4/6 8:50:00 [只看该作者]

谢谢老师指导

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/4/6 10:11:00 [只看该作者]

蓝老师,还有一个问题,代码能删除特定的行,但删除的行后面的行的格式怎么变了 ?也就是说特定的行是删除了,可格式貌似没删除、删除行后的行就都错位了。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 10:13:00 [只看该作者]

试试

For n As Integer = Sheet.Rows.Count -1 to 0 step -1
   if 
Sheet.Rows(n).Height = 0.5 then
Sheet.Rows(n).style = nothing
Sheet.Rows.RemoveAt(n)
end if
Next

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/4/6 10:18:00 [只看该作者]

加上那句代码后提示“未将对象引用设置对象的实例”

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 10:21:00 [只看该作者]

execl文件发上来测试

 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/4/6 10:33:00 [只看该作者]

为了方便您观看,需要删除的行高调成10了,在EXCEL里也标注出来了
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外购原料出库单a4.xls


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107035 积分:544406 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/6 10:50:00 [只看该作者]

测试没有问题:
Dim Book As New XLS.Book("D:\问题\外购原料出库单a4.xls")
Dim Sheet As XLS.Sheet = Book.Sheets(0)

For n As Integer = Sheet.Rows.Count -1 To 0 Step -1
'Output.Show(Sheet.Rows(n).Height)
    If Sheet.Rows(n).Height = 13 Then
        Sheet.Rows(n).Style = Nothing
        Sheet.Rows.RemoveAt(n)
    End If
Next
Book.Save("D:\问题\外购原料出库单a4.xls")

哪一行样式有问题?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:外购原料出库单a4(更改后).xls



 回到顶部
帅哥哟,离线,有人找我吗?
1669607010
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:380 积分:3515 威望:0 精华:0 注册:2017/9/5 8:28:00
  发帖心情 Post By:2021/4/6 11:05:00 [只看该作者]

谢谢老师。完美解决了

 回到顶部