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)
vba
variable-declaration
Ian R. O'Brien
sumber
sumber
Anda dapat menyortir melakukan itu dengan objek, seperti pada berikut ini.
Tetapi tidak dengan string atau varian.
sumber
:
. Ada beberapa batasan karena Anda tidak dapat memiliki deklarasi nilai berganda pada baris yang sama (yaituvar1 = 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"
dandim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
keduanya bekerja berulang kali. Meskipun, jika saya melakukan Instansiasi objekdim 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.
Dan Anda dapat mengatur variabel secara berbeda saat memanggil sub, atau membiarkannya pada nilai standarnya.
sumber
Dalam beberapa kasus seluruh kebutuhan untuk mendeklarasikan variabel dapat dihindari dengan menggunakan
With
pernyataan .Sebagai contoh,
ini dapat ditulis ulang sebagai
sumber
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
sumber