VBA自行从第x行起?

我正在使用以下vba代码尝试设置列O中的行自动高度。

ThisWorkbook.Worksheets("Missed On Sale").UsedRange.Columns("O:O").EntireRow.AutoFit 

它的工作原理,除了它影响在我的工作表顶部列O中的行,我不希望它。


为了克服这一点,我试图使用这个,只适用于行14向下。

 ThisWorkbook.Worksheets("Missed On Sale").UsedRange.Columns("O14:O200").EntireRow.AutoFit 

但是这个踢出了一个错误。

你需要使用Range:

 ThisWorkbook.Worksheets("Missed On Sale").Range("O14:O200").EntireRow.AutoFit 

如果使用列和行指定特定集合,则需要使用Range

 ThisWorkbook.Sheets("Missed On Sale").Range("O14:O200").EntireRow.AutoFit 

顺便说一句,你可以使用Sheets而不是Worksheets ,当你做这样的事情:

 Sheets(1).Range("B2:K11").Range("A1") 

这实际上是指该表中的B2。

幸运的是, UsedRange每一个都经常从A1开始,所以你的:

 ThisWorkbook.Worksheets("Missed On Sale").UsedRange.Columns("O:O") 

是一样的(如果你使用A1或任何一个在列A和列1):

 ThisWorkbook.Sheets("Missed On Sale").Columns("O:O")