Predefinição:Taxonomia/Fabrosaurus
Private Sub Worksheet_Change(ByVal Target As Range)
' 변경된 범위가 전체 행에 걸쳐 있는지 확인
If Not Intersect(Target, Me.Columns("B")) Is Nothing Then
Call AutoNumberWithMergedCells
End If
End Sub
Sub AutoNumberWithMergedCells()
Dim ws As Worksheet Dim rng As Range Dim cell As Range Dim currentNumber As Long
' 현재 활성 시트 가져오기
Set ws = ThisWorkbook.ActiveSheet
' 데이터가 있는 마지막 행 찾기 (B열 기준)
Dim lastRow As Long
lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
' 초기 순번 설정
currentNumber = 1
' A열의 순번 초기화
ws.Range("A1:A" & lastRow).ClearContents
' 순번 입력
For Each cell In ws.Range("A1:A" & lastRow)
' 해당 셀의 병합 범위 가져오기
Set rng = cell.MergeArea
' 병합된 셀의 첫 번째 셀에만 순번 부여
If cell.Address = rng.Cells(1, 1).Address Then
cell.Value = currentNumber
currentNumber = currentNumber + 1
End If
Next cell
End Sub