programing

VBA에서 As를 사용하여 유형을 지정하여 여러 변수를 선언하는 방법은 무엇입니까?

telebox 2023. 7. 1. 08:32
반응형

VBA에서 As를 사용하여 유형을 지정하여 여러 변수를 선언하는 방법은 무엇입니까?

Microsoft의 이 문서에 따르면 다음 코드를 사용하여 확인할 수 있습니다.

a, b 및 c 관리는 모두 단일이며, x 및 y는 모두 이중입니다.

Dim a, b, c As Single, x, y As Double, i As Integer  
> a, b, and c are all Single; x and y are both Double  

이에 대한 논리는 다음과 같습니다.

다른 변수에 대해 다른 데이터 유형을 지정할 수 있습니다.As선언하는 각 변수에 대한 절입니다.각 변수는 첫 번째 변수에 지정된 데이터 유형을 사용합니다.As변수 이름 부분 뒤에 절이 있습니다.

하지만 디버거에 확인했을 때나MsgBox VarType(a)출력은 그렇지 않습니다.

enter image description here

보다시피, 당신이 보기에As바로 앞의 변수에 대해서만 작동합니다. 즉,c,y그리고.i다른 모든 항목은 변형/공백이고VarType0을 반환합니다.

이것은 단지 문서가 잘못된 것입니까, 아니면 제가 명백한 것을 놓치고 있는 것입니까?

Microsoft Visual Basic for Application 7.1.1056 Excel 2016(윈도우즈 10)

당신이 링크한 문서는 잘못된 것이 아니지만, VBA가 아닌 VB.NET용으로 작성되었습니다.

VBA에서, 당신이 관찰한 것처럼, 바로 뒤따르지 않는 변수 선언은As <type>될 것이다Variant.

따라서 다음과 같이 적어야 합니다.

Dim a As Single, b As Single, c As Single, x As Double, y As Double, i As Integer

VBA에서 다음을 선언할 때

Dim a, b, c As Single

이 기능은 다음과 같습니다.

Dim a As Variant, b As Variant, c As Single

항상 변수를 별도의 행에 선언하는 것이 가장 좋은 방법이라고 생각합니다.이 버그를 방지하고 코드를 더 빠르게 검색할 수 있습니다.코드는 다음과 같습니다.

Dim a As Single
Dim b As Single
Dim c As Single

언급URL : https://stackoverflow.com/questions/55059988/how-to-declare-multiple-variables-with-specifying-type-using-as-in-vba

반응형