Đỗ Xuân Huy
Đỗ Xuân Huy
Thảo luận 7 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 231 lượt xem

Mình đã thử làm theo như bạn Tuấn Ba chỉ nhưng tại sao nó vẫn cho phép

Mình đã thử làm theo như bạn Tuấn Ba chỉ nhưng tại sao nó vẫn cho phép nhận dữ liệu trùng vậy ạ? Ngoài ra, sau mỗi lần import 1 file excel là xuất hiện thêm thông báo "Du lieu da bi trung" (trước đó ko bị). Đây là đoạn code của mình:

Option Explicit
Sub testtrung()
Dim dongcuoi_wbKQ As Long
Dim kieu As Long
dongcuoi_wbKQ = ThisWorkbook.Sheets(2).Range("A" & Rows.Count).End(xlUp).Row
kieu = Application.WorksheetFunction.CountIfs(ThisWorkbook.Sheets(2). _
Range("A1:BM" & dongcuoi_wbKQ), Range("A1").Value, _
ThisWorkbook.Sheets(2).Range("A1:BM" & dongcuoi_wbKQ), Range("F1").Value)
If kieu >= 1 Then
MsgBox "Du lieu da bi trung"
End If
End Sub
Thảo luận 7 câu trả lời
Lượt xem 231 lượt xem
Vỗ tay vỗ tay
Đỗ Xuân Huy 18:05 - May 30, 2020
Bạn xem code nhé:
Option Explicit

Sub testloctrung()
Dim dc As Long, kieu As Integer
dc = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
kieu = Application.WorksheetFunction.CountIfs(Sheet1.Range("A1:A" & dc), Range("C1").Value, _
Sheet1.Range("B1:B" & dc), Range("D1").Value)
If (kieu >= 1) Then
MsgBox "Trung"
End If
End Sub

Vỗ tay vỗ tay
Đỗ Xuân Huy 11:05 - May 31, 2020
Mình đã thử nhưng vẫn có thể nhập được file trùng, ngoài ra còn xuất hiện thêm lỗi "runtime error 9 subscript out of range". Bạn vui lòng kiểm tra giùm mình với.

https://drive.google.com/file/d/1ueQ0...
Vỗ tay vỗ tay
Đỗ Xuân Huy 09:06 - Jun 01, 2020

chào bạn bạn xem code nhé.
Option Explicit

Sub Gop_DuLieu_TongQuat()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = True
.Show
.Title = "Hay chon file de mo"

'Xac dinh file nao duoc chon
Dim i As Long
For i = 1 To .SelectedItems.Count
'Gan bien cho cac workbook
Dim wb_KQ As Workbook
Dim wb_Select As Workbook
Set wb_KQ = ThisWorkbook
Set wb_Select = Workbooks.Open(.SelectedItems(i))
Dim kieu As Integer



'Dua du lieu tu cac workbook khac

'Xac dinh dong cuoi cua Wb2
Dim dongcuoi_wb As Long
dongcuoi_wb = wb_Select.Sheets(1).Range("A" & Rows.Count).End(xlUp).Row

'Xac dinh khoang cach so dong du lieu
'Khoang cach = dongcuoi_wb2 - dongdau_wb2 + 1 (neu 2 dong trung nhau thi van có ket qua la 1 dong)
Dim dongdau_wb As Long
dongdau_wb = 8
Dim khoangcach_wb As Long
khoangcach_wb = dongcuoi_wb - dongdau_wb + 1
'Noi nhan
'Tim dong cuoi cua noi nhan => la diem bat dau
'Pham vi cua vung nhan = Khoang cach
Dim dongcuoi_wbKQ As Long
dongcuoi_wbKQ = wb_KQ.Sheets(2).Range("A" & Rows.Count).End(xlUp).Row
kieu = WorksheetFunction.CountIfs(wb_KQ.Sheets(2).Range("A6:A" & dongcuoi_wb), wb_Select.Sheets(1).Range("E2"), wb_KQ.Sheets(2).Range("C6:C" & dongcuoi_wb), wb_Select.Sheets(1).Range("G2"))
If (kieu < 1) Then
wb_KQ.Sheets(2).Range("A" & dongcuoi_wbKQ + 1 & ":BM" & dongcuoi_wbKQ + khoangcach_wb).Value = _
wb_Select.Sheets(1).Range("A" & dongdau_wb & ":BM" & dongcuoi_wb).Value
End If

wb_KQ.Sheets(2).Range("D1").Value = WorksheetFunction.CountIfs(wb_KQ.Sheets(2).Range("A6:A" & dongcuoi_wb), 1)

'Call testtrung
'Call testloctrung

wb_Select.Close SaveChanges:=False

Next i
End With
End Sub
link:
https://mfedu-my.sharepoint.com/perso...




Vỗ tay vỗ tay
Đỗ Xuân Huy 14:06 - Jun 01, 2020
Cám ơn bạn Tuấn Ba, đúng là chạy được rồi nhưng có điều mình ko hiểu sao tháng 1,2 nó kiểm tra được, nhưng tháng 3,4 thì lại vẫn có thể nhập trùng được nhỉ? kiểm tra thì thấy những file bảng lương tháng này có cấu trúc giống nhau mà nhỉ?
Vỗ tay vỗ tay
Đỗ Xuân Huy 14:06 - Jun 01, 2020
Chào bạn bạn thử xem lại xem vì code mình viết chỗ kieu đó là check trùng của tháng rồi nếu trùng thì nó không import vào nữa mà.
Vỗ tay vỗ tay
Đỗ Xuân Huy 14:01 - Jan 15, 2021

Hi thầy Tuấn Ba, như đoạn code của thầy đưa phía trên, thì thầy có thể giải thích giúp e chỗ này được không ah?

Sau khi End If tức là đã thực thi được code lấy được dữ liệu vào file tổng hợp rồi
thì đoạn tiếp theo này có ý nghĩa để làm gì ah?
wb_KQ.Sheets(2).Range("D1").Value = WorksheetFunction.CountIfs(wb_KQ.Sheets(2).Range("A6:A" & dongcuoi_wb), 1)

Vỗ tay vỗ tay
Đỗ Xuân Huy 15:01 - Jan 15, 2021

Chào bạn phần code có thể mình ghi thừa vào trong đó rồi.

Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông