| |
Public Sub Wafer_Mapping_Tag()
Dim die As Range
Dim die_row As Long
Dim die_column As Long
Dim die_row_in_frame As Long
Dim die_col_in_frame As Long
Dim frame_row As Long
Dim frame_column As Long
Dim frame_any_bottom As Long
Dim frame_any_right As Long
Dim frame_row_add As Long
Dim frame_column_add As Long
Dim wafer_arr As Range
Dim hang
Dim lie
'---------------------------------modified---------------------------------
frame_row = 20 'hang
frame_column = 39 'lie
frame_any_bottom = 59
frame_any_right = 136
hang = 1
lie = 2
'--------------------------------------------------------------------------
Application.ScreenUpdating = False
Set wafer_arr = Sheet1.UsedRange
Sheet1.UsedRange.ClearFormats
frame_row_add = frame_row - (frame_any_bottom Mod frame_row)
frame_column_add = frame_column - (frame_any_right Mod frame_column)
For Each die In wafer_arr
die_row = die.Row + frame_row_add
die_column = die.Column + frame_column_add
die_row_in_frame = die_row Mod frame_row
die_col_in_frame = die_column Mod frame_column
If die_row_in_frame Mod hang = 1 Then
die.Borders(xlEdgeTop).LineStyle = xlContinuous
die.Borders(xlEdgeTop).Weight = xlThin
ElseIf die_row_in_frame Mod hang = 0 Then
die.Borders(xlEdgeBottom).LineStyle = xlContinuous
die.Borders(xlEdgeBottom).Weight = xlThin
End If
If die_col_in_frame Mod lie = 1 Then
die.Borders(xlEdgeLeft).LineStyle = xlContinuous
die.Borders(xlEdgeLeft).Weight = xlThin
ElseIf die_col_in_frame Mod lie = 0 Then
die.Borders(xlEdgeRight).LineStyle = xlContinuous
die.Borders(xlEdgeRight).Weight = xlThin
End If
If die_row_in_frame = 1 Then
die.Borders(xlEdgeTop).LineStyle = xlContinuous
die.Borders(xlEdgeTop).Weight = xlThick
ElseIf die_row_in_frame = 0 Then
die.Borders(xlEdgeBottom).LineStyle = xlContinuous
die.Borders(xlEdgeBottom).Weight = xlThick
End If
If die_col_in_frame = 1 Then
die.Borders(xlEdgeLeft).LineStyle = xlContinuous
die.Borders(xlEdgeLeft).Weight = xlThick
ElseIf die_col_in_frame = 0 Then
die.Borders(xlEdgeRight).LineStyle = xlContinuous
die.Borders(xlEdgeRight).Weight = xlThick
End If
If die.Value = "." Then
die.Value = "."
die.Interior.Color = RGB(255, 255, 255)
ElseIf die.Value = "X" Then
die.Value = "X"
die.Interior.Color = RGB(255, 0, 0)
Else
If die_row_in_frame = 0 Then
die_row_in_frame = frame_row
End If
If die_col_in_frame = 0 Then
die_col_in_frame = frame_column
End If
die.Value = Sheet2.Cells(die_row_in_frame, die_col_in_frame).Value
die.Interior.Color = Sheet2.Cells(die_row_in_frame, die_col_in_frame).Interior.Color
End If
Next die
Application.ScreenUpdating = True
End Sub