我正在使用vba尝试清除第10行到最后一行的列。
我遇到的问题是我的一些价值观中存在差距:
1
2
3
5
6
7
8
9
这是我的代码:
Sub Clear2()
ActiveSheet.EnableCalculation = False
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
With Sheets(1)
.Range("H10:H" & .Range("H10").End(xlDown).Row).ClearContents
.Range("I10:I" & .Range("I10").End(xlDown).Row).ClearContents
.Range("J10:J" & .Range("J10").End(xlDown).Row).ClearContents
.Range("K10:K" & .Range("K10").End(xlDown).Row).ClearContents
.Range("L10:L" & .Range("L10").End(xlDown).Row).ClearContents
.Range("M10:M" & .Range("M10").End(xlDown).Row).ClearContents
End With
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
ActiveSheet.EnableCalculation = True
End Sub
我得到的问题是我的代码只清除到第一个空白行,然后就像这样清除任何内容:
5
6
7
8
9
有人可以告诉我这样做的正确方法吗?
答案 0 :(得分:1)
With Sheets("mysheet") '<--| change "mysheet" to your actual sheet name
Intersect(.Range(.Rows(10), .UsedRange.Rows(.UsedRange.Rows.Count)), .Range("H:M")).ClearContents
End With
它使用
Range(range1, range2)
符号
返回从range
到range1
范围的range2
Range("Col1:Col2")
符号
返回从range
列到Col1
之间的Col2
UsedRange
对象的Worksheet
属性
返回一个包含所有实际&#34;使用的矩形范围&#34; (即,不是空的或格式化的)单元格
这样:
.Range(.Rows(10), .UsedRange.Rows(.UsedRange.Rows.Count))
从第10行获取所有单元格到最后#34;使用&#34;行
.Range("H:M")
将H列中的所有单元格转换为M
与上述两个范围相交,您可以获得想要的范围以清除
答案 1 :(得分:0)
这应该有用。
Option Explicit
Sub Clear2()
ActiveSheet.EnableCalculation = False
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
With Sheets(1)
.Range("H10:H" & .Cells(Rows.Count, "H").End(xlUp).Row).ClearContents
.Range("I10:I" & .Cells(Rows.Count, "I").End(xlUp).Row).ClearContents
.Range("J10:J" & .Cells(Rows.Count, "J").End(xlUp).Row).ClearContents
.Range("K10:K" & .Cells(Rows.Count, "K").End(xlUp).Row).ClearContents
.Range("L10:L" & .Cells(Rows.Count, "L").End(xlUp).Row).ClearContents
.Range("M10:M" & .Cells(Rows.Count, "M").End(xlUp).Row).ClearContents
End With
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Application.EnableEvents = True
ActiveSheet.EnableCalculation = True
End Sub