Kính nhờ giải thích công thức phần liên kết ô Dropdown giữa 2 sheet
File gốc này mình nhờ 1 bạn GBE làm lâu rồi, giờ dữ liệu thay đổi, mình có nhờ điều chỉnh chỗ này chỗ kia chút.
Giờ final gom lại thì phát sinh cái list tên Khách theo SĐT không hoạt động (nó liên kết với 1 bảng trong sheet Tach KH)
3128Mình có đính kèm file lên, nhờ anh em GBE xem giúp phải sửa như thế nào với (File cần chỉnh Nho GPE listdropdown)
, còn file gốc về cách nó hoạt động, mình cũng gửi lại file Thong Ke KhachVip1 để mọi người xem lại cách nó hoạt động.
Mình cần lấy dữ liệu cái bảng ở sheet Tach KH này, bảng này có thể mở rộng tới STT 100 giúp mình.
-Ô J2 có List dropdown bên Sheet Gui Le, chọn SĐT ra tên Khách hàng tương ứng (Khách hàng xếp theo thứ tự ưu tiên theo SL Gửi)
3129
2 năm trước, bạn cũng giúp mình viết code cho vấn đề này của mình nè, giờ mình đổi cty khác làm nên thay đổi cấu trúc hết, k biết sửa ntn, topic cũ lúc đó nè:
www.giaiphapexcel.com/diendan/threads/nh%E1%BB%9D-gi%C3%BAp-%C4%91%E1%BB%A1-l%E1%BB%8Dc-d%E1%BB%AF-li%E1%BB%87u-theo-s%C4%90t-v%C3%A0-ch%C3%A9p-d%E1%BB%AF-li%E1%BB%87u-t%C6%B0%C6%A1ng-%E1%BB%A9ng-qua-sheet-kh%C3%A1c.153011/
Chân thành cảm ơn rất rất nhiều!Không biết có phải mình hiểu đơn giản quá không
Bạn sửa công thức trong Name SDT như sau:SDT=OFFSET('Tach KH'!$C$4,0,0,COUNTA('Tach KH'!$C:$C)-1)
Thêm sub tạo danh sách
Option Explicit
Sub XYZ()
Dim arr(), resDT$(), res(), wb As Workbook, sh As Worksheet, dic As Object
Dim sRow&, sCol&, j&, i&, r&, k&, ik&, DT$, fDay&, eDay&, tDay
Set sh = ThisWorkbook.Worksheets("Tach KH")
Set dic = CreateObject("Scripting.Dictionary")
On Error Resume Next
fDay = sh.Range("G2").Value
eDay = sh.Range("H2").Value
If fDay = Empty Or eDay = Empty Or fDay > eDay Then
MsgBox ("Dieu kien ngay khong chuan !")
Exit Sub
End If
'Gan du lieu vao mang arr
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wb = Workbooks.Open(ThisWorkbook.Path & "" & "DuLieu." & sh.Range("F1").Value)
arr = Range("A10:AS" & Range("E" & Rows.Count).End(xlUp).Row).Value
wb.Close False
If Err.Number > 0 Then
MsgBox ("File du lieu khong ton tai !")
Application.EnableEvents = True
Application.ScreenUpdating = True
Exit Sub
End If
On Error GoTo 0
sRow = UBound(arr): sCol = UBound(arr, 2)
'Loc du lieu
ReDim res(1 To sRow, 1 To 3)
ReDim resDT(1 To sRow, 1 To 1)
For i = 1 To sRow
If TypeName(arr(i, 41)) = "String" Then
tDay = CLng(Split(arr(i, 41), "/")(0))
Else
tDay = Day(arr(i, 41))
End If
If tDay >= fDay And tDay <= eDay Then
r = r + 1
If i <> r Then
For j = 1 To sCol
arr(r, j) = arr(i, j)
Next j
End If
DT = Trim(arr(i, 7))
If Not dic.exists(DT) Then
k = k + 1
dic.Add DT, k
res(k, 1) = arr(i, 5): res(k, 3) = 1
resDT(k, 1) = DT
Else
ik = dic.Item(DT)
res(ik, 3) = res(ik, 3) + 1
End If
End If
Next i
'Gan du lieu vao sheet Data
With Sheets("Data")
If .Range("B2").Value <> Empty Then .Range("B2").CurrentRegion.Offset(1).ClearContents
.Range("D2").Resize(r).NumberFormat = "@"
.Range("AO2").Resize(r).NumberFormat = "@"
.Range("A2").Resize(r, sCol) = arr
End With
'Xoa vung ket qua
i = sh.Range("B" & Rows.Count).End(xlUp).Row
If i > 3 Then sh.Range("A4:D" & i).ClearContents
'Gan ket qua
sh.Range("B4").Resize(k, 3) = res
sh.Range("C4").Resize(k) = resDT
sh.Range("B4").Resize(k, 3).Sort Key1:=sh.Range("D4"), Order1:=xlDescending
sh.Range("A4") = 1
sh.Range("A4").Resize(k).DataSeries
Call Add_Datavalidation(dic, resDT, k, i) 'Tao Data validation sheet "Gui Le"
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Sub Add_Datavalidation(dic, resDT, ByVal sRow&, ByVal i&)
dic.RemoveAll
For i = 1 To sRow
If Not dic.exists(resDT(i, 1)) Then dic.Add resDT(i, 1), ""
Next i
Sheets("Gui Le").Range("J2").Validation.Modify Formula1:=Join(dic.keys, ",")
End Sub
www.giaiphapexcel.com/diendan/threads/k%C3%ADnh-nh%E1%BB%9D-gi%E1%BA%A3i-th%C3%ADch-c%C3%B4ng-th%E1%BB%A9c-ph%E1%BA%A7n-li%C3%AAn-k%E1%BA%BFt-%C3%B4-dropdown-gi%E1%BB%AFa-2-sheet.163900/
Khóa học Power PI – Ứng dung trong Nhân sự
TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...
Xem khóa học
Bình luận