Nhờ Trợ giúp lọc trong DataValition theo điều kiện

Liên hệ QC

dola_vietnam

Thành viên mới
Tham gia
5/5/09
Bài viết
29
Được thích
2
Chào các bác.
em có bài toán này mong được các bác giúp đỡ. file đính kèm em gửi gồm
- sheet data có các thông tin về doanh nghiệp và thông tin cá nhân trong phòng. một công ty có nhiều người và phòng ban khác nhau
- sheet nhap cần lựa chọn để lấy thông tin về cá nhân trong cột E, nếu ở A5 chọn công ty nào đó thì khi click vào F5 sẽ có được toàn bộ tên nhân viên của cột A5
- nếu ở A6 chọn một tên khác thì E6 sẽ hiển thị nhân viên thuộc cty A6.

Em xin chân thành cảm ơn a.
 

File đính kèm

  • Book1.xlsx
    14.5 KB · Đọc: 14
Lần chỉnh sửa cuối:
Chào các bác.
em có bài toán này mong được các bác giúp đỡ. file đính kèm em gửi gồm
- sheet data có các thông tin về doanh nghiệp và thông tin cá nhân trong phòng. một công ty có nhiều người và phòng ban khác nhau
- sheet nhap cần lựa chọn để lấy thông tin về cá nhân trong cột E, nếu ở A5 chọn công ty nào đó thì khi click vào F5 sẽ có được toàn bộ tên nhân viên của cột A5
- nếu ở A6 chọn một tên khác thì E6 sẽ hiển thị nhân viên thuộc cty A6.

Em xin chân thành cảm ơn a.

up cho bạn lên ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
 

File đính kèm

  • Validation&Find.rar
    14 KB · Đọc: 25
Upvote 0
vay ban cung ap dung phan vlookup cho phan sau E5 la duoc nhu da up dung cho phan dau
 
Upvote 0
Chào các bác.
em có bài toán này mong được các bác giúp đỡ. file đính kèm em gửi gồm
- sheet data có các thông tin về doanh nghiệp và thông tin cá nhân trong phòng. một công ty có nhiều người và phòng ban khác nhau
- sheet nhap cần lựa chọn để lấy thông tin về cá nhân trong cột E, nếu ở A5 chọn công ty nào đó thì khi click vào F5 sẽ có được toàn bộ tên nhân viên của cột A5
- nếu ở A6 chọn một tên khác thì E6 sẽ hiển thị nhân viên thuộc cty A6.

Em xin chân thành cảm ơn a.
Dữ liệu ít quá, làm thí thí rồi "dong".
 

File đính kèm

  • Vali_GPE.rar
    14.8 KB · Đọc: 32
Upvote 0
Dữ liệu ít quá, làm thí thí rồi "dong".

Dear bác Ba tê,
em hỏi bác chút về dòng code này

Dim DK As String, I As Long, J As Long, K As Long, sArr(), dArr(), Tem As String
(I,J,K là tên biến để khai bất kỳ hay là tên cột ạ? em đang vọc code của bác mà khó hiểu quá. nó chỉ hiển thị được dòng không có nhân viên này ở cột AA thôi ạ.
Phiền bác giải thích giúp em một số đoạn này với ạ

- Target.Column = 5 (cột số 5) trong sheet nhập Target.Row > 4 And Target.Rows.Count = 1 Then (số >4 và =1 em ko hiểu)

nếu có thể bác chú thích giúp em đoạn code của bác với nhé

Option Explicit


Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Application.EnableEvents = False
Dim sArr(), dArr(1 To 1, 1 To 3), I As Long, Tem As String, DK As String
If Target.Column = 5 And Target.Row > 4 And Target.Rows.Count = 1 Then
DK = Target.Value & " " & Target.Offset(, -4).Value
With Sheets("data")
sArr = .Range(.[F5], .[F65000].End(xlUp)).Resize(, 6).Value
For I = 1 To UBound(sArr, 1)
Tem = sArr(I, 1) & " " & sArr(I, 2)
If Tem = DK Then
dArr(1, 1) = sArr(I, 3)
dArr(1, 2) = sArr(I, 6)
dArr(1, 3) = sArr(I, 5)
Exit For
End If
Next I
End With
Target.Offset(, 1).Resize(, 3).Value = dArr
End If
Application.EnableEvents = True
End Sub


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim DK As String, I As Long, J As Long, K As Long, sArr(), dArr(), Tem As String
If Target.Column = 5 And Target.Row > 4 And Target.Rows.Count = 1 Then
DK = UCase(Application.WorksheetFunction.Trim(Target.Offset(, -4)))
With Sheets("Data")
sArr = .Range(.[F5], .[F10000].End(xlUp)).Resize(, 6).Value
ReDim dArr(1 To UBound(sArr, 1), 1 To 6)
For I = 1 To UBound(sArr, 1)
Tem = UCase(Application.WorksheetFunction.Trim(sArr(I, 2)))
If Tem = DK Then
K = K + 1
For J = 1 To 6
dArr(K, J) = sArr(I, J)
Next J
End If
Next I
.[AA1].Resize(1000, 6).ClearContents
If K Then
.[AA1].Resize(K, 6).Value = dArr
Else
.[AA1].Value = "Khong co ai trong Cty nay"
End If
End With
End If
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Dear bác Ba tê,
em hỏi bác chút về dòng code này
...........................
Xin lỗi, tôi chỉ dựa theo câu hỏi để trả lời thôi, nếu muốn hỏi về ý nghĩa, cấu trúc và câu lệnh trong VBA thì là chuyện khác, chuyện này phải tự nghiên cứu theo các tài liệu mà bản thân mình đang có. Gv soạn giáo án cũng phải biết rõ đối tượng mình cỡ nào để giảng giải phù hợp, còn "bao la" như thế này thì thua. (Giảng theo kiểu mẫu giáo thì mấy em lớp 5 "chề môi", giảng theo kiểu lớp 5 có khi các em mẫu giáo "múa mỏ" méc má,thua thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
hi..hi.. thanks bác đã chỉ giáo. quả là VBA em còn "mênh mông" lắm. nhưng sau 1 thời gian lọ mọ em đã tìm ra nguyên lý.
chân thành cảm ơn bác ạ
 
Upvote 0
Chào các bác.
em có bài toán này mong được các bác giúp đỡ. file đính kèm em gửi gồm
- sheet data có các thông tin về doanh nghiệp và thông tin cá nhân trong phòng. một công ty có nhiều người và phòng ban khác nhau
- sheet nhap cần lựa chọn để lấy thông tin về cá nhân trong cột E, nếu ở A5 chọn công ty nào đó thì khi click vào F5 sẽ có được toàn bộ tên nhân viên của cột A5
- nếu ở A6 chọn một tên khác thì E6 sẽ hiển thị nhân viên thuộc cty A6.

Em xin chân thành cảm ơn a.
Thêm 1 cách cho bạn tham khảo
Nếu cột A chưa có tên công ty thì cột E không có validation để chọn
 

File đính kèm

  • validaton.rar
    22 KB · Đọc: 19
Upvote 0
thanks các bác. em đã làm được đúng ý tưởng rồi.
ngặt một nỗi cái này dùng cho nhân viên họ nhập vào. khi mình protect sheet lại thì code ko chạy. mà ko protect lại thì họ xóa công thức, thêm dòng thêm cột vào sheet thì code cũng ko chạy. và họ quay lại bảo do file của mình thế này thế nọ
=> mình lại đau đầu.
 
Upvote 0
.................... và họ quay lại bảo do file của mình thế này thế nọ
=> mình lại đau đầu.

một kinh nghiệm của tôi khi áp dụng những chương mình làm cho người khác sử dụng.
do tôi không chuyên, nên viết vba là thường khi áp dụng vào thực tế nó hay phát sinh lổi này lổi kia, và tâm lý của người sử dụng (ngay cả nhân viên của mình cũng vậy) là muốn phủ định nó, họ ko ủng hộ đâu, thường là vậy.
lúc đâu tôi ép họ sử dụng, rồi đi theo sát, sai tới đâu sửa tới đó.
một thời gian thấy ổn ổn tôi rút chương trình lại (nói là để tuốt lại) yêu câu họ làm như lúc chưa áp dụng chương trình mình viết)
đến lúc này, khi phải rị mọ làm thủ công họ mới cảm nhận được, bây giờ thì họ rất hợp tác với tôi để chỉnh chương trình cho hoàn chỉnh khi phát sinh lổi.
tôi nghỉ cái quan trong nhất là phải có sự thuận tiện hơn thì người ta mới áp dụng
 
Upvote 0
Web KT
Back
Top Bottom