Sub GeneratorParamDoc()
Dim tableGr As Range
Dim writeCur As Range
Dim firstCur As Range
Dim rowCnt As Integer
Set writeCur = ActiveCell
Set firstCur = writeCur.Offset(0, -1)
rowCnt = 0
For Each tableGr In Range("A1:A10000")
If tableGr = False Or tableGr = "" Then
If rowCnt <> 0 Then
Range(firstCur.Offset(3, 0), firstCur.Offset(3, 0).Offset(rowCnt, 0)).Merge
'매개변수
With Range(firstCur.Offset(4, 1), firstCur.Offset(4, 1).Offset(rowCnt, 3)).Borders(xlInsideHorizontal)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
'매개변수 중앙정렬
With Range(firstCur.Offset(3, 1), firstCur.Offset(3, 1).Offset(rowCnt, 3))
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
'큰 틀 그리기
With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeRight)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlMedium
End With
With Range(firstCur, firstCur.Offset(rowCnt + 3, 4)).Borders(xlInsideVertical)
.LineStyle = xlContinuous
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThin
End With
If tableGr = "" Then
Exit For
End If
End If
rowCnt = 1
Set writeCur = writeCur.Offset(4, 0)
Set firstCur = writeCur.Offset(0, -1)
writeCur.Offset(0, -1).Value = "프로시저명"
writeCur.Offset(3, 0).Value = "이름"
writeCur.Offset(3, 1).Value = "형태"
writeCur.Offset(3, 2).Value = "설명"
writeCur.Offset(3, 3).Value = "비고"
writeCur.Offset(1, -1).Value = "프로시저 설명"
writeCur.Offset(2, -1).Value = "반환형태"
writeCur.Offset(3, -1).Value = "파라매터"
'!
'셀합치기
Range(writeCur, writeCur.Offset(0, 3)).Merge
Range(writeCur.Offset(1, 0), writeCur.Offset(1, 0).Offset(0, 3)).Merge
Range(writeCur.Offset(2, 0), writeCur.Offset(2, 0).Offset(0, 3)).Merge
'셀 합치기 끝
With Range(writeCur.Offset(0, -1), writeCur.Offset(0, -1).Offset(0, 4)).Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Range(writeCur.Offset(1, -1), writeCur.Offset(1, -1).Offset(0, 4)).Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Range(writeCur.Offset(2, -1), writeCur.Offset(2, -1).Offset(0, 4)).Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
With Range(writeCur.Offset(3, -1), writeCur.Offset(3, -1).Offset(0, 4)).Borders(xlEdgeBottom)
.LineStyle = xlDouble
.ColorIndex = xlAutomatic
.TintAndShade = 0
.Weight = xlThick
End With
writeCur.Value = tableGr.Offset(0, 1)
Set writeCur = writeCur.Offset(4, 0)
writeCur.Value = tableGr.Offset(0, 2)
writeCur.Offset(0, 1).Value = tableGr.Offset(0, 3)
writeCur.Offset(0, 2).Value = tableGr.Offset(0, 4)
Else
rowCnt = rowCnt + 1
Set writeCur = writeCur.Offset(1, 0)
writeCur.Value = tableGr.Offset(0, 2)
writeCur.Offset(0, 1).Value = tableGr.Offset(0, 3)
writeCur.Offset(0, 2).Value = tableGr.Offset(0, 4)
End If
Next tableGr
End Sub