:: 게시판
:: 이전 게시판
|
- PGR21 관련된 질문 및 건의는 [건의 게시판]을 이용바랍니다.
- (2013년 3월 이전) 오래된 질문글은 [이전 질문 게시판]에 있습니다. 통합 규정을 준수해 주십시오. (2015.12.25.)
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
18/02/28 16:46
이혜리 / 첫 번째 시트에는 앞으로 계속 데이터를 입력할 예정이고
그 결과값이 실시간으로 2,3,4,5 번째 시트에 보였으면 하는거라서요 단순히 한번 작업할거면 말씀대로 하면 되겠지만요......
18/02/28 17:46
그런거라면 매크로를 사용해야 되지 않을까요? 구글링해봐도 다들 매크로를 이용해서 답변을 올려놓았네요.
https://www.extendoffice.com/documents/excel/4592-excel-update-advanced-filter-automatically.html 참고하시면 될 거 같습니다. Private Sub Worksheet_SheetChange(ByVal Target As Range) Range("A3:H43").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("I1:I2"), CopyToRange:=Sheets(2).Range("A1"), Unique:=False A3:H43에 데이터 위치, 만약에 계속 아래쪽으로 업데이트 할것이라면 Range("A3").CurrentRegion으로 바꾸시고 CriteriaRange 뒤의 l1:l2에 조건문 CopyToRange 뒤에 시트번호와 셀 위치 조정하시면 될 거에요. End Sub
18/02/28 17:52
원자료가 첫번째 시트 A1부터 쓰여져 있다는 가정하에(즉, A1셀에 "연번"부터 쓰여있음)
1학년 자료를 두번째 시트, 2학년 자료를 세번째 시트, 3학년 자료를 네번째 시트에 필터링 하고 싶다면 다음 VBA를 써보세요. 여기서 학년을 바꾸고 싶다면(예를 들면 3학년 필터링 하고 싶다면) 코드 중 If Range("c" & j).Value = 1 Then <- 이 부분의 숫자 1을 3으로, Sheets(2).Select <- 이 부분의 숫자를 4로 변경해서 쓰시면 될거 같습니다. Sub 학년1() Dim i As Long Columns("G:K").Select Selection.Delete Shift:=xlToLeft Cells(Rows.Count, "C").End(xlUp).Select i = ActiveCell.Row For j = i To 2 Step -1 If Range("c" & j).Value = 1 Then Range("A" & j & ":E" & j).Select Selection.Copy Range("G" & j).Select ActiveSheet.Paste Application.CutCopyMode = False End If Next j Range("G1:K" & i).Select Selection.SpecialCells(xlCellTypeBlanks).Select Selection.Delete Shift:=xlUp Range("g1").CurrentRegion.Select Selection.Cut Sheets(2).Select Range("A2").Select ActiveSheet.Paste End Sub
|