나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내
작성자:  

 새로운 삶 (passion777)

추천:  2
파일:     TEST 파일.xlsm (57.2KB) 조회:  1879
제목:   [RE]매크로 처리 속도 개선 방법 문의
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>


아래 코드로 데이타 처리시 처리 속도가 늦어 
속도를 개선 할 수 있는 방법이 있는지 궁금합니다
감사합니다


Sub TEST()

Dim ST As Integer
Dim DT As Integer

        Sheets("수합").Select
        Range("A2:Y1000").Select
        Selection.ClearContents

Application.ScreenUpdating = False

For ST = 1 To 250

'---------------------------------------
    With Application
        .Calculation = xlManual
        .MaxChange = 0.001
    End With
'---------------------------------------
 
           Sheets("내역").Select

        If Range("P12") = 1 Then

            Range("L12:P12").Copy
            Sheets("수합").Select
            DT = Range("B1").Value
            Range("A" & DT).Select
              ActiveSheet.Paste
              ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
                  IconFileName:=False

        ElseIf Range("P12") = 2 Then

            Range("L12:P12").Copy
            Sheets("수합").Select
            DT = Range("G1").Value
            Range("F" & DT).Select
              ActiveSheet.Paste
              ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
                  IconFileName:=False

        ElseIf Range("P12") = 3 Then

            Range("L12:P12").Copy
            Sheets("수합").Select
            DT = Range("L1").Value
            Range("K" & DT).Select
              ActiveSheet.Paste
              ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
                  IconFileName:=False

        ElseIf Range("P12") = 4 Then

            Range("L12:P12").Copy
            Sheets("수합").Select
            DT = Range("Q1").Value
            Range("P" & DT).Select
              ActiveSheet.Paste
              ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
                  IconFileName:=False

        ElseIf Range("P12") = 5 Then

            Range("L12:P12").Copy
            Sheets("수합").Select
            DT = Range("V1").Value
            Range("U" & DT).Select
              ActiveSheet.Paste
              ActiveSheet.PasteSpecial Format:=3, Link:=1, DisplayAsIcon:=False, _
                  IconFileName:=False

        Else

        End If

        Sheets("내역").Select
         Range("B4:E3500").Copy
         Range("B3").PasteSpecial (3)
 
'-----------------------------------------
    With Application
        .Calculation = xlAutomatic
        .MaxChange = 0.001
    End With
'-------------

Next ST

        Application.ScreenUpdating = True

End Sub



==============[새로운 삶님 글에 대한 답변입니다]==============
 
[불량 게시물 신고]  
        
  

작성일 : 2019-10-18(15:26)
최종수정일 : 2019-10-18(15:30)
 


 ◎ 관련글

  제 목   작성자   날짜
매크로 처리 속도 개선 방법 문의 새로운 삶 2019-10-18
[RE]매크로 처리 속도 개선 방법 문의 새로운 삶 2019-10-18
[RE]매크로 처리 속도 개선 방법 문의 dew 2019-10-18