thanhtungtmn1989
Thành viên chính thức
- Tham gia
- 17/12/14
- Bài viết
- 91
- Được thích
- 15
Bạn xem file đính kèm nhéBạn nào chỉ hộ mình cách lọc thửa thiếu trong từng tờ bản đồ được ko ạ, mình cảm ơn nhiều...
Dạ em muốn tìm khúc giữa bị thiếu, đầu đuôi thiếu cho qua.Số thử bắt đầu từ đâu, và kết thúc tại đâu, giả sử trong danh sách có 5 thửa ( 1,2,3,4,5,) thì còn thiếu thửa nào, nếu số thửa tối đa là 10 tức là thiếu 5 thửa?
Số thử bắt đầu từ đâu, và kết thúc tại đâu, giả sử trong danh sách có 5 thửa ( 1,2,3,4,5,) thì còn thiếu thửa nào, nếu số thửa tối đa là 10 tức là thiếu 5 thửa?
Dùng hàm đếm tổng thửa của từng tờ bản đồ rồi tính vùng chứa của mỗi tờ từ đâu đến đâu, dùng hàm chỗ tô màu xanh rồi Fill xuống, riêng cột J thì phải copy từng Cell cột I Paste vào hàm, nó sẽ liệt kê tất cả thửa (không dùng) riêng cho từng tờ bản đồ, xem File.Bạn nào chỉ hộ mình cách lọc thửa thiếu trong từng tờ bản đồ được ko ạ, mình cảm ơn nhiều...
Giải thích chả hiểu gì ráo.có thể lọc ra đường cột được không ạ chú,
( Tờ bản đồ, Số thửa)
( Tờ bản đồ, Số thửa)
Bạn xem file nhé. (mình dùng thêm vùng tra cứu phụ, đã ẩn vùng)Lọc đc ra danh sách thì đẹp bạn nhỉ
Bạn nào chỉ hộ mình cách lọc thửa thiếu trong từng tờ bản đồ được ko ạ, mình cảm ơn nhiều...
Dữ liệu mà không được sắp xếp thì sẽ chạy sai, mà phải là sắp xếp theo chiều tăng.Cháu làm theo cách bác ba tê ấy
Bao giờ chạy sai thì lại sửa, mọi chuyện đều tốt lành cả mà.làm sao hiểu được ý bác ba tê làm ra như vậy đc nhỉ,
Public Sub test()
Dim sArr(), dArr(), i As Long, j As Long, k As Long
Dim lastRow As Long
With Sheets("Sheet1")
lastRow = .Range("A" & Rows.Count).End(xlUp).Row
.Range("A2:B" & lastRow).Sort Key1:=.Range("A2"), Order1:=xlAscending, Key2:=.Range("B2"), Order2:=xlAscending
sArr = .Range("A1:B" & lastRow).Value
ReDim dArr(1 To 100000, 1 To 2)
For i = 2 To UBound(sArr)
If sArr(i, 1) <> sArr(i - 1, 1) Then
If sArr(i, 2) <> 1 Then
For j = 1 To (sArr(i, 2) - 1)
k = k + 1
dArr(k, 1) = sArr(i, 1)
dArr(k, 2) = j
Next
End If
Else
If (sArr(i, 2) - sArr(i - 1, 2)) > 1 Then
For j = (sArr(i - 1, 2) + 1) To (sArr(i, 2) - 1)
k = k + 1
dArr(k, 1) = sArr(i, 1)
dArr(k, 2) = j
Next
End If
End If
Next
.Range("H2").Resize(k, 2) = dArr
End With
End Sub
Do khai báo mảng dArr() chưa đủ với trường hợp file này.BÁC XEM HỘ em với nó báo lỗi này
ReDim dArr(1 To R, 1 To 2)
Để ở con số đó cũng chả có gì là chắc ăn, vẫy lỗi đều đều, thà rằng cho nó khoảng 1000 là đủ, rồi biến tấu code để có thể thích ứng mọi trường hợp.Thay R bằng số 1000000