innych odpowiedzi prawidłowo stwierdzić, że AutoFit musi być używany z kolumny, a nie tylko komórka. Są jednak pewne niuanse do korzystania z AutoFit, których nie zrozumiałem, dopóki nie zacząłem eksperymentować.
Każda z pierwszych dwóch poniższych instrukcji użyje wartości wszystkich w kolumnie C, aby automatycznie dopasować szerokość kolumny. Oznacza to, że jeśli wartość w innej komórce w kolumnie C (na przykład C10), która jest szersza niż wartość w C5, będzie pasować do kolumny najszerszej komórki w kolumnie C(na przykład C10).
Range("C5").EntireColumn.AutoFit ' Will fit to widest cell in column
Range("C:C").AutoFit ' Will fit to widest cell in column
Jeśli chcesz tylko dopasować kolumny na 1 komórce (lub pewnego zakresu komórek, ale nie cała kolumna lub kolumny), użyj oświadczenie takiego:
Range("C5").Columns.AutoFit ' Will fit column C to width of cell C5
I oczywiście, to zawsze lepiej forma napisać kod tak, gdy można:
- Całkowicie zakwalifikuj zakres, chyba że masz absolutną pewność, że będziesz pracować tylko z jednym arkuszem roboczym.
- Użyj nazwanych zakresów lub obiektów zakresu.
Na przykład:
Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("MyData").Columns.AutoFit
' or
Set AutoFitRange = Workbooks("MyWorkbook.xlsm").Sheets("Sheet1").Range("C5")
AutoFitRange.Columns.AutoFit
można spróbować montażu całą kolumnę zamiast konkretnej komórki. 'Kolumny (" C: C "). AutoFit' – izzymo