제 시간에 매크로 실행하기

실제로 매우 일반적인 경우: 주어진 시간 또는 특정 빈도로 하나 이상의 매크로를 실행해야 합니다. 예를 들어, 10분 동안 업데이트되는 크고 무거운 보고서가 있고 아침에 직장에 도착하기 XNUMX분 전에 업데이트를 실행하려고 합니다. 또는 지정된 빈도로 직원에게 자동으로 이메일을 보내야 하는 매크로가 있습니다. 또는 피벗 테이블로 작업할 때 XNUMX초마다 즉석에서 업데이트하는 식으로 진행하려고 합니다.

Excel과 Windows에서 이를 구현할 수 있는 기능을 살펴보겠습니다.

주어진 빈도로 매크로 실행

이를 수행하는 가장 쉬운 방법은 기본 제공 VBA 방법을 사용하는 것입니다. 애플리케이션.온타임지정된 시간에 지정된 매크로를 실행하는 입니다. 실제 예를 들어 이것을 이해합시다.

탭에서 같은 이름의 버튼으로 Visual Basic 편집기를 엽니다. 개발자 (개발자) 또는 키보드 단축키 다른+F11, 메뉴를 통해 새 모듈 삽입 삽입 – 모듈 거기에 다음 코드를 복사하십시오.

Dim TimeToRun '다음 실행 시간이 저장되는 전역 변수 '이것은 기본 매크로입니다. Sub MyMacro() Application.Calculate ' 책을 다시 계산합니다. Range("A1").Interior.ColorIndex = Int(Rnd() * 56) '채우기 임의의 색상이 있는 A1 셀 :) Call NextRun 'NextRun 매크로를 실행하여 다음 실행 시간을 설정합니다. End Sub '이 매크로는 기본 매크로의 다음 실행 시간을 설정합니다. Sub NextRun() TimeToRun = Now + TimeValue("00: 00:03") '현재 시간에 3초 추가 Application.OnTime TimeToRun, "MyMacro" '다음 실행 예약 End Sub '매크로 반복을 시작합니다. Sub Start() NextRun End Sub '매크로를 호출하여 반복 시퀀스를 중지합니다. Sub Finish() Application.OnTime TimeToRun, "MyMacro", , False End Sub  

여기에 무엇이 있는지 알아 봅시다.

먼저 매크로의 다음 실행 시간을 저장할 변수가 필요합니다. 실행 시간. 이 변수의 내용은 모든 후속 매크로에서 사용할 수 있어야 하므로 글로벌, 즉 첫 번째 모듈 이전에 모듈의 맨 처음에 선언합니다. 서브.

다음은 주요 매크로입니다. 마이 매크로, 주요 작업을 수행합니다 – 방법을 사용하여 책을 다시 계산합니다. 신청.계산. 더 명확하게 하기 위해 날짜와 시간을 표시하는 A1 셀의 시트에 =TDATE() 수식을 추가했습니다. 다시 계산하면 내용이 바로 눈앞에서 업데이트됩니다. 체재). 추가 재미를 위해 셀 A1을 무작위로 선택한 색상으로 채우는 명령을 매크로에 추가했습니다(색상 코드는 0..56 범위의 정수로 함수에 의해 생성됨 RND 정수 함수로 반올림 INT).

매크로 다음실행 이전 값에 추가 실행 시간 3초 더 기다린 다음 기본 매크로의 다음 실행을 예약합니다. 마이 매크로 이 새로운 시간을 위해. 물론 실제로는 함수 인수를 설정하여 필요한 다른 시간 간격을 사용할 수 있습니다. 시간 가치 hh:mm:ss 형식입니다.

마지막으로 편의를 위해 더 많은 시퀀스 시작 매크로가 추가되었습니다. 그리고 그 완성 마감재 . 마지막 것은 네 번째 메소드 인수를 사용하여 시퀀스를 중단합니다. 시간에 같은 거짓.

매크로를 실행하면 합계 , 그러면 이 전체 회전 목마가 회전하고 시트에 다음 그림이 표시됩니다.

매크로를 각각 실행하여 시퀀스를 중지할 수 있습니다. 마감재 . 편의를 위해 다음 명령을 사용하여 두 매크로에 키보드 단축키를 할당할 수 있습니다. 매크로 – 옵션개발자 (개발자 — 매크로 — 옵션).

일정에 따라 매크로 실행

물론 위에서 설명한 모든 것은 Microsoft Excel이 실행 중이고 파일이 열려 있는 경우에만 가능합니다. 이제 좀 더 복잡한 경우를 살펴보겠습니다. 예를 들어 매일 5시에 Excel을 지정된 일정에 따라 실행하고 보고서에서 크고 복잡한 보고서를 열고 모든 연결과 쿼리를 업데이트해야 합니다. 우리가 직장에 도착할 때까지 준비하십시오 🙂

그런 상황에서 사용하는 것이 좋습니다. 윈도우 스케줄러 – 일정에 따라 지정된 작업을 수행할 수 있는 모든 버전의 Windows에 특별히 구축된 프로그램입니다. 사실, PC가 정기적으로 업데이트를 확인하고, 새로운 안티바이러스 데이터베이스를 다운로드하고, 클라우드 폴더를 동기화하는 등의 작업을 수행하기 때문에 자신도 모르게 이미 사용하고 있습니다. 이 모든 것이 스케줄러의 작업입니다. 따라서 우리의 작업은 기존 작업에 Excel을 시작하고 지정된 파일을 여는 다른 작업을 추가하는 것입니다. 그리고 우리는 이벤트에 매크로를 걸 것입니다. 통합 문서_열기 이 파일을 사용하면 문제가 해결됩니다.

스케줄러로 작업하려면 고급 사용자 권한이 필요할 수 있으므로 사무실에 있는 업무용 컴퓨터에서 아래에 설명된 명령과 기능을 찾을 수 없으면 IT 전문가에게 도움을 요청하십시오.

스케줄러 시작

이제 스케줄러를 시작하겠습니다. 이렇게 하려면 다음 중 하나를 수행할 수 있습니다.

  • 버튼을 마우스 오른쪽 버튼으로 클릭 스타트 선택하고 컴퓨터 관리 (컴퓨터 관리)
  • 제어판에서 선택: 관리 – 작업 스케줄러 (제어판 - 관리 도구 - 작업 스케줄러)
  • 메인 메뉴에서 선택 시작 – 보조프로그램 – 시스템 도구 – 작업 스케줄러
  • 키보드 단축키를 누르십시오. 승리+R, 입력 taskschd.msc 키를 누릅니다 엔터 버튼

다음 창이 화면에 나타나야 합니다(저는 영어 버전을 가지고 있지만 여러분도 버전을 가질 수 있습니다):

제 시간에 매크로 실행하기

작업 만들기

간단한 단계별 마법사를 사용하여 새 작업을 만들려면 링크를 클릭하십시오. 간단한 작업 만들기 (기본 작업 생성) 오른쪽 패널에서.

마법사의 첫 번째 단계에서 생성할 작업의 이름과 설명을 입력합니다.

제 시간에 매크로 실행하기

버튼을 클릭하십시오 다음 보기 (다음 것) 다음 단계에서 트리거를 선택합니다. 시작 빈도 또는 작업을 시작하는 이벤트(예: 컴퓨터 켜기):

제 시간에 매크로 실행하기

선택한 경우 매일 (매일), 다음 단계에서 특정 시간, 시퀀스 시작 날짜 및 단계(매 2일, 5일 등)를 선택해야 합니다.

제 시간에 매크로 실행하기

다음 단계는 작업을 선택하는 것입니다. 프로그램 실행 (프로그램 시작):

제 시간에 매크로 실행하기

마지막으로 가장 흥미로운 점은 정확히 열어야 하는 항목입니다.

제 시간에 매크로 실행하기

. 프로그램 또는 스크립트 (프로그램/스크립트) Microsoft Excel의 경로를 프로그램으로 입력해야 합니다. 즉, Excel 실행 파일에 직접 입력해야 합니다. 다른 버전의 Windows 및 Office를 사용하는 다른 컴퓨터에서는 이 파일이 다른 폴더에 있을 수 있으므로 다음과 같은 몇 가지 방법으로 위치를 찾을 수 있습니다.

  • 아이콘(바로 가기)을 마우스 오른쪽 버튼으로 클릭하여 바탕 화면이나 작업 표시줄에서 Excel을 시작하고 명령을 선택합니다. 소스 (속성), 그런 다음 열리는 창에서 행의 경로를 복사합니다. 목표:

    제 시간에 매크로 실행하기                      제 시간에 매크로 실행하기

  • Excel 통합 문서를 연 다음 엽니다. Task Manager (작업 관리자) 미는 Ctrl 키+다른+~ 그리고 라인을 우클릭하면 Microsoft Excel에서, 명령을 선택 소스 (속성). 열리는 창에서 경로를 복사할 수 있으며, 백슬래시를 추가하고 끝에 EXCEL.EXE를 추가하는 것을 잊지 마십시오.:

    제 시간에 매크로 실행하기              제 시간에 매크로 실행하기

  • Excel을 열고 바로 가기 키를 사용하여 Visual Basic 편집기를 엽니다. 다른+F11, 열린 패널 즉시 의 조합 Ctrl 키+G, 명령을 입력하십시오.

    ? 응용 프로그램.경로

    ...를 클릭하고 엔터 버튼

    제 시간에 매크로 실행하기

    결과 경로를 복사하고, 백슬래시를 추가하고 끝에 EXCEL.EXE를 추가하는 것을 잊지 마십시오..

. 인수 추가 (선택 사항) (인수 추가(선택 사항)) 열려는 매크로가 있는 책의 전체 경로를 삽입해야 합니다.

다 입력했으면 클릭 다음 보기 그리고 마감재 (마치다). 작업을 일반 목록에 추가해야 합니다.

제 시간에 매크로 실행하기

우측의 버튼을 이용하여 생성된 작업을 관리하는 것이 편리합니다. 여기에서 즉시 실행하여 작업을 테스트할 수 있습니다. (운영)지정된 시간을 기다리지 않고 작업을 일시적으로 비활성화할 수 있습니다. (비활성화)휴가와 같은 일정 기간 동안 실행을 중지합니다. 글쎄, 당신은 항상 버튼을 통해 매개 변수 (날짜, 시간, 파일 이름)를 변경할 수 있습니다 소스 (속성).

파일을 여는 매크로 추가

이제 파일 열기 이벤트에 필요한 매크로 실행이 책에 남아 있습니다. 이렇게 하려면 책을 열고 바로 가기 키를 사용하여 Visual Basic 편집기로 이동합니다. 다른+F11 또는 버튼 Visual Basic을개발자 (개발자). 왼쪽 상단 모서리에 열리는 창에서 트리에서 파일을 찾고 두 번 클릭하여 모듈을 열어야 합니다. 이 책 (이 워크북).

Visual Basic 편집기에 이 창이 표시되지 않으면 메뉴를 통해 열 수 있습니다. 보기 — 프로젝트 탐색기.

열리는 모듈 창에서 상단의 드롭다운 목록에서 선택하여 책 열기 이벤트 핸들러를 추가합니다. 통합 문서 и 엽니다, 각각 :

제 시간에 매크로 실행하기

절차 템플릿이 화면에 나타나야 합니다. 통합 문서_열기, 행 사이의 위치 비공개 서브 и 최종 하위 스케줄러가 일정에 따라 열 때 이 Excel 통합 문서가 열릴 때 자동으로 실행되어야 하는 VBA 명령을 삽입해야 합니다. 다음은 오버클럭을 위한 몇 가지 유용한 옵션입니다.

  • ThisWorkbook.RefreshAll – 모든 외부 데이터 쿼리, 파워 쿼리 쿼리 및 피벗 테이블을 새로 고칩니다. 가장 다양한 옵션. 기본적으로 외부 데이터에 대한 연결을 허용하고 다음을 통해 링크를 업데이트하는 것을 잊지 마십시오. 파일 – 옵션 – 보안 센터 – 보안 센터 옵션 – 외부 콘텐츠, 그렇지 않으면 책을 열 때 표준 경고가 나타나고 Excel은 아무 것도 업데이트하지 않고 버튼을 클릭하는 형태로 축복을 기다립니다. 콘텐츠 활성화 (콘텐츠 활성화):

    제 시간에 매크로 실행하기

  • ActiveWorkbook.Connections("Connection_Name").새로 고침 — Connection_Name 연결에 대한 데이터 업데이트.
  • 시트("시트5").PivotTables("피벗 테이블1«).PivotCache.Refresh – 이름이 지정된 단일 피벗 테이블 업데이트 피벗 테이블 1 시트에 Sheet5.
  • 신청.계산 – 열려 있는 모든 Excel 통합 문서의 재계산.
  • 응용 프로그램.CalculateFullRebuild – 모든 수식을 강제로 다시 계산하고 열려 있는 모든 통합 문서의 셀 간 모든 종속성을 다시 작성합니다(모든 수식을 다시 입력하는 것과 동일).
  • 워크시트("보고서").PrintOut – 인쇄 시트 사진.
  • 마이매크로 호출 – 이름이 지정된 매크로를 실행합니다. 마이 매크로.
  • 이워크북.저장 – 현재 책 저장
  • ThisWorkbooks.SaveAs "D:ArchiveReport" & Replace(지금, ":", "-") & ".xlsx" – 책을 폴더에 저장 D:아카이브 이름 아래 사진 이름에 날짜와 시간이 추가됩니다.

사용자가 근무일 동안 통합 문서를 열 때마다가 아니라 오전 5시에 스케줄러가 파일을 열 때만 매크로를 실행하려면 다음과 같이 시간 확인을 추가하는 것이 좋습니다.

Format(Now, "hh:mm") = "05:00"인 경우 ThisWorkbook.RefreshAll  

그게 다야. 통합 문서를 매크로 사용 형식(xlsm 또는 xlsb)으로 저장하는 것을 잊지 마십시오. 그러면 컴퓨터가 켜져 있는 상태에서 Excel을 안전하게 닫고 집으로 돌아갈 수 있습니다. 주어진 순간에(PC가 잠겨 있더라도) 스케줄러는 Excel을 시작하고 Excel에서 지정된 파일을 열고 매크로는 프로그래밍된 작업을 수행합니다. 그리고 당신의 무거운 보고서가 자동으로 재계산되는 동안 당신은 침대에서 사치스러울 것입니다 – 아름다움! 🙂

  • 매크로 란 무엇이며 사용 방법, Excel에서 Visual Basic 코드를 삽입하는 위치
  • Excel용 매크로 추가 기능을 만드는 방법
  • Excel에서 개인용 매크로 통합 문서를 매크로용 라이브러리로 사용하는 방법

댓글을 남겨주세요.