anhbanvuitinh9x
Thành viên mới

- Tham gia
- 4/10/14
- Bài viết
- 43
- Được thích
- 14
- Giới tính
- Nam
Sửa 1 chút của bạn.Chỉ sửa theo yêu cầu.anh/chị cho em hỏi em lấy dữ liệu ở mảng ra nhưng sẽ có những phần tử empty, nên khi lấy dữ liệu ra nó có những khoảng trắng.
Nên có cách nào để dữ liệu lấy ra liền nhau không?
Em cảm ơn!
Function lr(ws As Worksheet, col As Long)
lr = ws.Cells(Rows.Count, col).End(xlUp).Row
End Function
Sub laydulieu()
Dim arr()
Dim i As Long, j As Long, a As Long
Dim kq()
Dim dongcuoi As Long
Sheet1.Select
dongcuoi = lr(Sheet1, 1)
arr = Range(Cells(2, 1), Cells(dongcuoi, 4)).Value
ReDim kq(1 To dongcuoi - 1, 1 To 4)
For i = 1 To dongcuoi - 1
If arr(i, 1) = Sheet2.Range("b1").Value Then
a = a + 1
For j = 1 To 4
kq(a, j) = arr(i, j)
Next j
End If
Next i
Sheet2.Range("A3:D10000").ClearContents
If a Then Sheet2.Range("A3:D3").Resize(a).Value = kq()
Sheet2.Select
End Sub
Em cảm ơn bác rất nhiều, em ngồi nghĩ với mò mãi chẳng raSửa 1 chút của bạn.Chỉ sửa theo yêu cầu.
Mã:Function lr(ws As Worksheet, col As Long) lr = ws.Cells(Rows.Count, col).End(xlUp).Row End Function Sub laydulieu() Dim arr() Dim i As Long, j As Long, a As Long Dim kq() Dim dongcuoi As Long Sheet1.Select dongcuoi = lr(Sheet1, 1) arr = Range(Cells(2, 1), Cells(dongcuoi, 4)).Value ReDim kq(1 To dongcuoi - 1, 1 To 4) For i = 1 To dongcuoi - 1 If arr(i, 1) = Sheet2.Range("b1").Value Then a = a + 1 For j = 1 To 4 kq(a, j) = arr(i, j) Next j End If Next i Sheet2.Range("A3:D10000").ClearContents If a Then Sheet2.Range("A3:D3").Resize(a).Value = kq() Sheet2.Select End Sub
Dủng ADO, trong câu query để lấy dữ liệu thì thêm "Where cái gì đó NOT NULL"
Dủng ADO, trong câu query để lấy dữ liệu thì thêm "Where cái gì đó NOT NULL"
Em mới nghiên cứu VBA nên bác có thể nói rõ hơn giúp e k?Dủng ADO, trong câu query để lấy dữ liệu thì thêm "Where cái gì đó NOT NULL"