2017-03-02 27 views
3

我使用下面的VBA代碼,試圖在列設置列自動高度O.VBA自動從第x行起?

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

它的工作原理,除了它在我的表的頂部,我不希望它影響到O列行至。


爲了克服這個問題,我嘗試過使用它,以便它只適用於第14行向下。

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

但是,這會發出一個錯誤。

回答

3

您需要使用範圍:

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

您需要使用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和Row 1):

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

打你30秒。 :) –

+0

@ScottCraner:^^我看到,當我的答案出現了! T_T – R3uK

+0

@ScottCraner:'UsedRange'並不總是從A1開始。創建一個空白的工作表,在B2中輸入一些內容並輸入'?即時窗口中的activesheet.UsedRange.address'。它會顯示'$ B $ 2' – FunThomas