Chọn vùng dữ liệu có điều kiện bằng VBA

Liên hệ QC

hailonely

Thành viên mới
Tham gia
18/5/10
Bài viết
10
Được thích
1
Khi thêm dữ liệu hàng ngang thì dùng code VBA mình vẫn chọn được toàn bộ vùng đó
 

File đính kèm

  • Kiem_tra_thep_dam_v1.xls
    98.5 KB · Đọc: 7
View attachment 274204
vùng dữ liệu nằm trong 2 hàng và cột có màu này, ví dụ như khi mình cần thêm dữ liệu theo hàng thì vẫn chọn được toàn bộ vùng mới đó
Hình ảnh bạn đưa lên có tổng mấy màu liền :màu xám, màu đỏ đậm, đỏ tươi. Bạn có thể mô tả cụ thể hơn được không?
Chứ mình đang hiểu là nếu có thêm cột hay thêm dòng thì vùng được chọn là cái vùng có viền đỏ đậm có kẻ đen kia hả
1649410012054.png
Tại thấy code của bạn có đoạn này
Mã:
 Sub CurrentArea()
      Selection.CurrentRegion.Select
  End Sub
Nên cứ mở hồ thế nào ấy?
Và bạn nên sửa lại tiêu đề cho đúng nội quy đã nhé.
1649410303094.png
 
Lần chỉnh sửa cuối:
Upvote 0
Hình ảnh bạn đưa lên có tổng mấy màu liền :màu xám, màu đỏ đậm, đỏ tươi. Bạn có thể mô tả cụ thể hơn được không?
Chứ mình đang hiểu là nếu có thêm cột hay thêm dòng thì vùng được chọn là cái vùng có viền đỏ đậm có kẻ đen kia hả
View attachment 274206
Tại thấy code của bạn có đoạn này
Mã:
 Sub CurrentArea()
      Selection.CurrentRegion.Select
  End Sub
Nên cứ mở hồ thế nào ấy?
Và bạn nên sửa lại tiêu đề cho đúng nội quy đã nhé.
View attachment 274208

Hình ảnh bạn đưa lên có tổng mấy màu liền :màu xám, màu đỏ đậm, đỏ tươi. Bạn có thể mô tả cụ thể hơn được không?
Chứ mình đang hiểu là nếu có thêm cột hay thêm dòng thì vùng được chọn là cái vùng có viền đỏ đậm có kẻ đen kia hả
View attachment 274206
Tại thấy code của bạn có đoạn này
Mã:
 Sub CurrentArea()
      Selection.CurrentRegion.Select
  End Sub
Nên cứ mở hồ thế nào ấy?
Và bạn nên sửa lại tiêu đề cho đúng nội quy đã nhé.
View attachment 274208
Ý của mình là mình muốn dùng VBA để chọn toàn bộ dữ liệu nằm trong cột AK và hàng 29. Dữ liệu thì sẽ không thêm cột, chỉ cần thêm vào hàng. Nếu mình muốn thêm hàng dữ liệu nữa thì vẫn chọn được toàn bộ dữ liệu bao gồm hàng dữ liệu mới thêm vào
 
Upvote 0
Ý của mình là mình muốn dùng VBA để chọn toàn bộ dữ liệu nằm trong cột AK và hàng 29. Nếu mình muốn thêm hàng dữ liệu nữa thì vẫn chọn được toàn bộ dữ liệu bao gồm hàng dữ liệu mới thêm vào
Như vậy tức là vùng được chọn sẽ là A1:AJ29 hả?
Điều thứ 2 bạn hãy sửa tiêu đề đi.
 
Upvote 0
Vùng được chọn là A1:AK29
Mình đã sửa tiêu đề rồi nhé
Bài này không khó, nhưng không rõ cách bố trí dữ liệu của bạn có giống trong file hoàn toàn không.
Để dễ thực hiện nhất, theo mình làm như này: Vì bạn đã xác định vùng đỏ để sử dụng rồi thì tại AK1 bạn gõ dấu "||" (không ngoặc kép), A29 bạn cũng gõ "||". Vậy chỉ cần xác định cột cuối và dòng cuối theo các ký tự đó mà thôi. (Gõ vào nó cũng không mất thẩm mỹ của file)
Gõ gì cũng được nhưng sở dĩ mình gõ "||" vì đang nghĩ tới phương án nếu sau AK1 bạn nhập linh tinh thì sẽ dùng range find tìm kiếm ký tự "||". Nói thì dài nhưng làm thì đơn giản. Chi tiết file đính kèm và code:
Mã:
Sub LastRowAndColumn()
Dim lCol As Long, lRow As Long, UsedRng As Range
With Sheets("Bang tinh Dam")
    lCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    lRow = .Cells(Rows.Count, 1).End(xlUp).Row
    Set UsedRng = .Range("A1", .Cells(lRow, lCol))
    UsedRng.Select
End With
End Sub
 

File đính kèm

  • Kiem_tra_thep_dam_v1.xls
    98.5 KB · Đọc: 14
Upvote 0
Bài này không khó, nhưng không rõ cách bố trí dữ liệu của bạn có giống trong file hoàn toàn không.
Để dễ thực hiện nhất, theo mình làm như này: Vì bạn đã xác định vùng đỏ để sử dụng rồi thì tại AK1 bạn gõ dấu "||" (không ngoặc kép), A29 bạn cũng gõ "||". Vậy chỉ cần xác định cột cuối và dòng cuối theo các ký tự đó mà thôi. (Gõ vào nó cũng không mất thẩm mỹ của file)
Gõ gì cũng được nhưng sở dĩ mình gõ "||" vì đang nghĩ tới phương án nếu sau AK1 bạn nhập linh tinh thì sẽ dùng range find tìm kiếm ký tự "||". Nói thì dài nhưng làm thì đơn giản. Chi tiết file đính kèm và code:
Mã:
Sub LastRowAndColumn()
Dim lCol As Long, lRow As Long, UsedRng As Range
With Sheets("Bang tinh Dam")
    lCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    lRow = .Cells(Rows.Count, 1).End(xlUp).Row
    Set UsedRng = .Range("A1", .Cells(lRow, lCol))
    UsedRng.Select
End With
End Sub
Mình đã làm được, cảm ơn bạn rất nhiều!!!
 
Upvote 0
Web KT

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

Back
Top Bottom