bun_bo_hue
Thành viên chính thức
- Tham gia
- 31/12/09
- Bài viết
- 78
- Được thích
- 11
Em có viết 1 hàm đơn giản, dùng để comment những cell nào không bị HIDE (HIDE do Filter chẳng hạn).
Nhưng câu lệnh này ".SpecialCells(xlCellTypeVisible).Address" không lấy được hết những Cell không bị HIDE. Ví dụ :
"Range("AQ5:AQ50000")..SpecialCells(xlCellTypeVisible).Address" --> chỉ báo tối đa có 32 areas (hoặc địa chỉ) không bị HIDE. Trong khi thực tế là 50 areas không bị HIDE mới đúng, tức là câu lệnh này lấy không hết.
Em không hiểu tại sao. Mong các anh em chỉ giúp ạ.
'---------------------------------------------------------------------------------------------------------
Private Sub Add_Comment_by_Sector1()
Dim total_range, rng As Range
Dim z As Long
On Error Resume Next
Application.Calculation = xlCalculationManual
z = 0
Set total_range = Optimise.Range(Optimise.Range("AQ5:AQ50000").SpecialCells(xlCellTypeVisible).AddressLocal)
For i = 1 To total_range.Areas.Count
For Each rng In total_range.Areas(i)
z = z + 1
Sheet1.Range("A1").Offset(z - 1, 0) = rng.AddressLocal
Next
Next
Application.Calculation = xlCalculationAutomatic
End Sub
'---------------------------------------------------------------------------------------------------------
Nhưng câu lệnh này ".SpecialCells(xlCellTypeVisible).Address" không lấy được hết những Cell không bị HIDE. Ví dụ :
"Range("AQ5:AQ50000")..SpecialCells(xlCellTypeVisible).Address" --> chỉ báo tối đa có 32 areas (hoặc địa chỉ) không bị HIDE. Trong khi thực tế là 50 areas không bị HIDE mới đúng, tức là câu lệnh này lấy không hết.
Em không hiểu tại sao. Mong các anh em chỉ giúp ạ.
'---------------------------------------------------------------------------------------------------------
Private Sub Add_Comment_by_Sector1()
Dim total_range, rng As Range
Dim z As Long
On Error Resume Next
Application.Calculation = xlCalculationManual
z = 0
Set total_range = Optimise.Range(Optimise.Range("AQ5:AQ50000").SpecialCells(xlCellTypeVisible).AddressLocal)
For i = 1 To total_range.Areas.Count
For Each rng In total_range.Areas(i)
z = z + 1
Sheet1.Range("A1").Offset(z - 1, 0) = rng.AddressLocal
Next
Next
Application.Calculation = xlCalculationAutomatic
End Sub
'---------------------------------------------------------------------------------------------------------