Gán một hàm trả về một mảng xuống EXCEL (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

khongnhienttt

Thành viên hoạt động
Tham gia
15/7/15
Bài viết
137
Được thích
33
- Mình có 1 Hàm trả về một mảng và một sub để gọi hàm mảng đó ra sau đó gán xuống excel, mình biết là trong giai đoạn gán cuối cùng của sub nó bị lỗi nhưng không biết xử lý trường hợp này như thế nào, với lại thứ 2 nữa là trong quá trình gom nhặt dữ liệu để add vào mảng kq thì do không biết trước được có bao nhiêu phần tử nên mình đã khai báo 1000 dòng, mà "xui" thay cái redim reserve lại không thể redim chiều thứ nhất, thì có cách nào để thay đổi kích thước mảng mà không mất dữ liệu không ạ, xin chân thành cảm ơn các bạn đã đọc bài viết

Mã:
Public k As Integer
Mã:
Function Xuly(rng As Range, Ngay As Boolean)
    Dim arr(), kq(1 To 1000, 1 To 8)
    arr = rng.Value
    If Ngay Then
        For i = 1 To UBound(arr, 1)
            If Len(CStr(arr(i, 2))) > 0 And Len(CStr(arr(i, 3))) > 0 Then
                k = k + 1
                For j = 1 To 8
                    kq(k, j) = arr(i, j)
                Next j
            End If
        Next i
    End If
    Xuly = kq
End Function

Mã:
Sub test()
    Range(b5).Resize(k, 8).Value = Xuly(Sheet4.Range("a5:h60"), True)
End Sub
 
1. Sub test của bạn khai báo Range khai báo Range vậy sao chạy được: thiếu 2 dấu nháy cho B5

Mã:
Range([B]"[/B]b5[SIZE=5][COLOR=#ff0000][B]"[/B][/COLOR][/SIZE]).

2. Function thì khai báo mảng như sau

Mã:
Dim arr(), kq ', kq(1 To 1000, 1 To 8)
    arr = rng.Value
    ReDim kq(1 To UBound(arr), 1 To 8)
Cám ơn bạn, nhờ bạn mà mình biết được ý đầu là 1 sub có thể gọi 1 hàm trả về mảng ( do mình sai cú pháp)
- Còn cái thứ 2 là ý mình hỏi : mình có 1 mảng data lớn, sau đó trích lọc ra các hàng thỏa điều kiện cho vào mảng kq, và dĩ nhiên mảng kq ban đầu sẽ chưa biết sẽ khai báo bao nhiêu dòng, do đó mình cho số dòng = số dòng của mảng data, và cuối cùng mình muốn thu nhỏ mảng kq lại ( bỏ những hàng thừa mà không mất dữ liệu), mà khi dùng redim reserve thì chỉ cho điều chỉnh số cột thôi
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom