vba 인쇄 범위 선택 시 중복 값은 한 번만 출력되게 코드 넣는법 부탁드립니다.
안녕하세요.
업무 간소화를 위해 노력하는 직장인 입니다.
현재 구현되어있는 인쇄 코드를 수정하고자 합니다.
동작은 인쇄 버튼을 클릭하면 아래와 같은 상자가 뜨며 범위를 마우스로 드래그하게 되어 있습니다.

결의서번호를 드래그 하면 아래와 같은 사진입니다.

확인을 누르면 범위 값이 인쇄 영역에 들어가 3장 인쇄 됩니다.
범위에 따라 출력되는 장수가 다릅니다.
문제는 범위(결의서번호)에 같은 숫자가 중복되면 중복된 만큼 출력됩니다.
위 사진을 예로 범위에서 중복된 값 1이 2개 있습니다. 범위 설정 시 1~5번 잡았을 경우 총 6장이 출력 됩니다.
범위에 중복되는 값이 있으면 그 값은 한 번만 출력 하려면 어떻게 손봐야 할까요?
현재 코드는 아래와 같습니다. 고수님들 부탁드립니다.
Sub 양식인쇄()
Dim inRange As Range
Dim prRange As Range
Dim Ws As Worksheet
Set Ws = Worksheets("지출 데이터")
Ws.Select
처음:
On Error GoTo 에러처리
Set inRange = Application.InputBox("인쇄할 결의서번호 범위를 설정하세요", Type:=8)
For Each prRange In inRange
If prRange.Column <> 1 Then
MsgBox "결의서번호 기준으로 선택하세요"
GoTo 처음
End If
Next
For Each prRange In inRange
[인쇄번호] = Ws.Cells(prRange.Row, 1)
Worksheets("인쇄영역").PrintOut
Next
Exit Sub
에러처리:
MsgBox "인쇄를 취소합니다"
End Sub
엑
S
윤
A
댓글 5
Dim x As Long x = 1 For Each prRange In inRange If Application.WorkSheetFunction.CountIf(prRange.Cells(1,1).Resize(x,1),inRange) <= 1 Then [인쇄번호] = Ws.Cells(prRange.Row, 1) Worksheets("인쇄영역").PrintOut End If x = x + 1 Next코드 추가 후 아래와 같이 범위 설정하니
바로 인쇄 취소 문구로 넘어가 버립니다.
범위를 한 셀만 설정하면 했을 땐 인쇄됩니다. ㅜㅜ
아래처럼 수정해보세요
Dim x As Long x = 1 For Each prRange In inRange If Application.WorkSheetFunction.CountIf(inRange.Cells(1,1).Resize(x,1),prRange) <= 1 Then [인쇄번호] = Ws.Cells(prRange.Row, 1) Worksheets("인쇄영역").PrintOut End If x = x + 1 Next좋은 하루 보내세요^^