Excel 2013 VBA使用激活和选择的替代方法
因此,我在这里的另一篇文章中介绍了如何避免使用Select and Activate: 但是,另一篇文章仍然没有提到如何避免在某些VBA代码中使用Activate或Select,如下面的示例所示:Excel 2013 VBA使用激活和选择的替代方法,excel,vba,Excel,Vba,因此,我在这里的另一篇文章中介绍了如何避免使用Select and Activate: 但是,另一篇文章仍然没有提到如何避免在某些VBA代码中使用Activate或Select,如下面的示例所示: ThisWorkbook.Sheets("Data").Activate ThisWorkbook.Sheets("Data").Select Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select With Sele
ThisWorkbook.Sheets("Data").Activate
ThisWorkbook.Sheets("Data").Select
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
.PatternTintAndShade = 0
End With
我需要找出如何避免使用.Activate,以及如何避免使用.Select,因为此代码在这两个方面都给了我错误
这些错误是在我从Excel 2010升级到Excel 2013后开始出现的
请帮忙 关键是始终以如下方式使用完整参考:
ExcelFile.sheetinfle.CellOrRangeOnSheet.PropertyOfSaidCellOrRange=something
如果这样做,则不必首先选择任何内容,但可以直接寻址单元格或范围的属性(无论是其值、内部颜色还是其他内容)
通过以上步骤,您的代码基本上转换为以下内容:
With ThisWorkbook.Sheets("Data")
With .Range(.Range("A1"), .Range("A1").End(xlToRight)).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
.PatternTintAndShade = 0
End With
End With
请注意,您的代码只需要在两者之间进行选择
,因为每当您无法明确引用某个内容时,就会使用当前活动的或选定的单元格。如果每次都明确完整地声明文件、工作表、单元格和范围,则不必再选择它们,因为VBA不必假定range(Selection,Selection.End(xlToRight))。select
指的是ActiveWorkbook.ActiveWorksheet.range…..等。