programing tip

VBA에서 동시에 변수를 선언하고 할당 할 수 있습니까?

itbloger 2020. 6. 8. 21:01
반응형

VBA에서 동시에 변수를 선언하고 할당 할 수 있습니까?


VBA를 처음 사용하고 다음 선언 및 할당을 한 줄로 변환 할 수 있는지 알고 싶습니다.

Dim clientToTest As String
clientToTest = clientsToTest(i)

또는

Dim clientString As Variant
clientString = Split(clientToTest)

불행히도 VBA에는 줄임말이 없습니다 :. 가독성을 높이기 위해 연속 문자를 원하는 경우 연속 문자를 사용하는 것이 가장 시각적입니다 .

Dim clientToTest As String:  clientToTest = clientsToTest(i)
Dim clientString As Variant: clientString = Split(clientToTest)

힌트 (기타 답변 / 설명 요약) : 개체와도 작동 (Excel 2010) :

Dim ws  As Worksheet: Set ws = ActiveWorkbook.Worksheets("Sheet1")
Dim ws2 As New Worksheet: ws2.Name = "test"

다음과 같이 객체를 사용하여 정렬 할 수 있습니다.

Dim w As New Widget

그러나 문자열이나 변형이 아닙니다.


실제로는 가능하지만 그렇게 할 수는 없습니다.

Sub MySub( Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True)

'code...

End Sub

하위를 호출 할 때 변수를 다르게 설정하거나 기본값으로 설정할 수 있습니다.


경우에 따라 Withstatement 를 사용하면 변수를 선언 할 필요가 없습니다 .

예를 들어

    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogSaveAs)
    If fd.Show Then
        'use fd.SelectedItems(1)
    End If

이것은 다음과 같이 다시 쓸 수 있습니다

    With Application.FileDialog(msoFileDialogSaveAs)
      If .Show Then
        'use .SelectedItems(1)
      End If
    End With

참고 URL : https://stackoverflow.com/questions/3256122/can-i-simultaneously-declare-and-assign-a-variable-in-vba

반응형