thầy ơi vậy cho em hỏi mình có code tìm dòng đầu không
Bạn có thể tham khảo đoạn code dưới đây:
Dim firstRow As Long
Dim lastRow As Long
With Sheets("fileNames").Columns("B") '<--| reference your sheet (activating it is bad practice!) column "B" range
If WorksheetFunction.CountA(.Cells) = 0 Then '<--| if no data whatever
MsgBox "Sorry: no data"
Else
With .SpecialCells(xlCellTypeConstants) '<--| reference its cells with constant (i.e, not derived from formulas) values)
firstRow = .Areas(1).Row
lastRow = .Areas(.Areas.Count).Cells(.Areas(.Areas.Count).Rows.Count).Row
End With
MsgBox "the first row is " & firstRow
MsgBox "last row is " & lastRow
End If
End With
trong đó:
- cột tìm dòng đầu và dòng cuối là cột B
- dữ liệu trong cột B không có chứa công thức (dữ liệu ở dạng value)
---
Thường dòng đầu sẽ là vị trí cố định (nên thiết kế để dòng đầu cố định). Trường hợp dòng đầu không cố định thì có rất nhiều vấn đề có thể xảy ra, như phía trước dòng này có dữ liệu hay không? nếu không thì có thể dùng code giống như trên được, còn nếu có thì phải dùng phương pháp khác, dựa trên dấu hiệu nhận biết đâu là dòng đầu.