2017-12-14 2 views
0

범위에 글꼴을 할당하는 방법이 있습니까?범위의 모든 정보를 저장하고 나중에 복원하십시오.

개체 myFont가 있다고 가정 해 보겠습니다. 쓸 수 있습니다 :

with Range("A1").Font 
     .Bold=myFont.Bold 
     .Size=myFont.Size 
     same with other properties 
end with 

그러나 많은 글꼴 속성이 있습니다. 범위 ("A1")와 같은 것을 할 수있는 방법이 있나요? Font = myFont?

+1

아니요, Range 개체의 font 속성은 읽기 전용입니다. – xthestreams

+0

테스트하지는 않았지만'Font.FontStyle'을 사용하는 방법은 무엇입니까? – Toris

+0

Toris, FontStyle에는 굵게 및 기울임 꼴 정보 만 있습니다. – anjulis

답변

1

원하는 것을 할 수있는 원 라이너가 아닙니다. 아래에 하나의 가능한 바로 가기가 있지만 여전히 각 속성을 반복하고 있습니다 ...

Dim p, myFont, rng As Range 

'populate myFont, rng 

For Each p In Array("Bold", "Color", "Size") 'for example 
    CallByName rng.Font, p, VbLet, CallByName(myFont, p, VbGet) 
Next p 
0

글꼴 속성을 변경하려면 아래 코드를 따르십시오. 특히 Range ("A1") 글꼴 이름을 변경하려면 아래와 같이 "Font.Name"을 사용하십시오.

이것을 얻으려면 글꼴을 변경 한 다음 매크로를 중지하여 코드를 볼 수있는 매크로를 기록했습니다. 매크로를 녹음하여 때때로 필요한 속성을 찾으십시오. 희망이 도움이됩니다.

Sub ChangeFontCustomRange() 

' Change Font Name 

    'Select the Range to change font to 
    Range("A1").Select 

    'Change font properties, specifically, Font.Name 
    With Selection.Font 
     .Name = "Calibri" 'Type exact font name here 
     .Size = 11 
     .Strikethrough = False 
     .Superscript = False 
     .Subscript = False 
     .OutlineFont = False 
     .Shadow = False 
     .Underline = xlUnderlineStyleNone 
     .ThemeColor = xlThemeColorLight1 
     .TintAndShade = 0 
     .ThemeFont = xlThemeFontNone 
    End With 
End Sub 
관련 문제