Excel에서 이러한 계산이 정말 길었습니다. 화면에서주의를 돌리고 책상에서 무언가를 끝내고 싶지만 계산이 완료되면 경고를받습니다.
어떤 아이디어?
답변
좋습니다, 시도해보십시오 (지침은 Excel 2007 이상을 가정합니다).
- 통합 문서를 엽니 다.
- 매크로 사용 SS (
.XLSM
) 로 저장하십시오 . - Alt-F11을 눌러 VBA 코딩 창을 엽니 다.
- VBAProject (
yourbook.xlsm
)를 마우스 오른쪽 단추로 클릭 하고 삽입 → 모듈을 선택하십시오. - 새로 만든 “Module1″을 엽니 다.
-
모듈에서이 스 니펫을 붙여 넣습니다.
Sub Auto_Open() Application.OnKey "{F9}", "F9Handler" End Sub
이렇게하면 SS를 열 때마다 F9 키가 다시 할당됩니다. F9를 누르면
F9Handler
일반적인 계산 대신 실행 됩니다. -
모듈에서이 스 니펫을 붙여 넣습니다.
Sub F9Handler() Application.Calculate Beep End Sub
F9를 눌렀을 때 실행됩니다. 첫 번째 줄은
Application.Calculate
(F9가 일반적으로 수행하는 것)을 실행 한 다음 경고음을냅니다. -
모든 것을 저장하십시오.
- Excel을 닫습니다.
- (다시) XLSM을여십시오.
- 이익. 🙂
참고 : 매크로를 예상대로 실행하려면 매크로를 활성화하거나 문서를 “신뢰할 수있는”문서로 만들어야합니다.
더 많은 정보:
답변
다른 사람들이 언급했듯이 beep
Visual Basic (VB) 의 명령을 사용하십시오 .
Function beepNow()
Beep
End Function
VB 코딩을 사용하려면 Developer tab
사용 가능 해야 합니다 ( 개발자 탭 표시 참조 ).
따라서 셀이나 조건이 변경되면 경고음이 울립니다. 위의 VBS 코드를 호출하는 매크로 예 :=IF(C2<>C3,beepNow(),"")
답변
모듈을 ss에 배치하는 대신 Personal.xlsb에 넣을 수 있습니다. 이를 통해 모든 ss에서 “경고음”을 사용할 수 있습니다. 이를 실행하려면 빠른 실행 도구 모음을 수정하거나 버튼 / 모양을 삽입하여 SS를 클릭하고 매크로를 지정하십시오.
답변
@ Ƭᴇcʜιᴇ007에 의해 게시 된 답변은 다른 사람들이 언급 한 예외를 제외하고는 훌륭한 답변입니다.이 Beep
방법은 컴퓨터의 온보드 (때로는 비활성화 된) 스피커에 의존하고 스피커를 사용하지 않으므로 아무 것도들을 수 없습니다.
해당 답변을 기반으로 해결 방법을 게시하고 있습니다. 관련된 내용이 적다면 대신 의견을 게시했을 것입니다.
다음은 Windows에서 VBA로 사운드를 재생하는 데 사용하는 것입니다. 온보드 대신 일반 컴퓨터 스피커를 사용하며이 Beep
방법으로 액세스 할 수없는 스피커도 있습니다 .
@ Ƭᴇcʜιᴇ007의 답변으로 시작하십시오. Beep
이것으로 변경 하십시오 :
PlaySound sound_Up
또는 sound_Up
아래의 코드에서 SoundType 열거 (목록)에서 다른 항목으로 변경하여 사운드를 변경할 수 있습니다 .sound_Complete
sound_Notify
Option Explicit
' --------------------------------------------------
' --------------------------------------------------
' REQUIRED DLL REFERENCE AND CONSTANTS
' --------------------------------------------------
' Reference to external procedure in DLL to play sounds
#If VBA7 Then
' 64-bit MS Office
Private Declare PtrSafe Function sndPlaySound32bit Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As LongPtr) As LongPtr
#Else
' 32-bit MS Office
Private Declare Function sndPlaySound32bit Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As LongPtr) As LongPtr
#End If
' --------------------------------------------------
' --------------------------------------------------
' CONSTANTS
' --------------------------------------------------
'
Public Const SOUND_DO_NOT_WAIT As String = "&H1"
Private Const SOUND_FILES_PATH As String = "C:\Windows\Media\"
' --------------------------------------------------
' --------------------------------------------------
' PUBLIC ENUMERATIONS
' --------------------------------------------------
'
Public Enum SoundType
sound_None = 0
sound_Up = 1
sound_Down = 2
sound_Attention = 3
sound_Blocked = 4
sound_Boop = 5
sound_Complete = 6
sound_Critical = 7
sound_Ding = 8
sound_Error = 9
sound_Exclamation = 10
sound_FastDown = 11
sound_Information = 12
sound_Notify = 13
sound_PhoneRing = 14
sound_RingOut = 15
sound_Stop = 16
sound_Tada = 17
sound_Tone = 18
End Enum
' --------------------------------------------------
' --------------------------------------------------
' PUBLIC METHODS
' --------------------------------------------------
'
Public Sub PlaySound(ByVal sound As SoundType)
' Plays a sound from a list (see the 'SoundType' Enum). Code execution continues
' while sound is playing.
Dim soundFileName As String
soundFileName = GetSoundFileName(sound)
If Not soundFileName = vbNullString Then
sndPlaySound32bit SOUND_FILES_PATH & soundFileName, SOUND_DO_NOT_WAIT
End If
End Sub
' --------------------------------------------------
' --------------------------------------------------
' PRIVATE DEPENDENCIES
' --------------------------------------------------
'
Private Function GetSoundFileName(ByVal soundToGet As SoundType) As String
' Returns a windows sound file name (not path) from a member of the custom
' 'SoundType' enumeration.
Dim fName As String
Select Case soundToGet
Case sound_Up: fName = "Speech On.wav"
Case sound_Down: fName = "Speech Off.wav"
Case sound_Attention: fName = "Windows Battery Low.wav"
Case sound_Blocked: fName = "Windows Pop-up Blocked.wav"
Case sound_Boop: fName = "Speech Misrecognition.wav"
Case sound_Complete: fName = "Windows Print complete.wav"
Case sound_Critical: fName = "Windows Critical Stop.wav"
Case sound_Ding: fName = "Windows Ding.wav"
Case sound_Error: fName = "Windows Error.wav"
Case sound_Exclamation: fName = "Windows Exclamation.wav"
Case sound_FastDown: fName = "Speech Sleep.wav"
Case sound_Information: fName = "Windows Information Bar.wav"
Case sound_Notify: fName = "notify.wav"
Case sound_PhoneRing: fName = "Windows Ringin.wav"
Case sound_RingOut: fName = "Windows Ringout.wav"
Case sound_Stop: fName = "chord.wav"
Case sound_Tada: fName = "tada.wav"
Case sound_Tone: fName = "Windows Balloon.wav"
Case Else: fName = vbNullString
End Select
GetSoundFileName = fName
End Function