애니메이션 카운트 업 만들기 (Microsoft Excel)
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에 적용됩니다.