Saya baru mengenal VBA dan ingin tahu apakah saya dapat mengubah deklarasi dan penugasan berikut menjadi satu baris:
Dim clientToTest As String
clientToTest = clientsToTest(i)
atau
Dim clientString As Variant
clientString = Split(clientToTest)
Saya baru mengenal VBA dan ingin tahu apakah saya dapat mengubah deklarasi dan penugasan berikut menjadi satu baris:
Dim clientToTest As String
clientToTest = clientsToTest(i)
atau
Dim clientString As Variant
clientString = Split(clientToTest)
Jawaban:
Sayangnya tidak ada singkatan dalam VBA, Yang paling dekat Anda akan dapatkan adalah hal yang murni visual menggunakan :
karakter lanjutan jika Anda ingin itu pada satu baris untuk dibaca;
Dim clientToTest As String: clientToTest = clientsToTest(i)
Dim clientString As Variant: clientString = Split(clientToTest)
Petunjuk (ringkasan jawaban / komentar lain): Bekerja dengan objek juga (Excel 2010):
Dim ws As Worksheet: Set ws = ActiveWorkbook.Worksheets("Sheet1")
Dim ws2 As New Worksheet: ws2.Name = "test"
Anda dapat menyortir melakukan itu dengan objek, seperti pada berikut ini.
Dim w As New Widget
Tetapi tidak dengan string atau varian.
:
. Ada beberapa batasan karena Anda tidak dapat memiliki deklarasi nilai berganda pada baris yang sama (yaitu var1 = val1: var2 = val2
). Ini akan keluar secara speradis dan memungkinkan Anda untuk melakukan tugas semacam ini kadang-kadang tetapi secara keseluruhan tidak disarankan oleh notasi ini.
Dim x As New T
sintaks, yang hanya berfungsi dengan objek.
dim str as String: str = "value"
dan dim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
keduanya bekerja berulang kali. Meskipun, jika saya melakukan Instansiasi objek dim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
akan keluar seperti operasi tidak valid lainnya di VBA.
New
kunci tidak. Itu saja yang saya katakan.
sebenarnya, Anda bisa, tetapi tidak seperti itu.
Sub MySub( Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True)
'code...
End Sub
Dan Anda dapat mengatur variabel secara berbeda saat memanggil sub, atau membiarkannya pada nilai standarnya.
Dalam beberapa kasus seluruh kebutuhan untuk mendeklarasikan variabel dapat dihindari dengan menggunakan With
pernyataan .
Sebagai contoh,
Dim fd As Office.FileDialog
Set fd = Application.FileDialog(msoFileDialogSaveAs)
If fd.Show Then
'use fd.SelectedItems(1)
End If
ini dapat ditulis ulang sebagai
With Application.FileDialog(msoFileDialogSaveAs)
If .Show Then
'use .SelectedItems(1)
End If
End With
Anda dapat menentukan dan menetapkan nilai seperti yang ditunjukkan di bawah ini dalam satu baris. Saya telah memberikan contoh dua variabel yang dideklarasikan dan ditugaskan dalam satu baris. jika tipe data dari beberapa variabel sama
Dim recordStart, recordEnd As Integer: recordStart = 935: recordEnd = 946