Tôi đã tuyên bố một mảng như vậy Dim rArray() As Variant
nhưng khi tôi cố gắng và sử dụng các giá trị được lưu trữ trong nó (như hình dưới đây) tôi nhận được một subscript ra khỏi phạm vi lỗi. UBound(rArray)
và LBound(rArray)
cả hai giá trị trả về 14 và 1, nhưng lỗi xảy ra tại dòng Debug.Print
.Chỉ số lỗi phạm vi với một mảng - không biết tại sao?
Nếu tôi sử dụng câu lệnh for như sau
For Each rArr in rArray
sau đó nó hoạt động mà không vấn đề, nhưng đối với mục đích tôi đang tạo ra mảng này tôi cần sự linh hoạt để chọn từng mục lưu trữ trong đó mỗi phiên có nghĩa là tôi cần để chỉ họ bằng cách sử dụng các bảng con.
Tôi đã thử nhiều cách để thử và giải quyết vấn đề này mà không có may mắn và dành gần nửa ngày của tôi cho vấn đề này. Bất cứ ai có thể chỉ ra những gì tôi cần phải thay đổi để có được điều này để làm việc.
Set rng = Range("D4", Range("D4").End(xlDown))
rng.NumberFormat = "0"
rArray = rng.Value
For x = UBound(rArray) To LBound(rArray) Step -1
Debug.Print rArray(x)
Next x
Chỉnh sửa: một thực tế đáng chú ý khác là mảng được khai báo và sử dụng trong hàm nhưng không được chuyển từ hoặc sang hàm. Các mảng không thể được khai báo và sử dụng trong các hàm?
Tôi không phải là chuyên gia, nhưng nếu bạn in x và xem giá trị của x vấn đề xảy ra tại – barlop
Cảm ơn bạn. Tôi không phải in x, trong khi gỡ lỗi tôi có thể thấy giá trị của x là 14 là nơi mà vòng lặp bắt đầu từ - có 14 mục được lưu trữ trong mảng. –
là bước khắc phục sự cố, nếu bạn xóa vòng lặp và thử x = 13 thì sao? và thử x = 1 – barlop