Excel에서 VBA 상수를 선언하는 방법
Pi의 값은 3.14이고, 지구의 중력은 9.8m / s ^ 2 ^이고, VBA 등에 관심이 있습니다.이 모든 것은 상수이며 변하지 않습니다.
VBA에서는 프로그램에서 값을 변경할 수없는 변수를 정의 할 수 있습니다. VBA 프로그래머는 이러한 상수 값을 프로그램에서 스스로 정의하여 반복해서 사용합니다.
VBA에서 상수 값을 정의하는 방법은 무엇입니까? Const * 키워드를 사용하여 VBA에서 상수를 선언합니다.
VBA에서 상수 변수를 선언하는 구문은 다음과 같습니다.
[<Scope Specifier>] Const <VarName> as <variable_type> = <value>
link:/general-topics-in-vba-excel-vba-variable-scope
=== 에 대한 정보는 여기에서 확인할 수 있습니다.
_ 참고 : VBA에서 상수를 선언하는 데 Dim 키워드를 사용하지 않습니다 ._
<VarName> : 상수 변수의 이름입니다.
<variable_type> : 상수의 유형입니다. 예를 들어 정수, 문자열, 날짜 등입니다.
<value> : * 상수 변수의 값입니다.
상수 변수의 간단한 예는 다음과 같습니다.
Const pi as double = 3.14
여기서 우리는 _pi_라는 변수에 pi의 상수 값을 선언했습니다. 이제 프로그램에서이 pi를 사용할 수 있습니다. 값은 항상 3.14입니다. 상수 변수의 값을 변경하려고하면 Excel VBA에 오류 메시지가 표시됩니다.
VBA 상수 변수 예제 아래 코드를 연구하십시오.
Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth() sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() rad = 3389.5 sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
여기서 우리는 두 개의 상수 인 pi와 rad를 정의했습니다. pi의 값은 3.14이고 rad는 지구 반경 인 6371입니다.
이제 우리가 첫 번째 서브 지구를 실행하면 완벽하게 잘 작동하고 지구의 표면적을 인쇄합니다.
다음 하위 화성에서는 화성의 반경이 다르기 때문에 상수 rad를 재정의했습니다. 이 프로그램을 실행하면 “상수 할당이 허용되지 않습니다”라는 오류가 발생합니다.
VBA에서 상수를 다시 초기화하는 방법
위의 예에서 보았 듯이 상수에 새 값을 할당 할 수 없습니다. 예, 할 수 없습니다.
그러나 다른 고정 값으로 동일한 이름을 사용해야하는 경우 할당 전에 Const * 키워드를 사용하십시오.
아래 코드는 완벽하게 작동합니다.
Const pi As Double = 3.14 Const rad As Double = 6371 Sub Earth() sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() Const rad = 3389.5 sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
위의 서브 루틴은 오류없이 완벽하게 작동합니다. 그러나 저는이 접근 방식을 권장하지 않습니다. 가장 좋은 방법은 공용 및 개인 상수를 식별하고 별도로 정의하는 것입니다. 그리고 이것은 우리를 다음 세그먼트로 안내합니다.
VBA의 공용 및 개인 상수 위의 예에서 배운 것처럼 일부 상수는 보편적이고 일부는 다른 개체에 따라 다를 수 있습니다. 마찬가지로, 파이 값은 전체 우주에 대해 일정하지만, 태양계와 태양계에 이르는 행성의 수와 행성의 반경은 행성마다 다릅니다.
지구의 반지름은 우주가 아니라 그것을 위해 일정합니다.
마찬가지로 프로그램에서 일부 상수는 하위 및 모듈에 대해 비공개이며 일부는 전체 VBA 프로젝트에 대해 공용 상수가됩니다. 당신의 임무는 그들을 식별하고 다르게 선언하는 것입니다.
다른 예를 들어 보겠습니다.
Public Const pi As Double = 3.14 ' This can be accessed from any module in the project Private Const planets As Integer = 8 ' this is private to this module Sub Earth() Const rad As Double = 6371 'Private to this subroutine. Can't be accessed outside sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub Sub Mars() Const rad As Double = 3389.5 'Private to this subroutine. Can't be accessed outside sArea = 4 pi Sqr(rad) Debug.Print sArea End Sub
이것은 지정하는 간단한 변수 범위입니다. 변수 범위 설정`link : / general-topics-in-vba-excel-vba-variable-scope [here in detail]`에 대해 읽을 수 있습니다.
예, 이것이 Excel VBA에서 상수를 선언하고 사용하는 방법입니다. 나는 창의적으로 설명하려고 노력했다. 내가 충분히 설명했으면 좋겠다. 의심스러운 점이 있으면 아래 의견란에 질문하십시오. 귀하의 의견을 듣고 회신 해 드리겠습니다.
관련 기사 :
link : / general-topics-in-vba-excel-vba-variable-scope [Excel VBA 변수 범위]
| 정의 된 변수에 액세스 할 수있는 위치를 정의하는 변수 액세스 지정자가 있습니다. Excel VBA도 예외는 아닙니다. VBA에도 범위 지정자가 있습니다. 이러한 범위 지정자는 Excel VBA에서 변수의 가시성 / 범위를 설정하는 데 사용할 수 있습니다.
link : / cells-ranges-rows-and-columns-in-vba-what-is-the-difference-byref-and-byval-arguments-vba-interview-question [ByRef 및 ByVal Arguments]
| When 인수가 ByRef 인수로 다른 하위 또는 함수에 전달되면 실제 변수의 참조가 전송됩니다. 변수 복사본에 대한 변경 사항은 원래 인수에 반영됩니다.
link : / files-workbook-and-worksheets-in-vba-delete-sheets-without-confirmation-prompts-using-vba-in-microsoft-excel [Microsoft Excel에서 VBA를 사용하여 확인 메시지없이 시트 삭제]
| 이후 VBA를 사용하여 시트를 삭제하는 경우 수행중인 작업을 알고 있습니다. 이 경고를 표시하지 않고 망할 시트를 삭제하도록 Excel에 지시하고 싶습니다.
link : / files-workbook-and-worksheets-in-vba-add-and-save-new-workbook-using-vba-in-microsoft-excel [Microsoft Excel 2016에서 VBA를 사용하여 새 통합 문서 추가 및 저장]
| 이 코드에서는 먼저 통합 문서 개체에 대한 참조를 만들었습니다. 그런 다음 새 통합 문서 개체로 초기화했습니다. 이 접근 방식의 이점은이 새 통합 문서에서 작업을 쉽게 수행 할 수 있다는 것입니다. 저장, 닫기, 삭제 등`link : / menus-toolbars-status-bar-in-vba-display-a-message-on-the-statusbar-using-vba-in-microsoft-excel Excel의 상태 표시 줄을 코드 모니터로 사용할 수 있습니다. VBA 코드가 길고 VBA를 사용하여 여러 작업을 수행하는 경우 화면 업데이트를 비활성화하여 화면 깜박임`link : / general-topics-in-vba-turn-off-warning-messages- using-vba-in-microsoft-excel [Microsoft Excel 2016에서 VBA를 사용하여 경고 메시지 끄기]
|이 코드는 VBA 경고를 비활성화 할뿐만 아니라 코드의 시간 효율성을 높입니다. 방법을 봅시다.
인기 기사 :
link : / keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [50 개의 Excel 단축키로 생산성 향상]
| 작업 속도를 높이십시오. 이 50 개의 바로 가기를 사용하면 Excel에서 더 빠르게 작업 할 수 있습니다.
link : / formulas-and-functions-introduction-of-vlookup-function [Excel의 VLOOKUP 함수]
| 이것은 다른 범위와 시트에서 값을 조회하는 데 사용되는 Excel의 가장 많이 사용되고 인기있는 기능 중 하나입니다.
link : / tips-countif-in-microsoft-excel [Excel 2016의 COUNTIF]
| 이 놀라운 기능을 사용하여 조건으로 값을 계산합니다. 특정 값을 계산하기 위해 데이터를 필터링 할 필요가 없습니다.
Countif 기능은 대시 보드를 준비하는 데 필수적입니다.
link : / excel-formula-and-function-excel-sumif-function [Excel에서 SUMIF 함수 사용 방법]
| 이것은 또 다른 대시 보드 필수 기능입니다. 이를 통해 특정 조건에 대한 값을 합산 할 수 있습니다.