câu trả lời khác một cách chính xác nói rằng AutoFit phải được sử dụng với một cột, không chỉ một ô. Tuy nhiên, có một số sắc thái khi sử dụng AutoFit mà tôi không hiểu cho đến khi tôi bắt đầu thử nghiệm.
Một trong hai câu lệnh đầu tiên bên dưới sẽ sử dụng tất cả các giá trị trong cột C để Tự động điền chiều rộng của cột. Điều đó có nghĩa là nếu có một giá trị trong một số ô khác trong cột C (ví dụ C10) rộng hơn giá trị trong C5, nó sẽ phù hợp với cột tới ô rộng nhất trong cột C (ví dụ C10).
Range("C5").EntireColumn.AutoFit ' Will fit to widest cell in column
Range("C:C").AutoFit ' Will fit to widest cell in column
Nếu bạn muốn chỉ phù hợp với cột trên 1 tế bào (hoặc một phạm vi nhất định của tế bào, nhưng không phải toàn bộ cột hoặc cột), sử dụng một tuyên bố như thế này:
Range("C5").Columns.AutoFit ' Will fit column C to width of cell C5
Và tất nhiên, nó luôn luôn hình thức tốt hơn để viết mã như thế này khi bạn có thể:
- Hoàn toàn đủ điều kiện trong phạm vi trừ khi bạn hoàn toàn chắc chắn bạn sẽ chỉ làm việc với một trang tính
- Sử dụng các phạm vi hoặc phạm vi được đặt tên.
Ví dụ:
Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("MyData").Columns.AutoFit
' or
Set AutoFitRange = Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("C5")
AutoFitRange.Columns.AutoFit
Bạn có thể thử trang bị lại toàn bộ cột thay vì các tế bào đặc biệt. 'Cột (" C: C "). AutoFit' – izzymo