我尝试了所有想到的东西,在没有选择部分的情况下重写这段代码。
Worksheets(3).Activate
ActiveSheet.ListObjects(ListName).Range.Select 'Listname is a string-variable
Range(ActiveCell.Offset(1), ActiveCell.Offset(-1)).Select
Selection.Delete Shift:=xlUp
Worksheets(2).Activate
MsgBox "Set-creation was canceled.", vbCritical
答案 0 :(得分:2)
Worksheets(3).Activate
ActiveSheet.ListObjects(ListName).Range.Select 'Listname is a string-variable
Range(ActiveCell.Offset(1), ActiveCell.Offset(-1)).Select
Selection.Delete Shift:=xlUp
Worksheets(2).Activate
MsgBox "Set-creation was canceled.", vbCritical
可以重写为:
With Sheets(3)
.Range(.ListObjects(ListName).Range.Offset(1), .ListObjects(ListName).Range.Offset(-1)).Delete xlUp
End With
Sheets(2).Activate
MsgBox "Set-creation was canceled.", vbCritical
您不需要.Select
Range
Range("A1").Select
Selection.Value = "Test"
中的任何内容,尤其是在处理Range("A1").Value = "Test"
对象时 - 可以直接访问所有属性和方法。< / p>
而不是:
Selection
考虑:
{{1}}
这是更好的编码,在长程序中运行速度会更快。另一个好处是,在调试或改进代码时,您不必跟踪{{1}}的内容。