Foxtable(狐表)用户栏目专家坐堂 → EXCEL 删除行


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

主题:EXCEL 删除行

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
EXCEL 删除行  发帖心情 Post By:2014/11/11 23:58:00 [只看该作者]

Dim Boo As New XLS.Book("e:\表A.xlsx")
Dim Shee As XLS.Sheet = Boo.Sheets(0)
Shee(1,1).Value = ""
上述代码可以删除EXCEL表的内容,如何实现删除EXCEL表中第一列值为“xxxxx” 的行

条件删除EXCEL 表的行,求助!

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/12 8:11:00 [只看该作者]

遍历 然后判断 Value

比如

for each i as integer = 1 to Shee.rows.count-1
     if Shee(1,i).Value="XX" then
        Shee(1,i).Value=""
    end if
next

 回到顶部
客人(14.115.*.*)
  3楼


  发帖心情 Post By:2014/11/12 11:09:00 [只看该作者]

如下代码能删除行,不过无法设置条件
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.Rows("1:3")'选定多行
Rg.Delete(MSExcel.XlDirection.xlUp) '下面的单元格上移
App.Visible = True

谢谢版主!,不过我要的是条件删除行,而不是删除内容。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/12 11:11:00 [只看该作者]

 删除肯定是不能设置条件的。

 

 你判断某行的值,如果符合,就删除即可。


 回到顶部
客人(14.115.*.*)
  5楼


  发帖心情 Post By:2014/11/12 11:18:00 [只看该作者]

谢谢版主!能举例说明一下吗?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/12 11:19:00 [只看该作者]

 那你想怎样设置条件?

 回到顶部
客人(14.115.*.*)
  7楼


  发帖心情 Post By:2014/11/12 11:21:00 [只看该作者]

删除EXCEL表中第一列值为“xxx” 的行

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/12 11:24:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\1.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
For i As Integer = ws.UsedRange.Rows.Count To 1 Step -1
    If ws.Cells(i, 1).Text = "abc" Then
        ws.Cells(i, 1).delete(MSExcel.XlDirection.xlUp)
    End If
Next
App.Visible = True

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2014/11/12 11:25:00 [只看该作者]

非常感谢!


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2014/11/15 12:55:00 [只看该作者]

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\1.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
For i As Integer = ws.UsedRange.Rows.Count To 1 Step -1
    If ws.Cells(i, 1).Text = "abc" Then
        ws.Cells(i, 1).delete(MSExcel.XlDirection.xlUp)
    End If
Next
App.Visible = True
用述代码能够删除行,不过执行上述代码后其他的代码失效了,要重新打开项目才有用。

求助是否有其他代码能够删除EXCEL的行,谢谢!

 回到顶部