重置UsedRange而不激活表单

我正在审查一些代码,循环大量的工作表并刷新每个数据连接。 由于表格在刷新时可以更改大小,因此需要重新设置每张表格上的使用范围,而当前的代码如下所示:

sh.Activate ActiveSheet.UsedRange Sheets(OriginalSheet).Activate 

简单的问题 – 我知道只是运行sh.UsedRange不起作用,但有没有其他方式重置使用的范围,而无需激活工作表?

VBA-Excel:清除Excel Sheet(WorkSheet)中的数据

格式:WorkBook.WorkSheet.Range.Clear

例子:

 mainworkBook.Sheets(3).UsedRange.Clear 

清除特定单元格的数据:

 Dim mainworkBook As Workbook Set mainworkBook = ActiveWorkbook mainworkBook.Sheets(“MyFirstMacro”).Range(“A2”).Clear 'Will clear the data from Cell “A2” 

清除多个单元格中的数据:

 mainworkBook.Sheets(“MyFirstMacro”).Range(“A1,C3”).Clear 'Will clear the data from Cell “A1” and “C3” 

清除单元格范围内的数据:

 mainworkBook.Sheets(“MyFirstMacro”).Range(“A1:C4”).Clear 'Will clear the data from Range of Cells “A1” to “C4” 

清除特定列中的数据:

 mainworkBook.Sheets(“MyFirstMacro”).Range(“A:A”).Clear 'Will clear the data from entire column “A” 

清除特定行中的数据:

 mainworkBook.Sheets(“MyFirstMacro”).Range(“2:2″).Clear 'Will clear the data from entire Row 2. 

清除所有使用的数据范围:

 mainworkBook.Sheets(3).UsedRange.Clear 

清除多个列的所有数据

 mainworkBook.Sheets(“MyFirstMacro”).Range(“A:F”).Clear 'Clear data for Columns from A to F 

清除多行以上的所有数据

 mainworkBook.Sheets(“MyFirstMacro”).Range(“2:5″).Clear 

信用: http : //excel-macro.tutorialhorizo​​n.com/vba-excel-clear-data-from-excel-sheetworksheet/