0
내 코드를 단순화
: 나는 두 개의 사각형을 그릴 할그리기 Rectagles에 엑셀, 전체 행, "런타임 오류 '1004'"
: 선택한 셀의 좌측면 (코드에 먼저 첫 번째 "A"열에 대해서는 의도되지 않음) 선택한 셀의 두 번째면과 오른쪽면 (코드는 마지막 "XFD"열에 대해 의도되지 않습니다).
두 코드에서 모두 사용되는 함수입니다. 여기
Private Function NumToCol(numCol)
NumToCol = Split(Cells(, numCol).Address, "$")(1)
End Function
내 코드 :
Sub CreateLateralRectangles()
'Working no problem
Dim LftRctl As Shape
Dim RhtRctl As Shape
Dim RngRht As Range
Dim RngLft As Range
MyRow = ActiveCell.Row
MyCol = ActiveCell.Column
LftCol = MyCol - 1
RgtCol = MyCol + 1
LRng = NumToCol(LftCol - 3) & MyRow & ":" & NumToCol(LftCol) & MyRow
RRng = NumToCol(RgtCol) & MyRow & ":" & NumToCol(RgtCol + 3) & MyRow
Set RngRht = Range(RRng)
Set RngLft = Range(LRng)
MsgBox "Beging To Create"
Set LftRctl = ActiveSheet.Shapes.AddShape(msoShapeRectangle, RngLft.Left, RngLft.Top, RngLft.Width, RngLft.Height)
Set RhtRctl = ActiveSheet.Shapes.AddShape(msoShapeRectangle, RngRht.Left, RngRht.Top, RngRht.Width, RngRht.Height)
End Sub
다음 코드는 "런타임 오류 '1004'"선물 "응용 프로그램 정의 또는 개체 정의 오류"
Sub CreateFullRectangles()
'Has problem
Dim LftRctl As Shape
Dim RhtRctl As Shape
Dim RngRht As Range
Dim RngLft As Range
MyRow = ActiveCell.Row
MyCol = ActiveCell.Column
LftCol = MyCol - 1
RgtCol = MyCol + 1
LRng = "A" & MyRow & ":" & NumToCol(LftCol) & MyRow
RRng = NumToCol(RgtCol) & MyRow & ":" & "XFD" & MyRow
Set RngRht = Range(RRng)
Set RngLft = Range(LRng)
MsgBox "Beging To Create"
Set LftRctl = ActiveSheet.Shapes.AddShape(msoShapeRectangle, RngLft.Left, RngLft.Top, RngLft.Width, RngLft.Height)
Set RhtRctl = ActiveSheet.Shapes.AddShape(msoShapeRectangle, RngRht.Left, RngRht.Top, RngRht.Width, RngRht.Height)
End Sub
을하지만, 나는 진짜 오류인지 알아낼 수 없다. 두 번째 코드에서 :
최대 값은, "EFA"입니다 즉 RngRht.Width = 169056. 당으로 https://msdn.microsoft.com/en-us/library/office/ff700514% 28v = 사무실 .14 % 29.aspx, 최대 허용 열은 16,384입니다. –