Giúp câu lệnh để lấy địa chỉ của 1 vùng dữ liệu (1 người xem)

Liên hệ QC

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

AnhThu-1976

Thành viên tích cực
Tham gia
17/10/14
Bài viết
1,063
Được thích
175
Tại Sheet Temp em có 1 vùng dữ liệu A9:P13, vùng này có thể thay đổi
Bây giờ em muốn xác định vùng có dữ liệu (nghĩa là bỏ qua các dòng trống)
Vùng theo file hiện là vùng B9:P10
Bây giờ dùng câu lệnh nào để nó thông báo là vùng B9:P10

Mã:
Sub text()
Dim Nguon1 As Range
Set Nguon1 = Sheet6.[B9].Resize(Sheet6.[B13].End(xlUp).Row - 1, 15)


MsgBox Nguon1.Address
End Sub
Code trên em viết nó chưa đúng, nó trả về B9:P14. Nhờ các anh chị trên diễn đàn sửa giúp. Xin cảm ơn!
 

File đính kèm

Tại Sheet Temp em có 1 vùng dữ liệu A9:P13, vùng này có thể thay đổi
Bây giờ em muốn xác định vùng có dữ liệu (nghĩa là bỏ qua các dòng trống)
Vùng theo file hiện là vùng B9:P10
Bây giờ dùng câu lệnh nào để nó thông báo là vùng B9:P10

Mã:
Sub text()
Dim Nguon1 As Range
Set Nguon1 = Sheet6.[B9].Resize(Sheet6.[B13].End(xlUp).Row - 1, 15)


MsgBox Nguon1.Address
End Sub
Code trên em viết nó chưa đúng, nó trả về B9:P14. Nhờ các anh chị trên diễn đàn sửa giúp. Xin cảm ơn!
Muốn nó báo Msgbox $B$9:$P$10 thì vầy đi cho nó gọn
Set Nguon1 = Range("B9:P10")
 
Upvote 0
Không fải vậy, vì vùng nó dao động theo cthức nên kg thể xác định vậy được
nếu nó nhiều hơn 1 dòng thì sẽ trở thành B9:P11
Tại mình thấy bạn thiết kế file đó sao ý .... dưới lại có một Form khác nữa ..nếu vậy bỏ hết dưới đi muốn thêm bao nhiêu thì thêm .... có 4 dòng mà cũng End(3) có phải bầy đặt không....
 
Upvote 0
Tại Sheet Temp em có 1 vùng dữ liệu A9:P13, vùng này có thể thay đổi
Bây giờ em muốn xác định vùng có dữ liệu (nghĩa là bỏ qua các dòng trống)
Vùng theo file hiện là vùng B9:P10
Bây giờ dùng câu lệnh nào để nó thông báo là vùng B9:P10

Mã:
Sub text()
Dim Nguon1 As Range
Set Nguon1 = Sheet6.[B9].Resize(Sheet6.[B13].End(xlUp).Row - 1, 15)


MsgBox Nguon1.Address
End Sub
Code trên em viết nó chưa đúng, nó trả về B9:P14. Nhờ các anh chị trên diễn đàn sửa giúp. Xin cảm ơn!

Cách đơn giản nhất là thiết kế bảng 1 thành 1 Table và bảng 2 cũng thành 1 Table, vậy là xong! Thêm dữ liệu đến đâu, cái table ấy nó sẽ tự "co giãn" đến nấy
 
Upvote 0
Hiện nay em đang làm 1 ví dụ để lấy 1 vùng dữ liệu ( vùng này không chứa các cell trống)
Code như sau
Mã:
Sub ChonMang_1()    Dim sArray As Range
        Set sArray = Range([A4], [A65536].End(3)).Resize(, 2)
    MsgBox sArray.Address
End Sub
Nhưng code vẫn lấy các dòng trống ở dưới (A9:A23)
Bây giờ sửa code sao để nó bỏ các dòng trống ở dưới
Cảm ơn các anh chị
 

File đính kèm

Upvote 0
Hiện nay em đang làm 1 ví dụ để lấy 1 vùng dữ liệu ( vùng này không chứa các cell trống)
Code như sau
Mã:
Sub ChonMang_1()    Dim sArray As Range
        Set sArray = Range([A4], [A65536].End(3)).Resize(, 2)
    MsgBox sArray.Address
End Sub
Nhưng code vẫn lấy các dòng trống ở dưới (A9:A23)
Bây giờ sửa code sao để nó bỏ các dòng trống ở dưới
Cảm ơn các anh chị
Thử với cái này xem sao:
Mã:
Sub ChonMang_1()
    Dim sArray As Range, Lr
         Lr = Range("A" & Rows.Count).End(3).Row - 4
         Set sArray = Range("A4:B" & Lr)
         MsgBox sArray.Address
End Sub
P/s : Đã xài code thì bạn xài code hết luôn đi, sao lại có IF gì nữa chứ.
 
Upvote 0
Thử với cái này xem sao:
Mã:
Sub ChonMang_1()
    Dim sArray As Range, Lr
         Lr = Range("A" & Rows.Count).End(3).Row - 4
         Set sArray = Range("A4:B" & Lr)
         MsgBox sArray.Address
End Sub
P/s : Đã xài code thì bạn xài code hết luôn đi, sao lại có IF gì nữa chứ.
Nếu ô B4<>"" thì ô A20=1, khi đó mãng sẽ là A4:B20, nhưng code của bạn nó trả về A4:B19
 
Upvote 0
Nếu ô B4<>"" thì ô A20=1, khi đó mãng sẽ là A4:B20, nhưng code của bạn nó trả về A4:B19
Đó là lý do sao mình lại nói xài công thức làm chi. Thế thử lại cái này nhé:
Mã:
Sub ChonMang_1()
    Dim sArray As Range, Lr
         Lr = Range("A" & Rows.Count).End(3).Row - Application.WorksheetFunction.CountBlank(Range("A4:A23"))
         Set sArray = Range("A4:B" & Lr)
         MsgBox sArray.Address
End Sub
 
Upvote 0
Web KT

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

Back
Top Bottom