Tôi có một hàm trong VBA tạo ra một chuỗi các chuỗi. Nó hoạt động tốt khi được gọi từ một hàm VBA khác, nhưng không phải khi được gọi từ bảng tính.Chức năng mảng trong Excel VBA
Sau đây là cách nó nên được sử dụng:
- chọn A1: A3
- ghi trong thanh công thức
=Test()
, sau đó nhấnCtrl-Shift-Enter
để làm cho nó một hàm mảng - A1 nên chứa
A
, A2 nên chứaB
và A3 phải chứaC
Khi tôi thực sự thử điều này, nó pu ts A
trong cả ba ô của mảng. Làm thế nào tôi có thể lấy dữ liệu được trả về bởi Test
vào các ô khác nhau của mảng?
Đối với những người muốn xem, đây là mã của hàm. Hãy nhớ, chức năng hoạt động tốt khi được gọi từ các chức năng khác.
Function Test() As String()
Dim a(1 To 3) As String
a(1) = "A"
a(2) = "B"
a(3) = "C"
Test = a
End Function
Tôi không biết rằng hướng mặc định của một mảng ở bên phải, chứ không phải là xuống. – Joe
Unfortunatelly, có vẻ như không phải là một cách tự động đơn giản cho Excel để điền vào mảng ngang hoặc dọc. Có thể có một số thủ thuật ra khỏi đó, tuy nhiên. –
Yup, như @andy holaday chỉ ra, Chip Pearson cũng đã tìm ra tình trạng khó xử ngang/dọc. –