Saya ingin menambahkan nilai pada akhir array VBA. Bagaimana saya bisa melakukan ini? Saya tidak dapat menemukan contoh online yang sederhana. Inilah beberapa pseudocode yang menunjukkan apa yang ingin saya lakukan.
Public Function toArray(range As range)
Dim arr() As Variant
For Each a In range.Cells
'how to add dynamically the value to end and increase the array?
arr(arr.count) = a.Value 'pseudo code
Next
toArray= Join(arr, ",")
End Function
microsoft-excel
vba
megloff
sumber
sumber
arr = Range.Value
?Jawaban:
Coba ini [DIedit]:
sumber
UBound(arr)
yangarr
diinisialisasi dengan beberapa dimenstion misalnyaDim arr(1) As Variant
tetapi kemudianReDim Preserve
gagal dan mengatakan bahwa array sudah dimensinya? dengan kata lain Anda tidak bisa redim array di VBA?Collection
dan mengubahnya kemudian menjadi array. Ada saran lain?UBound(arr)
memerlukan array yang sudah dimensi. Sepertinya saya harus menggunakan koleksi. Terima kasihSaya memecahkan masalah dengan menggunakan Koleksi dan menyalinnya setelah itu ke array.
sumber
Ini adalah bagaimana saya melakukannya, menggunakan variabel (array) variabel:
Atau, jika Anda benar-benar membutuhkan array Varian (untuk meneruskan ke properti seperti Shapes.Range, misalnya), maka Anda dapat melakukannya dengan cara ini:
sumber
Jika rentang Anda adalah vektor tunggal, dan, jika dalam satu kolom, jumlah baris kurang dari 16.384, Anda dapat menggunakan kode berikut:
sumber
Terima kasih. Melakukan hal yang sama dengan 2 fungsi jika dapat membantu noobs lain seperti saya:
Koleksi
Array 1D:
Pemakaian
sumber
Jawabannya ada dalam respons yang diterima di (tanpa masalah ReDim):
/programming/12663879/adding-values-to-variable-array-vba
Dalam resume:
sumber
sumber