Hỏi về tự động TÌM (1 người xem)

  • Thread starter Thread starter tle2003
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

tle2003

Thành viên hoạt động
Tham gia
22/1/07
Bài viết
166
Được thích
59
Làm ơn xem giùm tình huống dưới đây
Mình có 1 file tên "TÌM"

Sheet 1 tên là Tim
Sheet 2 tên là DuLieu

Xin các bạn giúp cho khi điên yêu cầu Lot# vào C1, thì dò cột G của sheet DuLieu, sau đó thì
1. Tự động điền vào C3,C4,C5,C6
2. Tự động cho danh sách của SN C8 trở đì.

Thành thật cám ơn
 

File đính kèm

Làm ơn xem giùm tình huống dưới đây
Mình có 1 file tên "TÌM"

Sheet 1 tên là Tim
Sheet 2 tên là DuLieu

Xin các bạn giúp cho khi điên yêu cầu Lot# vào C1, thì dò cột G của sheet DuLieu, sau đó thì
1. Tự động điền vào C3,C4,C5,C6
2. Tự động cho danh sách của SN C8 trở đì.

Thành thật cám ơn

Bạn dùng hàm VLOOKUP nhé, Sửa J3 thành J9 nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Cám ơn bạn, Hàm VLOOKUP giúp được yều cầu 1 thôi,
Yêu cầu 2, nếu dùng VLOOKUP thì chỉ có 1 dữ liệu....
Xin bạn xem lại
 
Upvote 0
Cám ơn bạn, Hàm VLOOKUP giúp được yều cầu 1 thôi,
Yêu cầu 2, nếu dùng VLOOKUP thì chỉ có 1 dữ liệu....
Xin bạn xem lại
Công thức C8:
=IFERROR(INDEX(DuLieu!$J$2:$J$9,SMALL(IF(DuLieu!$G$2:$G$9=$C$1,ROW(DuLieu!$G$2:$G$9)-1,""),ROW($A1))),"")
Kết thúc bằng Ctrl+Shift+Enter
Kéo xuống C9, C10
 
Upvote 0
Làm ơn xem giùm tình huống dưới đây
Mình có 1 file tên "TÌM"

Sheet 1 tên là Tim
Sheet 2 tên là DuLieu

Xin các bạn giúp cho khi điên yêu cầu Lot# vào C1, thì dò cột G của sheet DuLieu, sau đó thì
1. Tự động điền vào C3,C4,C5,C6
2. Tự động cho danh sách của SN C8 trở đì.

Thành thật cám ơn
Code cùi:
[GPECODE=vb]Sub Nhapdulieu()
Range([C8], [C65536].End(xlDown)).ClearContents
Sheets("DuLieu").Select
[G1].Select
[G1].AutoFilter Field:=7
Do While Not Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False) Is Nothing
Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False).Activate
If ActiveCell <> ActiveCell.Offset(-1, 0) And ActiveCell <> ActiveCell.Offset(1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
Else
If ActiveCell <> ActiveCell.Offset(-1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
Else
Sheets("Tim").[C7].End(xlDown).Offset(1, 0) = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
End If
End If
Loop
Sheets("Tim").Select
End Sub[/GPECODE]
 
Upvote 0
Thật tuyệt, cám ơn bạn nhiều
Tốt lắm, cám ơn bạn nhiều

Cả 2 bài chẳng biết Cảm ơn ai.
Muốn trả lời cho bài viết nào thì bạn bấm nút "Trả Lời Với Trích Dẫn" bên dưới để người khác biết bạn đang nói tới bài nào, của ai.
Còn có cái nút "Cảm ơn" dưới bài viết của người đó nữa kìa!
 
Lần chỉnh sửa cuối:
Upvote 0
Cám ơn Bác Ba Tê,
Bây giờ mình làm lại nhé
 
Upvote 0
Code cùi:
[GPECODE=vb]Sub Nhapdulieu()
Range([C8], [C65536].End(xlDown)).ClearContents
Sheets("DuLieu").Select
[G1].Select
[G1].AutoFilter Field:=7
Do While Not Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False) Is Nothing
Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False).Activate
If ActiveCell <> ActiveCell.Offset(-1, 0) And ActiveCell <> ActiveCell.Offset(1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
Else
If ActiveCell <> ActiveCell.Offset(-1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
Else
Sheets("Tim").[C7].End(xlDown).Offset(1, 0) = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
End If
End If
Loop
Sheets("Tim").Select
End Sub[/GPECODE]

Cám ơn bạn hung2412, nhưng mình chưa làm cho nó chạy !$@!!
 
Upvote 0
Đúng vậy, bạn có thể làm ơn thử lại giùm mình.
Dùng VLOOKUP được nhưng với dữ liệu nhiều, thì quá chậm.
Bạn Copy Code 1 sau vào Sheet Tim:
[GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C1]) Is Nothing Then
If WorksheetFunction.IsNumber([C1]) = True Then
Application.Run "Nhap_du_lieu.Nhapdulieu1"
End If
End If
End Sub[/GPECODE]
Sau đó bạn Copy Code 2 sau vào Module của File Up lên ở #1 => Bạn đổi tên Mudule đó thành tên là Nhap_du_lieu:
[GPECODE=vb]Sub Nhapdulieu1()
Range([C8], [C65536].End(xlDown)).ClearContents
Sheets("DuLieu").Select
[G1].Select
[G1].AutoFilter Field:=7
Do While Not Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False) Is Nothing
Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False).Activate
If ActiveCell <> ActiveCell.Offset(-1, 0) And ActiveCell <> ActiveCell.Offset(1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
Else
If ActiveCell <> ActiveCell.Offset(-1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
Else
Sheets("Tim").[C7].End(xlDown).Offset(1, 0) = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
End If
End If
Loop
Sheets("Tim").Select
End Sub[/GPECODE]

* Ghi chú:
Nếu bạn không làm được các bước trên thì Download File đính kèm ở dưới để xài.
Cách dùng: Bạn gõ số 1 hoặc 2 hoặc 3 hoặc 4 vào ô C1 ở Sheet Tim => Sau đó Enter => Ra kết quả như bạn mong muốn.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn Copy Code 1 sau vào Sheet Tim:
[GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C1]) Is Nothing Then
If WorksheetFunction.IsNumber([C1]) = True Then
Application.Run "Nhap_du_lieu.Nhapdulieu1"
End If
End If
End Sub[/GPECODE]
Sau đó bạn Copy Code 2 sau vào Module của File Up lên ở #1 => Bạn đổi tên Mudule đó thành tên là Nhap_du_lieu:
[GPECODE=vb]Sub Nhapdulieu1()
Range([C8], [C65536].End(xlDown)).ClearContents
Sheets("DuLieu").Select
[G1].Select
[G1].AutoFilter Field:=7
Do While Not Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False) Is Nothing
Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", , , , , , False, False).Activate
If ActiveCell <> ActiveCell.Offset(-1, 0) And ActiveCell <> ActiveCell.Offset(1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
Else
If ActiveCell <> ActiveCell.Offset(-1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
Else
Sheets("Tim").[C7].End(xlDown).Offset(1, 0) = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
End If
End If
Loop
Sheets("Tim").Select
End Sub[/GPECODE]

* Ghi chú:
Nếu bạn không làm được các bước trên thì Download File đính kèm ở dưới để xài.
Cách dùng: Bạn gõ số 1 hoặc 2 hoặc 3 hoặc 4 vào ô C1 ở Sheet Tim => Sau đó Enter => Ra kết quả như bạn mong muốn.

Cám ơn bạn hung2412, Tôi đã làm như bạn hướng dẫn.
Lúc đầu thấy tốt nhưng khi add thêm dữ liệu thì kết quả lại bị thiếu . Mong bạn xem lại giúp,

Thành thật cám ơn
 

File đính kèm

Upvote 0
Cám ơn bạn hung2412, Tôi đã làm như bạn hướng dẫn.
Lúc đầu thấy tốt nhưng khi add thêm dữ liệu thì kết quả lại bị thiếu . Mong bạn xem lại giúp,

Thành thật cám ơn
Code cùi 1:
[GPECODE=vb]Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$1" Then
Nhapdulieu1
End If
End Sub[/GPECODE]
Code cùi 2:
[GPECODE=vb]Sub Nhapdulieu1()
Sheets("Tim").Select
Range([C3], [C6]).ClearContents
Range([C8], [C65536].End(xlDown)).ClearContents
Sheets("DuLieu").Select
[G1].Select
[G1].AutoFilter Field:=7
Do While Not Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", LookAt:=xlWhole) Is Nothing
Range(ActiveCell, ActiveCell.End(xlDown)).Find("" & Sheets("Tim").[C1].Value & "", LookAt:=xlWhole).Activate
If ActiveCell <> ActiveCell.Offset(-1, 0) And ActiveCell <> ActiveCell.Offset(1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
ActiveCell.Offset(1, 0).Activate
Else
If ActiveCell <> ActiveCell.Offset(-1, 0) Then
Sheets("Tim").[C3] = ActiveCell.Offset(, -4)
Sheets("Tim").[C4] = ActiveCell.Offset(, -3)
Sheets("Tim").[C5] = ActiveCell.Offset(, -2)
Sheets("Tim").[C6] = ActiveCell.Offset(, -1)
Sheets("Tim").[C8] = ActiveCell.Offset(, 3)
Else
Sheets("Tim").[C7].End(xlDown).Offset(1, 0) = ActiveCell.Offset(, 3)
If ActiveCell <> ActiveCell.Offset(1, 0) Then
ActiveCell.Offset(1, 0).Activate
End If
End If
End If
Loop
Sheets("Tim").Select
End Sub[/GPECODE]
File đính kèm ở dưới.
 

File đính kèm

Upvote 0
Anh cho em hỏi với. Sao File của anh xài sự kiện mà mỗi khi gõ vào ô C1 rồi Enter mà không bị nháy bảng tính nhỉ? Còn File của em ở #18 bị nháy mỗi khi gõ vào ô C1 rồi Enter. Hay là do File của em xài Code nặng nên mới thế ạ?
 
Upvote 0
Cám ơn bạn hung2412.
Mình còn có thắc mắc nữa xin các bạn giúp code cho chuyển dữ liệu từ
sheet Nhaphang (nút nhập) to sheet Dulieu
Code cùi:
[GPECODE=vb]Sub Nhap_hang()
Dim WsDuLieu As String
Dim i As Long
Dim d As Long
WsDuLieu = Sheets("DuLieu").Name
d = Sheets(WsDuLieu).[J65536].End(xlUp).Offset(1, 0).Row
If WorksheetFunction.IsNumber(Cells(1, 3)) = True And Cells(8, 3) <> "" Then
For i = 8 To [C65536].End(xlUp).Row
If i = 8 Then
Sheets(WsDuLieu).Cells(d, 10).Value = Cells(8, 3).Value
Sheets(WsDuLieu).Cells(d, 7).Value = Cells(1, 3).Value
Sheets(WsDuLieu).Cells(d, 3).Value = Cells(3, 3).Value
Sheets(WsDuLieu).Cells(d, 4).Value = Cells(4, 3).Value
Sheets(WsDuLieu).Cells(d, 5).Value = Cells(5, 3).Value
Sheets(WsDuLieu).Cells(d, 6).Value = Cells(6, 3).Value
If d <> 2 Then
Sheets(WsDuLieu).Cells(d - 1, 8).Copy Sheets(WsDuLieu).Cells(d, 8)
Else
Sheets(WsDuLieu).Cells(d, 8) = "Nhap hang"
End If
Else
d = d + 1
Sheets(WsDuLieu).Cells(d, 10).Value = Cells(i, 3).Value
Sheets(WsDuLieu).Range(Sheets(WsDuLieu).Cells(d - 1, 3), Sheets(WsDuLieu).Cells(d - 1, 8)).Copy Sheets(WsDuLieu).Cells(d, 3)
End If
Next
End If
Range("C1,C3:C6,C8:C1000").ClearContents
End Sub[/GPECODE]
File đính kèm ở dưới.
 

File đính kèm

Upvote 0
Code cùi:
[GPECODE=vb]Sub Nhap_hang()
Dim WsDuLieu As String
Dim i As Long
Dim d As Long
WsDuLieu = Sheets("DuLieu").Name
d = Sheets(WsDuLieu).[J65536].End(xlUp).Offset(1, 0).Row
If WorksheetFunction.IsNumber(Cells(1, 3)) = True And Cells(8, 3) <> "" Then
For i = 8 To [C65536].End(xlUp).Row
If i = 8 Then
Sheets(WsDuLieu).Cells(d, 10).Value = Cells(8, 3).Value
Sheets(WsDuLieu).Cells(d, 7).Value = Cells(1, 3).Value
Sheets(WsDuLieu).Cells(d, 3).Value = Cells(3, 3).Value
Sheets(WsDuLieu).Cells(d, 4).Value = Cells(4, 3).Value
Sheets(WsDuLieu).Cells(d, 5).Value = Cells(5, 3).Value
Sheets(WsDuLieu).Cells(d, 6).Value = Cells(6, 3).Value
If d <> 2 Then
Sheets(WsDuLieu).Cells(d - 1, 8).Copy Sheets(WsDuLieu).Cells(d, 8)
Else
Sheets(WsDuLieu).Cells(d, 8) = "Nhap hang"
End If
Else
d = d + 1
Sheets(WsDuLieu).Cells(d, 10).Value = Cells(i, 3).Value
Sheets(WsDuLieu).Range(Sheets(WsDuLieu).Cells(d - 1, 3), Sheets(WsDuLieu).Cells(d - 1, 8)).Copy Sheets(WsDuLieu).Cells(d, 3)
End If
Next
End If
Range("C1,C3:C6,C8:C1000").ClearContents
End Sub[/GPECODE]
File đính kèm ở dưới.

Cám ơn bạn hung2412,

Mình thấy có vấn đề nhờ bạn xem lại giúp cho
1. Nhap_hang chạy tốt, nhưng khi Tim không thấy dữ liêu mới nhập (Nhapdulieu1 không chạy)
2. Nếu được nhờ bạn cho vô sheet NhapHang 3 dòng " Ngày -Tình Trạng" - Ghi Chú "
 

File đính kèm

Upvote 0
Cám ơn bạn hung2412,

Mình thấy có vấn đề nhờ bạn xem lại giúp cho
1. Nhap_hang chạy tốt, nhưng khi Tim không thấy dữ liêu mới nhập (Nhapdulieu1 không chạy)
2. Nếu được nhờ bạn cho vô sheet NhapHang 3 dòng " Ngày -Tình Trạng" - Ghi Chú "
Bạn thêm mấy dòng mới vào Sheet Nhap hang và Sheet Tim thì Code vẫn chạy nhưng chạy lung tung rồi.
 
Upvote 0
Cám ơn bạn hung2412,

Mình thấy có vấn đề nhờ bạn xem lại giúp cho
1. Nhap_hang chạy tốt, nhưng khi Tim không thấy dữ liêu mới nhập (Nhapdulieu1 không chạy)
2. Nếu được nhờ bạn cho vô sheet NhapHang 3 dòng " Ngày -Tình Trạng" - Ghi Chú "
Tôi chỉnh lại rồi nhé. File đính kèm ở dưới
File đã bao gồm:
- Tự động cập nhật ở Sheet DuLieu khi bấm vào nút Nhập hàng ở Sheet NhapHang
- Tự tra thông tin ở Sheet DuLieu khi gõ vào ô C1 Sheet Tim.
 

File đính kèm

Upvote 0
Tôi chỉnh lại rồi nhé. File đính kèm ở dưới
File đã bao gồm:
- Tự động cập nhật ở Sheet DuLieu khi bấm vào nút Nhập hàng ở Sheet NhapHang
- Tự tra thông tin ở Sheet DuLieu khi gõ vào ô C1 Sheet Tim.

Cám ơn bạn hung2412 rất nhiều.
Mình nhập dữ liệu vào ( 300 dữ liệu), Tại sheet Tìm khi gõ hía trị 1 vào ô C1, thì không ra hết thông tin, nhờ bạn xem lại giúp.

Một lần nữa - Cám ơn
 

File đính kèm

Upvote 0
Cám ơn bạn hung2412 rất nhiều.
Mình nhập dữ liệu vào ( 300 dữ liệu), Tại sheet Tìm khi gõ hía trị 1 vào ô C1, thì không ra hết thông tin, nhờ bạn xem lại giúp.

Một lần nữa - Cám ơn
Do cột Lot# ở Sheet DuLieu tôi tưởng là liên tục không gián đoạn nên mới bị vậy. Tôi chỉnh lại rồi nhé.
File đã bao gồm:
- Tự động cập nhật ở Sheet DuLieu khi bấm vào nút Nhập hàng ở Sheet NhapHang
- Tự tra thông tin ở Sheet DuLieu khi gõ vào ô C1 Sheet Tim.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Do cột Lot# ở Sheet DuLieu tôi tưởng là liên tục không gián đoạn nên mới bị vậy. Tôi chỉnh lại rồi nhé.
File đã bao gồm:
- Tự động cập nhật ở Sheet DuLieu khi bấm vào nút Nhập hàng ở Sheet NhapHang
- Tự tra thông tin ở Sheet DuLieu khi gõ vào ô C1 Sheet Tim.

Thật là may mắn cho tôi khi đã được sự giúp đỡ rất nhiệt tình, Xin thành thật cám ơn bạn.
Câu hỏi nữa mong bạn giúp :
Làm sao để khóa các Sheet lại, chỉ không khóa C1 của "Tim" , C:C của "NhapHang"
 
Upvote 0
Thật là may mắn cho tôi khi đã được sự giúp đỡ rất nhiệt tình, Xin thành thật cám ơn bạn.
Câu hỏi nữa mong bạn giúp :
Làm sao để khóa các Sheet lại, chỉ không khóa C1 của "Tim" , C:C của "NhapHang"
Tôi đã bổ sung thêm khóa như bạn mong muốn rồi nhé.
 

File đính kèm

Upvote 0

Bài viết mới nhất

Back
Top Bottom