반응형
■ BOM 레벨 표시는 CELL이 변경 됩니다. "L1", "L2" . . . 는 변경 됩니다.
for ~ next 문을 사용 하여 어셈블이 가지고 있는 모델의 레벨 표시 하기 위한 cells를 자동으로 만듭니다.
>> 코드
Option Explicit
Sub level()
Dim i As Long
For i = 0 To 4
Columns(i + 2).Insert
Cells(7, i + 2) = "L" & i + 1
Cells(7, i + 2).ColumnWidth = 3
Next i
End Sub
>> 엑셀 VBA를 사용해야 하는 이유
■ BOM 항목 CELL을 배열로 만들기
Dim i As Long
'// Bom Title Count And Range
Dim oBomColumnscount As Long
oBomColumnscount = Cells(7, Columns.count).End(xlToLeft).Column
'// Array 정의
Dim BomTitle() As String
ReDim BomTitle(oBomColumnscount - 1)
'// Array 값 지정
For i = 0 To oBomColumnscount - 1
BomTitle(i) = Cells(7, i + 1)
Next i
■ BOM을 구성 하는 레벨의 깊이를 구하는 코드 입니다. Array를 구성하는 값이 최대인 값을 구합니다.
Sub ko()
Dim koko(4) As Long
koko(0) = 1
koko(1) = 5
koko(2) = 10
koko(3) = 3
MsgBox Application.Max(koko)
End Sub
어셈블 파일을 구성 하는 파일들은 매우 깊은 조립 레벨을 가질수 있습니다
>> 코드
조립 Component는 총 "9 개"로 구성 되어 있고, 레벨 1 부터 레벨 3까지 조립 되어 있습니다.
oSampleArray(0) = 1
oSampleArray(1) = 1
oSampleArray(2) = 1
oSampleArray(3) = 2
oSampleArray(4) = 3
oSampleArray(5) = 3
oSampleArray(6) = 1
oSampleArray(7) = 2
oSampleArray(8) = 2
Option Explicit
Sub level()
Dim oSampleArray(10), i, j, oLevelMax, oLevel As Long
oSampleArray(0) = 1
oSampleArray(1) = 1
oSampleArray(2) = 1
oSampleArray(3) = 2
oSampleArray(4) = 3
oSampleArray(5) = 3
oSampleArray(6) = 1
oSampleArray(7) = 2
oSampleArray(8) = 2
oSampleArray(9) = 1
oLevelMax = Application.Max(oSampleArray)
'// Level Text Display
For i = 0 To oLevelMax - 1
Columns(i + 3).Insert
Cells(7, i + 3) = "L" & i + 1
Cells(7, i + 3).ColumnWidth = 3
Next i
'// Level Display
For j = 0 To 9
oLevel = oSampleArray(j)
Cells(j + 8, oLevel + 2) = oSampleArray(j)
Next j
End Sub
'VBA, VB.NET For Creo' 카테고리의 다른 글
Coordinate Systems and Transformations (0) | 2023.01.13 |
---|---|
Part List & BOM & Access DB (0) | 2023.01.12 |
Template Model] 자동으로 치수 변경 (1) | 2023.01.04 |
라이브러리 관리 프로그램 #2 (0) | 2023.01.03 |
Family Table Part (1) | 2023.01.01 |