텍스트 상자의 격자를 만들었지 만 글꼴 크기와 정렬 방법을 알아낼 수 없습니다 (세로 및 가로로 중앙 집중화). 명명 된 텍스트 상자.Excel VBA : 텍스트 상자 내에서 글꼴 크기와 맞춤을 변경하는 방법
Sub addtxtbx()
Dim shp As Shape
Dim i As Integer, j As Integer, k As Integer
Dim cindx as long, rindx as long
For i = 1 To 145
Set shp = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, _
100 + cindx, 100 + rindx, 50, 50)
cindx = (i - Int((i - 1)/4) * 4 - 1) * 50 + Int((i - 1)/48) * 200
rindx = (Int((i - 1)/4) - Int((i - 1)/48) * 12) * 50
With shp
.Name = "TxtBx" & (i - 1)
.Fill.ForeColor.RGB = RGB(204, 102, 255)
End With
Next i
With ActiveSheet.Shapes.Range(Array("TxtBx11")).TextFrame2.TextRange
.Characters.Text = "R"
End With
End Sub
또한 For Next 루프의 i 카운터로 머리를 긁적니다. 나는 그것을 텍스트 상자의 이름을 바꾸는 데 사용하고 i = 1에서 144까지 사용했지만 TxtBx144는 마지막 상자가 아니지만 두 번째 마지막 TxtBx2가 첫 번째 상자라는 것을 알았습니다. 그래서 저는 1에서 145 사이의 값을 사용하고 상자를 (i-1) serial을 사용하여 상자에 넣으려고했습니다. 나는 무엇을 잘못해서 내가보기에 실패 했는가?
* 워크 시트에 144 개의 텍스트 상자 *가 있습니까? 대신 입력을 위해 셀을 사용하는 것이 가장 좋은 이유는 무엇입니까? –
@ mat'smug, 저는 현재 실제로 셀을 가지고 있으며이 셀을 그림으로 복사하고 그림을 chartobject에 붙여넣고 chartobject를 png로 저장해야합니다. 불행히도, 너무 많은 실행 후, 런타임 오류를 극복하기 위해 수면 시간을 늘려야했습니다 (David Zemens의 추천에 따라). 궁극적으로는 절전 모드로 전환 할 수 없으며 Excel을 종료 할뿐만 아니라 PC를 재부팅하여 다시 작동시켜야합니다. 텍스트 상자를 사용하여 주위를 둘러보기를 원합니다. 나는 하나의 상자를 사용하고 문자 간격을 조정할 수 있습니다 ... 지금은 실험하고 있습니다. – user110084
'.Name'을'TxtBx '에'i-1'을 연결하도록 설정했기 때문에'i'가 1에서 145 사이가 될 수 있다면'i-1'은 0에서 144로갑니다. 불분명하다. –