BLOG main image
분류 전체보기 (313)
교육 (13)
NEIS (6)
Edufine (0)
Programmer (5)
Android Programming (1)
Internet W3 (18)
JAVA Programming (9)
JSP/Servlet (1)
Framework (7)
Spring For Beginner (4)
eGovFrame (10)
MEAN Stack (2)
NodeJS (5)
SublimeText (30)
SublimeText_Tips (18)
Eclipse (16)
JavaScript (8)
jQuery (12)
jQuery_tips (1)
Ajax (3)
DWR(Direct Web Remote) (4)
JSON(JS Object Notation) (4)
Oracle (2)
MySQL (28)
OS (16)
Download (3)
Life (10)
Favorit Site (1)
Books (2)
Healthy (1)
Stocks (1)
HTML5/CSS (1)
Python (4)
Security (7)
CISSP (0)
Ruby On Rails (5)
일기장 (0)
영어 교과서(중2) (3)
알고리즘 (0)
Go Lang (3)
VB 2010 (12)
C# (1)
정보보안기사(네트워크보안) (0)
업무 활용 엑셀 (11)
틈틈이 활용팁 (14)
하루 하루 살아가며 ……. (2)
기술 (1)
파이썬 & 데이터분석 (1)
Visitors up to today!
Today hit, Yesterday hit
daisy rss
tistory 티스토리 가입하기!
2018. 10. 26. 14:44

전체 기초데이터에서 조건에 맞는 데이터만 불러와서 명단(출석부 등) 동적 생성
기초데이터에서 조건에 맞는 데이터만 가져와서 명단(출석부, 등록부 등) 만들기 매크로

 

Sub Import()

Application.ScreenUpdating = False

 

'불러온 데이터부분 양식 범위를 초기화한다.

Range(Cells(4, 1), Cells(500, 8)) = ""

'numb, locat 변수 초기값 설정

numb = 1
locat = 4

'데이터가 있는 셀의 수를 계산하여 데이터가 있는 셀까지 For 문을 돌린다.
'MsgBox (Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row) 맨 마지막 셀까지 For 문

For i = 2 To Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
    '조건은 시트2에 걸고, 불러올 기초데이터는 시트1에 있음. 6번째 열 i번째 행이 조건에 맞으면
    If Sheets(2).Cells(3, 11) = Sheets(1).Cells(i, 6) Then
      
                Sheets(2).Cells(locat, 1) = numb
                Sheets(2).Cells(locat, 2) = Sheets(1).Cells(i, 7) '출신학교
                Sheets(2).Cells(locat, 3) = Sheets(1).Cells(i, 2) '접수번호
                Sheets(2).Cells(locat, 4) = Sheets(1).Cells(i, 3) '성명
                Sheets(2).Cells(locat, 5) = Sheets(1).Cells(i, 1) '수험번호
                Sheets(2).Cells(locat, 6) = Sheets(1).Cells(i, 9) '시험장명
                Sheets(2).Cells(locat, 7) = Sheets(1).Cells(i, 10) '시험실
                locat = locat + 1
               
                numb = numb + 1
               
            'End If
        'End If
    End If
Next i

' 모든 데이터를 불러온 후 이하 여백 표시
Sheets(2).Cells(locat, 2) = "- 이하 여백 -"

' 불러온 데이터 수를 알려줌

MsgBox (Sheets(2).Cells(3, 11) & "에서 접수한 " & locat - 4 & "명을 불러왔습니다.")

 

' 유동적으로 인쇄영역을 설정하기 위해 페이지 레이아웃 설정을 한다.

Dim PrintOutRange As String
PrintOutRange = "A1:H" & locat + 1

Dim MyPrintArea As Range
Set MyPrintArea = ActiveSheet.Range(PrintOutRange)

ActiveSheet.PageSetup.PrintArea = PrintOutRange

 

End Sub

반응형