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
하위를 호출 할 때 변수를 다르게 설정하거나 기본값으로 설정할 수 있습니다.
답변
경우에 따라 With
statement 를 사용하면 변수를 선언 할 필요가 없습니다 .
예를 들어
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
답변
아래에 표시된대로 한 줄에 값을 정의하고 할당 할 수 있습니다. 한 줄로 선언되고 할당 된 두 변수의 예를 제시했습니다. 여러 변수의 데이터 유형이 동일한 경우
Dim recordStart, recordEnd As Integer: recordStart = 935: recordEnd = 946