[Excel VBA] MakeWhiteGridSheet ~ 선택중인 시트를 흰색 Excel 방안지 (18px * 18px)에 ~
nukie_53씨로부터 받은 보정 소스를 병기시켜 받았습니다.
정말 고마워요!
선택한 시트를 흰색 Excel 방안지 (18px * 18px)로 만드는 절차입니다.
<실행 전>
<실행 후>
MakeWhiteGridSheet.bas
'***********************************************************
'[summary]make a white grid sheet (18px * 18px)
'[return]-
'[argument]-
'[detail]
' 1)select all cells
' 2)change cell size to 18px * 18px
' 3)fill with white
'[remarks]
'[create date]2018/12/15
'[update date]
'***********************************************************
Sub MakeWhiteGridSheet()
''select all cells
Cells.Select
''change cell size to 18px * 18px
Selection.ColumnWidth = 0.72
Selection.RowHeight = 6.8
''fill with white
Selection.Interior.ThemeColor = xlThemeColorDark1
Selection(1).Select
End Sub
【2018/12/16 갱신】
nukie_53씨로부터 이하의 코멘트 및 보정 소스를 받았습니다!
감사합니다!
ColumnWidth는 "셀 스타일"의 "표준"으로 설정된 글꼴에 따라 달라지며 "글꼴 ○ 문자의 너비"를 지정합니다.
그 때문에, 현재의 지정 방법에서는 폰트가 변경되었을 때에 추종할 수 없게 됩니다.
그 근처도 포함하여 얼룩 보정을 걸면 다음과 같이 될 것입니다.
MakeWhiteGridSheet2.bas
Sub MakeWhiteGridSheet2()
Const GridSizePx = 18
Const Pt_per_Px = 72 / 96 '環境依存
Const GridSizePt = Pt_per_Px * GridSizePx
With Cells
Dim a1Cell As Excel.Range
Set a1Cell = .Item(1)
''change cell size to 18px * 18px
.RowHeight = GridSizePt
Dim i As Long
For i = 1 To 2 '誤差のため1回では指定した数値ぴったりにならない事がある
Dim charWidth_per_Pt As Double
charWidth_per_Pt = a1Cell.ColumnWidth / a1Cell.Width
.ColumnWidth = charWidth_per_Pt * GridSizePt
Next i
''fill with white
.Interior.ThemeColor = XlThemeColor.xlThemeColorDark1
End With 'Cells
a1Cell.Select
End Sub
부끄러워하면서 전혀 몰랐기 때문에 공부가 되었습니다!
고마워요! !
Reference
이 문제에 관하여([Excel VBA] MakeWhiteGridSheet ~ 선택중인 시트를 흰색 Excel 방안지 (18px * 18px)에 ~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maructy/items/0a22fedc12a7decd7aa6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)