2011-09-28 3 views
1

셀의 높이를 자동으로 조정하는 코드가 있으므로 텍스트가 해당 셀 안에 들어갑니다.
그러나 이제는 셀 안의 텍스트의 글꼴 크기를 변경하여 글꼴이 축소되어 셀 내부에 텍스트가 맞도록 만듭니다. 따라서 셀 너비를 고정 된 크기로 만들 필요가 없습니다.너비가 고정되어 있으면 텍스트가 셀 안에 들어갈 수 있도록 글꼴 크기를 변경할 수 있습니까?

VBA에서 어떻게 수행합니까?

나는 글꼴 크기

옵션 1.

TextWidth = WidthOfAText(Range("A1").Value) 
FontAdjustmentFactor = Range("A1").EntireColumn.ColumnWidth/TextWidth 
FontSize = Range("A1").Font.Size * FontAdjustmentFactor 
Range("A1").Font.Size = Max(4, Min(10, FontSize)) 

주어진 텍스트의 폭을 알 필요가 아니면 텍스트를 수정할지 여부를 알고 시행 착오 루틴의 일종을 할 필요가 .

옵션 나는이 작업을 수행하려면 어떻게 2.

Range("A1").Font.Size = 10 
While (Text_does_not_fit AND Range("A1").Font.Size >= 5) 
    Range("A1").Font.Size = Range("A1").Font.Size - 1 
Wend 

? 셀에

답변

4

비 프로그래밍 방식으로 바로 클릭 (바람직하게는 옵션 1과 같은 코드를 사용하여) -> 셀 서식 -> 정렬 ->이

코드에 맞게 축소하는 것은 현명하다 :

Sheet1.Range("A1").ShrinkToFit = True 
+0

+1, 이것을 시도 할 것입니다. – Johan

+0

그것이 당신이 찾고있는 것이 아닌지 알려주면, 내가 무엇을 생각해 낼 수 있는지 알게 될 것입니다. – TheFuzzyGiggler

+0

받아 들여지는, 이것이 내가 원하는 것입니다. 나는 fontsize가 너무 작아지지 않도록해야하지만, 'shrinktofit'을 꺼도 fontsize가 지속된다고 가정하면 이벤트를 사용하여 그렇게 할 수 있습니다. – Johan

관련 문제