Chọn vùng trong VBA
Chào các AC trong diễn đàn. Nhờ các AC xem giúm e file này, trong file e đã ghi rõ y/c. E cảm ơn ạ
Làm biếng "chế" lại cái mới nên lấy code của bạn luôn: Bạn sửa câu lệnh
Range(Cells(.Row, 2), Cells(.Row, 10).End(xlDown)).Select
thành
Range(Cells(.Row, 2), Cells(.Row, 10).End(xlDown)[COLOR=#ff0000][B].Offset(-5)[/B][/COLOR]).Select
www.giaiphapexcel.com/diendan/threads/ch%E1%BB%8Dn-v%C3%B9ng-trong-vba.109322/
Khóa học SprinGO phù hợp
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học
Có thể trên thực tế thì cái dòng cuối cùng đó không biết là dòng nào, do đó cũng chưa biết được tổng số dòng cần chọn. Như vậy thì Resize trong trường hợp này là không ổn. Và tất nhiên nếu dòng cuối cùng mà không lớn hơn 5 thì cách dùng Offset như bài #2 cũng "tèo".
Nếu chỉ muốn chọn hàng i thì sử dụng thế này.
Bạn xem lại sheet FSB có tồn tại hay không?
Thêm dòng màu xanh
Set copyrange = Sheets("con1")..CurrentRegion
Sheets("con1").Select
copyrange.Offset(2).Resize(copyrange.Rows.Count – 2).Select
Khi "đứng" ở sheet nào (sheet.select hoặc sheet.Activate) thì mới chọn được range ở trên sheet đó (range().select)
Dùng đỡ cái này:
Option Explicit
Sub chonvung()
Dim i&, rng, startC As String, endC As String
Dim u As Range, addr As String
rng = Range("L1:M" & Cells(Rows.Count, "L").End(xlUp).Row).Value
startC = "B"' cot dau
endC = "C" ' cot cuoi
For i = 1 To UBound(rng)
If rng(i, 1) <> "" And rng(i, 2) <> "" Then
addr = startC & rng(i, 1) & ":" & endC & rng(i, 2)
If u Is Nothing Then
Set u = Range(addr)
Else
Set u = Union(u, Range(addr))
End If
End If
Next
u.Select
End Sub
Trực quan hơn nè, mại zô:
Sub SelectionRanges1()
Dim Rng As Range
With Sheets("Sheet1")
Set Rng = .Range("B" & ..Value & ":C" & ..Value)
MsgBox Rng.Address, , "Rng.Address:"
Union(Rng, .Range("B" & ..Value & ":C" & ..Value)).Select
MsgBox Selection.Address, , "Vùng Chon Theo Chi Sô Dòng & Côt"
End With
End Sub