Ray는 가능하다면 셀의 값에 대해 “카운트 업”을 애니메이션하는 방법을 원합니다. 예를 들어, B7 셀에서 23이라는 값을 가질 수 있습니다. 그는 E4 셀에서 해당 값을 참조하고 셀 E4를 0에서 23까지 (0, 1, 2, 3 등) 카운트하여 각 숫자를 표시하려고합니다. 차례로.

Excel에서이 작업을 수행하는 기본 제공 방법은 없지만 매크로를 사용하여 애니메이션을 수행 할 수 있습니다. 기본적으로 매크로는 B7 셀에있는 항목을 찾은 다음 For …​ Next 루프를 사용하여 0과 B7에있는 값 사이의 값을 단계별로 실행해야합니다. 루프가 반복 될 때마다 E4의 값이 변경되고 일종의 지연이 발생합니다.

매크로의 지연 부분은 실제로 매크로가 작동하는 방식을 변경할 수있는 기능을 제공합니다. 애니메이션이 작동하는 것처럼 보이려면 지연이 필요합니다. 그것 없이는 E4의 숫자가 너무 빨리 증가 할 것입니다. Excel은 지연을 구현하는 몇 가지 편리한 방법을 제공합니다. 예를 들어,이 매크로 예제는 Sleep 기능에 의존합니다.

#If VBA7 Then Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

#Else Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

#End If Private Sub Worksheet_Change(ByVal Target As Range)

Dim n As Integer     Const cellWatch As String = "$B$7"

Const cellCount As String = "$E$4"

Const msec As Long = 200 ' milliseconds     If Target.Address = cellWatch Then         Application.EnableEvents = False         Range(cellCount).Show         If IsNumeric(Target) Then             For n = 0 To Target ' skipped if Target < 0                 Range(cellCount) = n                 Sleep msec ' delay each increment             Next n         End If         Range(cellCount) = Target         Application.EnableEvents = True     End If End Sub

이 코드는 워크 시트의 내용이 변경 될 때마다 실행되도록 설계되었으므로 ThisWorksheet 모듈에 추가해야합니다. 코드는 변경중인 셀이 대상 셀 (B7)인지 확인합니다. 만약 그렇다면, 거기에서 값을 잡고 셀 E4에있는 것을 업데이트하는 For …​ Next 루프로 점프합니다. Sleep 기능은이 경우 E4의 각 업데이트 사이에 200 밀리 초를 지연시키는 데 사용됩니다.

더 짧고 Worksheet_Change 이벤트 처리기에 의존하지 않는 매크로를 원하는 경우 다음을 고려할 수 있습니다. Wait 메서드를 사용하여 For …​ Next 루프에서 일시 중지합니다.

Sub CountUp()

Dim J As Integer     For J = 0 To Range("B7").Value         Range("E4").Value = J         Application.Wait (Now + TimeValue("0:00:01"))

Next J     Range("E4").Value = Range("B7").Value End Sub

이 매크로 버전은 E4 셀을 업데이트 할 때마다 1 초 동안 일시 중지합니다.

일종의 지연을 구현하는 이와 같은 매크로를 사용할 때마다 워크 시트의 응답 성이 떨어질 수 있습니다. 이것은 지연 때문이며 값이 아무리 크더라도 E4 셀에 있습니다. (값이 클수록 집계 지연이 길어집니다.)

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (13753)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다.