由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Software版 - 求助:excel 删除行数据问题
相关主题
一个Excel的问题Excel question (转载)
一个VBA的问题求助,简单的Excel应用问题。 (转载)
Re: [转载] 哪有比较好的Excel电子版的书怎么把excel表格中图表柱 两两弄到一块呢?
excel 问题VB问题
how to paste an excel table vertically into word?请问谁使用过VBA软件编程?小女子有几个问题要请教一下
可不可以推荐一本学习Excel/VBA的书?求救:多个word文件转换成多个pdf文件
Excel help needed有关将email marketing的软件融入到自己的网站中
请教一个Excel的问题请问做餐馆菜单用什么软件最好呢?要能够自动更新.
相关话题的讨论汇总
话题: nrow话题: initialrow话题: rows话题: delrange话题: sub
进入Software版参与讨论
1 (共1页)
h**h
发帖数: 7
1
2000 行数据,如果要多次删除间隔不一致的20行数据,例如要删除 10-29行,100-119
行,240- 259行等,请问有无简捷方法?谢谢。
h**h
发帖数: 7
2
补充一下: excel 2003, 已知每段数据的起始行数,要删除此行及其以下19行数据。

119

【在 h**h 的大作中提到】
: 2000 行数据,如果要多次删除间隔不一致的20行数据,例如要删除 10-29行,100-119
: 行,240- 259行等,请问有无简捷方法?谢谢。

B*******e
发帖数: 3882
3
use VBA

【在 h**h 的大作中提到】
: 补充一下: excel 2003, 已知每段数据的起始行数,要删除此行及其以下19行数据。
:
: 119

p***r
发帖数: 4859
4
Sub DelExcelRow(nRow As Long)
Rows(nRow & ":" & nRow).Select
Selection.Delete Shift:=xlUp
End Sub
Sub test()
DelExcelRow 4
End Sub

119

【在 h**h 的大作中提到】
: 2000 行数据,如果要多次删除间隔不一致的20行数据,例如要删除 10-29行,100-119
: 行,240- 259行等,请问有无简捷方法?谢谢。

f*****y
发帖数: 124
5
如果你会自己录制宏,录个空的宏,把下面代码加进去。
Sub DelRows()
'
' Delete Rows in Excel , Macro
'
'
Dim InitialRow(), nRow
InitialRow = Array(10, 100, 240) 'Edit or Add here
For Each nRow In InitialRow
Rows(nRow & ":" & nRow + 19).Select
Selection.Delete Shift:=xlUp
Next
End Sub

【在 h**h 的大作中提到】
: 补充一下: excel 2003, 已知每段数据的起始行数,要删除此行及其以下19行数据。
:
: 119

h**h
发帖数: 7
6
Got it. Thanks a lot.

【在 f*****y 的大作中提到】
: 如果你会自己录制宏,录个空的宏,把下面代码加进去。
: Sub DelRows()
: '
: ' Delete Rows in Excel , Macro
: '
: '
: Dim InitialRow(), nRow
: InitialRow = Array(10, 100, 240) 'Edit or Add here
: For Each nRow In InitialRow
: Rows(nRow & ":" & nRow + 19).Select

B*******e
发帖数: 3882
7
You have to consider that the row numbers will change after you delete the r
ows in the first round of the loop.
Here is my code:
Sub DelRows()
'
' Delete Rows in Excel , Macro
'
'
Dim InitialRow(), nRow
Dim DelRange As Range
InitialRow = Array(10, 100, 140) 'Edit or Add here
Set DelRange = Rows(InitialRow(0))
For Each nRow In InitialRow
Set DelRange = Application.Union(DelRange, Range(Rows(nRow), Rows(nR
ow + 19)))
Next
DelRange.Select
Selection.Dele

【在 f*****y 的大作中提到】
: 如果你会自己录制宏,录个空的宏,把下面代码加进去。
: Sub DelRows()
: '
: ' Delete Rows in Excel , Macro
: '
: '
: Dim InitialRow(), nRow
: InitialRow = Array(10, 100, 240) 'Edit or Add here
: For Each nRow In InitialRow
: Rows(nRow & ":" & nRow + 19).Select

h**h
发帖数: 7
8
运行了这个代码.从后向前删除。其中 InitialRow = Array(240,100,10)。结果显示出
错信息:Method 'Rows' of object'_ Global' failed. Debug 发现 下列代码出错:
Set DelRange = Rows(InitialRow(0))。不知如何解决?谢谢。

r

【在 B*******e 的大作中提到】
: You have to consider that the row numbers will change after you delete the r
: ows in the first round of the loop.
: Here is my code:
: Sub DelRows()
: '
: ' Delete Rows in Excel , Macro
: '
: '
: Dim InitialRow(), nRow
: Dim DelRange As Range

h**h
发帖数: 7
9
运行这段代码出错:Rows(nRow & ":" & nRow + 19).Select。从后向前删除数据。请
问如何解决?

【在 f*****y 的大作中提到】
: 如果你会自己录制宏,录个空的宏,把下面代码加进去。
: Sub DelRows()
: '
: ' Delete Rows in Excel , Macro
: '
: '
: Dim InitialRow(), nRow
: InitialRow = Array(10, 100, 240) 'Edit or Add here
: For Each nRow In InitialRow
: Rows(nRow & ":" & nRow + 19).Select

B*******e
发帖数: 3882
10
你在 Rows 前面加上 ActiveSheet. 试试。也就是改成(Fishboy 的code 应该也是这个
问题):
Sub DelRows()
'
' Delete Rows in Excel , Macro
Dim InitialRow(), nRow
Dim DelRange As Range
InitialRow = Array(240, 100, 10) 'Edit or Add here
Set DelRange = ActiveSheet.Rows(InitialRow(0))
For Each nRow In InitialRow
Set DelRange = Union(DelRange, Range(ActiveSheet.Rows(nRow), ActiveS
heet.Rows(nRow + 19)))
Next
DelRange.Select
Selection.Delete Shift:=xlUp
End Sub

【在 h**h 的大作中提到】
: 运行了这个代码.从后向前删除。其中 InitialRow = Array(240,100,10)。结果显示出
: 错信息:Method 'Rows' of object'_ Global' failed. Debug 发现 下列代码出错:
: Set DelRange = Rows(InitialRow(0))。不知如何解决?谢谢。
:
: r

h**h
发帖数: 7
11
It works. Thanks a lot.

这个

【在 B*******e 的大作中提到】
: 你在 Rows 前面加上 ActiveSheet. 试试。也就是改成(Fishboy 的code 应该也是这个
: 问题):
: Sub DelRows()
: '
: ' Delete Rows in Excel , Macro
: Dim InitialRow(), nRow
: Dim DelRange As Range
: InitialRow = Array(240, 100, 10) 'Edit or Add here
: Set DelRange = ActiveSheet.Rows(InitialRow(0))
: For Each nRow In InitialRow

1 (共1页)
进入Software版参与讨论
相关主题
请问做餐馆菜单用什么软件最好呢?要能够自动更新.how to paste an excel table vertically into word?
带字幕文件(.sub .ibx) 的电影如何播放?可不可以推荐一本学习Excel/VBA的书?
70刀买个正版的office 2007值么?Excel help needed
怎样在Mac 2008 excel运行VBA? (转载)请教一个Excel的问题
一个Excel的问题Excel question (转载)
一个VBA的问题求助,简单的Excel应用问题。 (转载)
Re: [转载] 哪有比较好的Excel电子版的书怎么把excel表格中图表柱 两两弄到一块呢?
excel 问题VB问题
相关话题的讨论汇总
话题: nrow话题: initialrow话题: rows话题: delrange话题: sub