Tạo Form tìm kiếm và nhập liệu (1 người xem)

Liên hệ QC

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

momo101194

Thành viên mới
Tham gia
1/6/20
Bài viết
38
Được thích
5
em muốn tạo chức năng tiềm kiếm và sau khi nhấn chuột vào nút này thì một màng hình tiềm kiếm sẽ xuất hiện và có thể gõ nội dung tiềm kiếm vào đó có ai có ý tưởng gì hay cách làm như thế nào không ah?
Mong thầy và mọi người giúp đỡ ah!
 
em muốn tạo chức năng tiềm kiếm và sau khi nhấn chuột vào nút này thì một màng hình tiềm kiếm sẽ xuất hiện và có thể gõ nội dung tiềm kiếm vào đó có ai có ý tưởng gì hay cách làm như thế nào không ah?
Mong thầy và mọi người giúp đỡ ah!
Có sẵn công cụ tìm kiếm (không phải tiềm) bằng cách ấn 2 phím Ctrl và F.
 
Có sẵn công cụ tìm kiếm (không phải tiềm) bằng cách ấn 2 phím Ctrl và F.
bạn hiểu sai ý mình rồi ý mình là hiện tại mình đang làm môt cái phần mền oder từ khách hàng nên trong thanh menu mình muốn tạo một bottun tiềm kiếm và sau khi nhấn vào nút tiềm kiếm này thì sẽ hiện ra màn hình để mình có thể nhập nội dung tiềm kiếm vào
 
. . . . ý mình là hiện tại mình đang làm môt cái phần mền oder từ khách hàng nên trong thanh menu mình muốn tạo một bottun tiềm kiếm và sau khi nhấn vào nút tiềm kiếm này thì sẽ hiện ra màn hình để mình có thể nhập nội dung tiềm kiếm vào
1./ Vậy bạn có danh mục khách hàng chưa? (gồm [Ma4KH], [Họ & Tên], [Nga2ySinh], [SĐT], [Nơi cư trú],. . . .
2./ Tạo Form tìm kiếm để tìm [Mã KH] nha, dễ mà. Tuy nhiên mã KH cần có độ tương tác cao như
PHP:
 Mã KH   Họ & Tên
NVH00  Ngô Thị Việt Hòa
NVH01  Nguyễn Viết Hà
NFC00  Ngô Đăng Cống
DFD00  Dương Đức Dũng
FJP00  Đồng Phương
'. . . . . '
. . . . Rất vui nếu được tiếp tục thảo luận cùng bạn trong công cuộc 'Tìm Kiếm' KH của bạn được mĩ mãn.
 
thì phải hỏi đúng chức năng không, rồi cần tìm kiếm theo mục gì, tên, tuổi, giới tính, mã số.. thì mới giúp được chứ bạn :X
Tôi xem video giới thiệu của bạn, thấy hữu ích, muốn học hỏi, bạn có thể chia sẽ không?
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn chủ bài đăng tham khảo file; Nếu ưng ta tiếp tục
 

File đính kèm

Xin lỗi bạn file Excel mình là bảo mật công ty nên không chia sẻ được.
Nếu bạn có khả năng thì hãy giúp cho chủ Topic, chứ đừng có giới thiệu lên xong rồi lại nêu là File bảo mật.
Nhìn sơ qua thì trên diễn đàn này có rất nhiều thành viên làm được cái File đó, cơ bản là họ có thời gian rảnh để giúp từ A >> Z hay không khi chủ Topic không đính kèm File.
Cụ thể là bác SA_DQ nhiệt tình giúp nhưng chưa biết đúng ý chủ Toic hay không?
 
Mình ghét nhất là hỏi trỏng , không có file hay gì dđính kèm để người muốn giúp có cơ sở mà làm!
Mình nghĩ Mod (các thầy như @ndu96081631 ...) phải thêm vào nội qui trên diễn đàn phần này mới dc!
Tất cả không đúng cho vào sọt rác ngay và liền! Chứ cứ để người muốn giúp đi hỏi file hoài thì khổ cho người ta!!!
Thân.
 
Nếu bạn có khả năng thì hãy giúp cho chủ Topic, chứ đừng có giới thiệu lên xong rồi lại nêu là File bảo mật.
Nhìn sơ qua thì trên diễn đàn này có rất nhiều thành viên làm được cái File đó, cơ bản là họ có thời gian rảnh để giúp từ A >> Z hay không khi chủ Topic không đính kèm File.
Cụ thể là bác SA_DQ nhiệt tình giúp nhưng chưa biết đúng ý chủ Toic hay không?
mình không giới thiệu nha bạn, mình đang hỏi xem đúng yêu cầu không để còn giúp, mình có nói là không giúp đâu? Câu hỏi của chủ Topic không có nội dung cụ thể thì mình giúp kiểu gì. còn chủ thớt mà tự viết code được thì đây. mình đưa link hướng dẫn tạo bộ lọc. chủ thớt tự sửa code..Ok
https://www.giaiphapexcel.com/diendan/threads/code-lọc-dữ-liệu-trong-listbox.123547/
 
Mình ghét nhất là hỏi trỏng , không có file hay gì dđính kèm để người muốn giúp có cơ sở mà làm!
Mình nghĩ Mod (các thầy như @ndu96081631 ...) phải thêm vào nội qui trên diễn đàn phần này mới dc!
Tất cả không đúng cho vào sọt rác ngay và liền! Chứ cứ để người muốn giúp đi hỏi file hoài thì khổ cho người ta!!!
Thân.
Căng thẳng quá bạn? Có khi nào là do avatar không?
Hi... Hi... đùa thôi
 
1./ Vậy bạn có danh mục khách hàng chưa? (gồm [Ma4KH], [Họ & Tên], [Nga2ySinh], [SĐT], [Nơi cư trú],. . . .
2./ Tạo Form tìm kiếm để tìm [Mã KH] nha, dễ mà. Tuy nhiên mã KH cần có độ tương tác cao như
PHP:
 Mã KH   Họ & Tên
NVH00  Ngô Thị Việt Hòa
NVH01  Nguyễn Viết Hà
NFC00  Ngô Đăng Cống
DFD00  Dương Đức Dũng
FJP00  Đồng Phương
'. . . . . '
. . . . Rất vui nếu được tiếp tục thảo luận cùng bạn trong công cuộc 'Tìm Kiếm' KH của bạn được mĩ mãn.
đây là bài làm của mình nội dung bêntrong không phải tiếng việt nên hơi khó hiểu,nếu khong hiểu có thể hỏi mình
mình đang bị vướng ở chỗ userform2 mình có áp dụng code của một bạn khác nhưng lại không ra kết quả
 

File đính kèm

đây là bài làm của mình nội dung bêntrong không phải tiếng việt nên hơi khó hiểu,nếu khong hiểu có thể hỏi mình
mình đang bị vướng ở chỗ userform2 mình có áp dụng code của một bạn khác nhưng lại không ra kết quả
File của bạn toàn tiếng Tàu; Không biết bàn phím tiếng Tàu có khác gì bình thường không; Mình tưởng tượng Font tiếng Việt cũng phải phù hợp mới tìm kiếm được; Nên chưa rõ tiếng Tàu sẽ ra sao(?)
 
chào chủ thớt chào các bác các thầy trong diễn đàn,em cũng đang muốn mần form tìm kiếm như chủ thớt,và em muốn vô đây xem học hỏi kinh nghiệm,và nếu có câu hỏi thắc mắc thì có được bình luận không ạ?tất nhiên là e chủ xem và không làm ảnh hưởng đến bài của chủ thớt,chỉ là có thắc mắc thì e hỏi chứ sẽ ko đưa thẳng bài của mình lên topic của chủ thớt ạ
 
Thấy phù hợp với chủ đề thì hỏi tiếp; Nếu xa thì tạo bài đăng mới mà thảo luận thôi.

Chúc vui!
 
Thấy phù hợp với chủ đề thì hỏi tiếp; Nếu xa thì tạo bài đăng mới mà thảo luận thôi.

Chúc vui!
vâng à,cùng chủ đề với chủ thớt nhưng để không ảnh hưởng tới bài của chủ thớt thì e chỉ dám hỏi những cái liên quan tới bài của chủ thớt thôi ah, e muốn hỏi là nếu như danh sách tìm kiếm là nhiều điều kiện thì có khả thi không ạ?dựa vào ngày tháng,sau đó mới tìm tới tên khách hàng rồi mới lấy kết quả,thì có được không ạ?ở đây vì file mỗi ngày có tầm 3 4 nghìn dòng nên việc làm list theo hàng thì sẽ rất dài nên e chia ra các cột như thế này ạ
1591195140827.png
 
Mình xin phát thảo chi tiết chu trình của bạn xem nha, theo cách mình hiểu:
B1: Tìm trên toàn bộ các ô trong dòng tiêu đề chứa Ngày-tháng-năm; Xác định được cột chứa ngày cụ thể nào đó
B2: Tìm trong cột vừa tìm thấy tên người cần tìm
B3: Tìm sản lương của người vừa được tìm thấy (ở ô bên phải cùng dòng)

Với B1 ta có thể thực hiện bỡi:
a./ Phương thức Find()
b./ Cho tất cả dòng dữ liệu chứa tiêu đề ngày đó vô mảng (Array) & duyết từ đầu chí cuối để tìm ra cột chứa ngày cần tìm
(Ngoài 2 cách này có thể còn có cách khác, nhưng mình không quan tâm đến nữa)

Với B2 Nếu là mình thì thay vì nhập họ tên người mình sẽ nhập là mã (KH hay NV) trong 1 danh mục gồm tối thiểu 2 cột: [Mã . . . ] & [Họ & Tên]
Điều này tránh được lỗi chính tả ngớ ngẩn khi nhập liệu & cũng góp phần tăng tốc chút nào đó trong công cuộc tìm kiếm ở B2 này.

Cách thứ 2: (Với điều kiện thay vì nhập [Họ & Tên], ta xài [Mã. .]) là tìm [Mã ..] này trên toàn bộ vùng dữ liệu
Trong quá trình tìm kiếm này, ta đối chiếu cho từng kết quả tìm thấy để xác định ra ngày trùng với ngày cần tìm
(#4 có nêu cách mà mình tạo bộ mã cho 1 danh sách & đã được ứng dụng cho 1 danh sách hơn 5.000 HS; bạn có thể lưu ý tham khảo)

Tùy thuộc vào dữ liệu mà bạn xài con dao nào thích hợp để mổ xẻ vấn đề cho tối ưu
& chúc bạn thành công!
 
Mình xin phát thảo chi tiết chu trình của bạn xem nha, theo cách mình hiểu:
B1: Tìm trên toàn bộ các ô trong dòng tiêu đề chứa Ngày-tháng-năm; Xác định được cột chứa ngày cụ thể nào đó
B2: Tìm trong cột vừa tìm thấy tên người cần tìm
B3: Tìm sản lương của người vừa được tìm thấy (ở ô bên phải cùng dòng)

Với B1 ta có thể thực hiện bỡi:
a./ Phương thức Find()
b./ Cho tất cả dòng dữ liệu chứa tiêu đề ngày đó vô mảng (Array) & duyết từ đầu chí cuối để tìm ra cột chứa ngày cần tìm
(Ngoài 2 cách này có thể còn có cách khác, nhưng mình không quan tâm đến nữa)

Với B2 Nếu là mình thì thay vì nhập họ tên người mình sẽ nhập là mã (KH hay NV) trong 1 danh mục gồm tối thiểu 2 cột: [Mã . . . ] & [Họ & Tên]
Điều này tránh được lỗi chính tả ngớ ngẩn khi nhập liệu & cũng góp phần tăng tốc chút nào đó trong công cuộc tìm kiếm ở B2 này.

Cách thứ 2: (Với điều kiện thay vì nhập [Họ & Tên], ta xài [Mã. .]) là tìm [Mã ..] này trên toàn bộ vùng dữ liệu
Trong quá trình tìm kiếm này, ta đối chiếu cho từng kết quả tìm thấy để xác định ra ngày trùng với ngày cần tìm

Tùy thuộc vào dữ liệu mà bạn xài con dao nào thích hợp để mổ xẻ vấn đề cho thích hợp
& chúc bạn thành công!
bác dậy sớm quá,chúc bác ngày mới tốt lành!
1.qua tứ vấn của bác thì e đã quyết định ở hàng tiếu để ngày tháng năm thì em sẽ rút gọn lại bằng các mã ví dụ như Họ tên (1) 【ở đây 1 là chỉ ngày đầu tiên trong tháng,các số sẽ tăng dần cho đến ngày 31, em đổi vì đỡ phải dính vào dữ liệu ngày phức tạp em mò không ra】·
2.phần thứ 2 thì bác có gợi ý là dùng mã,cái này đúng là có mã bác,dạn ký tự la tinh và không dấu.thường em chỉ quan tâm tới mã đó và số lượng,còn tên khách hàng kia là em lấy ví dụ từ ví dụ của bác nữa,
chân thành cảm ơn bác đã góp ý! để e lên mạng mò ít kiếm thức về find.e mới bắt đầu học nên kiến thức còn kém quá
 
Với số liệu ghi lại Ngày-tháng-năm nhiều người trên diễn đàn này khuyên chúng ta nên nhập theo kiểu yyyy/mm/dd
(Nhưng với phương thức FIND() thì nó lại (chỉ) chịu dạng MM/DD/yyyy mà thôi; Tất nhiên trước khi tìm bỡi FIND() ta có thể đổi toàn bộ vùng số liệu kiểu ngày nào đó bất kỳ vê dạng MM/DD/yyyy. & sau công cuộc tìm kiếm ta có thể trả kiểu dữ liệu ngày-tháng-năm về dạng ban đầu (dạng mà người nhập liệu đang dùng))
Thân!
 
Với số liệu ghi lại Ngày-tháng-năm nhiều người trên diễn đàn này khuyên chúng ta nên nhập theo kiểu yyyy/mm/dd
(Nhưng với phương thức FIND() thì nó lại (chỉ) chịu dạng MM/DD/yyyy mà thôi; Tất nhiên trước khi tìm bỡi FIND() ta có thể đổi toàn bộ vùng số liệu kiểu ngày nào đó bất kỳ vê dạng MM/DD/yyyy. & sau công cuộc tìm kiếm ta có thể trả kiểu dữ liệu ngày-tháng-năm về dạng ban đầu (dạng mà người nhập liệu đang dùng))
Thân!
ở hàng tiêu đề dùng ngày tháng đấy e đã đổi thành ma (1).... để dễ dàng hơn trong tìm kiếm rồi ạ.em còn phải học hỏi nhiều ạ
 
Khoe với bạn là mình có viết 1 hàm thuận nghịch để đổi dữ liệu kiểu ngày-tháng-năm về dang YMD, ví dụ như sau:
J9A là mã của năm 2020, tháng 9 & ngày 10
KAB sẽ biểu thị ngày 11 tháng 10 năm tới
. . . .
& tất nhiên có hàm qui đổi ngược lại, khi cần biểu thị kiểu mm/dd/yyyy hay cách nào khác như dd/mm/yy,. . . .

Như vậy với CSDL như bạn thì dưới dòng ghi ngày, ta thêm 1 dòng để ghi chuỗi mã hòa ngày-tháng-năm ngay bên dòng trên.
 
vâng à,cùng chủ đề với chủ thớt nhưng để không ảnh hưởng tới bài của chủ thớt thì e chỉ dám hỏi những cái liên quan tới bài của chủ thớt thôi ah, e muốn hỏi là nếu như danh sách tìm kiếm là nhiều điều kiện thì có khả thi không ạ?dựa vào ngày tháng,sau đó mới tìm tới tên khách hàng rồi mới lấy kết quả,thì có được không ạ?ở đây vì file mỗi ngày có tầm 3 4 nghìn dòng nên việc làm list theo hàng thì sẽ rất dài nên e chia ra các cột như thế này ạ
Góp ý cho bạn:
1/ Cách theo dõi của bạn với ngày theo chiều ngang là không hợp lý. Không lẽ 1 năm có 365 ngày bạn theo dõi đến 730 cột.
2/ Nên có 1 danh mục khách hàng để lấy nó nhập liệu cho đồng nhất.
3/ Nên nhập liệu ngày và số lượng theo chiều dọc sẽ thuận tiện hơn, muốn tổng hợp như hình trên thì sử dụng PivotTable.
 
Góp ý cho bạn:
1/ Cách theo dõi của bạn với ngày theo chiều ngang là không hợp lý. Không lẽ 1 năm có 365 ngày bạn theo dõi đến 730 cột.
2/ . . .
3/ . . . . .
Nếu mỗi ngày bạn í có hơn 7OO khách hàng thì kiểu quản lý của bạn ý vẫn phù hợp ở khía cạnh nào đó; như chỉ quản trong 1 năm; Năm sau lập trang khác.
(. . . . ?)

Tác giả bài đăng chú ý là với 1 trang tính bao giờ số dòng người ta cũng thiết kế nhiều hơn số cột đó bạn, từ ngàn năm nay!

$$$$@
 
Góp ý cho bạn:
1/ Cách theo dõi của bạn với ngày theo chiều ngang là không hợp lý. Không lẽ 1 năm có 365 ngày bạn theo dõi đến 730 cột.
2/ Nên có 1 danh mục khách hàng để lấy nó nhập liệu cho đồng nhất.
3/ Nên nhập liệu ngày và số lượng theo chiều dọc sẽ thuận tiện hơn, muốn tổng hợp như hình trên thì sử dụng PivotTable.
cảm ơn bác góp ý,dữ liệu của bảng tính chỉ lưu giữ trong một tháng thôi ạ.là sẽ có hơn 30 cột,và một ngày như thế dữ liệu của mỗi cột là tầm 2 đến 3 nghìn dòng nên làm theo hàng thì sẽ rất là nhiều bác ạ
Bài đã được tự động gộp:

Nếu mỗi ngày bạn í có hơn 7OO khách hàng thì kiểu quản lý của bạn ý vẫn phù hợp ở khía cạnh nào đó; như chỉ quản trong 1 năm; Năm sau lập trang khác.
(. . . . ?)

Tác giả bài đăng chú ý là với 1 trang tính bao giờ số dòng người ta cũng thiết kế nhiều hơn số cột đó bạn, từ ngàn năm nay!

$$$$@
vâng,vì số lượng dòng ở mỗi ngày là nhiều nên em không muốn lập theo hàng,vì tới hết một tuần đã có gần mấy chục nghìn dòng rồi ạ
Bài đã được tự động gộp:

Khoe với bạn là mình có viết 1 hàm thuận nghịch để đổi dữ liệu kiểu ngày-tháng-năm về dang YMD, ví dụ như sau:
J9A là mã của năm 2020, tháng 9 & ngày 10
KAB sẽ biểu thị ngày 11 tháng 10 năm tới
. . . .
& tất nhiên có hàm qui đổi ngược lại, khi cần biểu thị kiểu mm/dd/yyyy hay cách nào khác như dd/mm/yy,. . . .

Như vậy với CSDL như bạn thì dưới dòng ghi ngày, ta thêm 1 dòng để ghi chuỗi mã hòa ngày-tháng-năm ngay bên dòng trên.
cách này có quá phức tạp không bác?vì trình độ em hơi yếu ạ
 
ở đây vì file mỗi ngày có tầm 3 4 nghìn dòng nên việc làm list theo hàng thì sẽ rất dài nên e chia ra các cột như thế này ạ

Bạn tự nghĩ cách thiết kế CSDL chưa chắc đúng.
1 ngày 5.000 dòng x 30 ngày = 150.000 dòng thì ăn thua gì với 1 sheet Excel.
Số cột nhiều mệt và còn làm "phức tạp" thêm các thao tác truy vấn dữ liệu "đơn giản" như Sort, Filter...
Hơn nữa cách thiết kế này còn làm phát sinh thêm nhiều dòng code không đáng có.
 
cảm ơn bác góp ý,dữ liệu của bảng tính chỉ lưu giữ trong một tháng thôi ạ.là sẽ có hơn 30 cột,và một ngày như thế dữ liệu của mỗi cột là tầm 2 đến 3 nghìn dòng nên làm theo hàng thì sẽ rất là nhiều bác ạ
vâng,vì số lượng dòng ở mỗi ngày là nhiều nên em không muốn lập theo hàng,vì tới hết một tuần đã có gần mấy chục nghìn dòng rồi ạ
cách này có quá phức tạp không bác?vì trình độ em hơi yếu ạ
1:= Trong 1 ngày dữ liệu có lặp lại cho 1 người hay không?
2:= Mình sẽ giả lập cho bạn 1 file làm trong 1 quí luôn, hứa trong tuần này xong để bạn trãi nghiệm
(*) Bạn cho biết CQ bạn có bao nhiêu người, để còn giả lập cho sát với thực tế bao nhiêu, tốt bấy nhiêu
 
1:= Trong 1 ngày dữ liệu có lặp lại cho 1 người hay không?
2:= Mình sẽ giả lập cho bạn 1 file làm trong 1 quí luôn, hứa trong tuần này xong để bạn trãi nghiệm
(*) Bạn cho biết CQ bạn có bao nhiêu người, để còn giả lập cho sát với thực tế bao nhiêu, tốt bấy nhiêu
Vâng ạ. Trong một ngày thì không có sự trùng lặp. Thường thì số liệu thống kê theo ngày. Mỗi ngày sẽ có tầm 3 nghìn dòng. Tức là gần 3 nghìn người. Giữa các ngày có sự trùng lặp nhưng trong một ngày thì không có sự trùng lặp
Bài đã được tự động gộp:

Va
Bạn tự nghĩ cách thiết kế CSDL chưa chắc đúng.
1 ngày 5.000 dòng x 30 ngày = 150.000 dòng thì ăn thua gì với 1 sheet Excel.
Số cột nhiều mệt và còn làm "phức tạp" thêm các thao tác truy vấn dữ liệu "đơn giản" như Sort, Filter...
Hơn nữa cách thiết kế này còn làm phát sinh thêm nhiều dòng code không đáng có.
thực ra là còn nhiều bất cập đấy ạ. Vù thế nên em lên diễn đàn mong mọi người góp ý
Bài đã được tự động gộp:

Nh
1:= Trong 1 ngày dữ liệu có lặp lại cho 1 người hay không?
2:= Mình sẽ giả lập cho bạn 1 file làm trong 1 quí luôn, hứa trong tuần này xong để bạn trãi nghiệm
(*) Bạn cho biết CQ bạn có bao nhiêu người, để còn giả lập cho sát với thực tế bao nhiêu, tốt bấy nhiêu
ở cột số lượng thì khá quan trọng bác ạ. Ví dụ ở ngày mồng 1 ông A có số lượng là 56 ngày. mồng 2 lại có ông A nhưng số lượng là 78. Vì số lượng khá là quan trọng nên lúc đầu e nghĩ truy vấn tìm ngày trước sau đó mới dò tới mã hoặc tên vì sợ dò ra kết quả sai ạ
 
Lần chỉnh sửa cuối:
File của bạn toàn tiếng Tàu; Không biết bàn phím tiếng Tàu có khác gì bình thường không; Mình tưởng tượng Font tiếng Việt cũng phải phù hợp mới tìm kiếm được; Nên chưa rõ tiếng Tàu sẽ ra sao(?)
font của minh viết bang tieng nhật nhưng mình nghĩ chắc font chữ ko ảnh hưởng gì đâu ah
 
. . . Trong một ngày thì không có sự trùng lặp. Thường thì số liệu thống kê theo ngày. Mỗi ngày sẽ có tầm 3 nghìn dòng. Tức là gần 3 nghìn người.
ở cột số lượng thì khá quan trọng bác ạ. Ví dụ ở ngày mồng 1 ông A có số lượng là 56 ngày. mồng 2 lại có ông A nhưng số lượng là 78. Vì số lượng
Bạn thử thao tác & kiểm theo Form kết quả:
 

File đính kèm

Bạn tự nghĩ cách thiết kế CSDL chưa chắc đúng.
1 ngày 5.000 dòng x 30 ngày = 150.000 dòng thì ăn thua gì với 1 sheet Excel.
Số cột nhiều mệt và còn làm "phức tạp" thêm các thao tác truy vấn dữ liệu "đơn giản" như Sort, Filter...
Hơn nữa cách thiết kế này còn làm phát sinh thêm nhiều dòng code không đáng có.
Bao giờ bạn tìm được một người chịu nghe theo cách thiết kế CSDL chuẩn thì báo cho tôi biết. Tôi thết bạn một chầu phở.
Nếu không có câu "nhưng mà trường hợp của em đặc biệt..." thì không phải GPE. :p
 
Bạn thử thao tác & kiểm theo Form kết quả:
em đã xem file rồi bác,ở trong file,em muốn hỏi bác là nếu như chỉ dùng mã thôi không gán tên khách hàng nữa,bỏ luôn sheet DSKH được không ạ?và mỗi cập nhật thêm một ngày thì chỉ việc copy mã khách hàng và số lượng ở sheet dữ liệu,việc tìm kiếm số lượng sẽ dựa theo mã ở sheet dữ liệu luôn chứ không phải thêm ở bảng DSKH nữa..vì thường e tải số liệu xuống thì sẽ có mã và số lượng luôn nên dùng thế cho tiện bác
 
Lần chỉnh sửa cuối:
và trong code bác có dùng hàm quy đổi ngày ấy ạ,hàm này e thấy nó hơi cao siêu với trình độ hiện tại của em,nếu như thực sự để thêm mới một ngày hoặc là dùng cho tháng sau thì phải sửa mà e thì không biết mã ngày đó,nếu như dùng "ngay1,ngay2,ngay3...." để làm điều kiện tìm kiếm ở sheet dữ liệu được không vì như thế nó sẽ đơn giản hơn với em. trên đây là là mong muốn của e thôi còn bác giúp em được đến đây là quá nhiệt tình rồi ạ?lần nữa cảm ơn bác rất nhiều
 
Lần chỉnh sửa cuối:
em đã xem file rồi bác,ở trong file,em muốn hỏi bác là nếu như chỉ dùng mã thôi không gán tên khách hàng nữa,bỏ luôn sheet DSKH được không ạ?
Tất nhiên là được!
và trong code bác có dùng hàm quy đổi ngày ấy ạ,hàm này e thấy nó hơi cao siêu với trình độ hiện tại của em,nếu như thực sự để thêm mới một ngày hoặc là dùng cho tháng sau thì phải sửa mà e thì không biết mã ngày đó,
Nếu như dùng "ngay1,ngay2,ngay3...." để làm điều kiện tìm kiếm ở sheet dữ liệu được không vì như thế nó sẽ đơn giản hơn với em. trên đây là là mong muốn của e thôi còn bác giúp em được đến đây là quá nhiệt tình rồi ạ?lần nữa cảm ơn bác rất nhiều
Thực tế trong file là qui đổi từ ngày ra cột, theo kiểu ngày 1 là cột 2; Ngày 2 là cột 4
Chứ chưa áp dụng phương thức tìm ngày, cũng như chưa tìm theo chuỗi mã ngày
Bỡi 1 lẽ đơn giản là bạn chỉ có 62+1 cột thôi
Cái chuỗi mã ngày của mình, hay áp dụng phương thức tìm kiếm (FIND()) khi trong hàng tiêu đề có nhiêu ô cột chứa dữ liệu ngày (Ví dụ xài cho cả quí hay cả năm luôn.)

Nói thêm: Khi áp dụng phương thức FIND() thì vùng (để) tìm cần định lại dạng "MM/DD/yyyy" mới tìm được. Tất nhiên sau khi tìm được hay không được đều phải trả dạng ngày-tháng-năm về định dạng ban đầu mà bạn đã ấn định.
 
Lần chỉnh sửa cuối:
Tất nhiên là được!

Thực tế trong file là qui đổi từ ngày ra cột, theo kiểu ngày 1 là cột 2; Ngày 2 là cột 4
Chứ chưa áp dụng phương thức tìm ngày, cũng như chưa tìm theo chuỗi mã ngày
Bỡi 1 lẽ đơn giản là bạn chỉ có 62+1 cột thôi
Cái chuỗi mã ngày của mình, hay áp dụng phương thức tìm kiếm (FIND()) khi trong hàng tiêu đề có nhiêu ô cột chứa dữ liệu ngày (Ví dụ xài cho cả quí hay cả năm luôn.)

Nói thêm: Khi áp dụng phương thức FIND() thì vùng (để) tìm cần định lại dạng "MM/DD/yyyy" mới tìm được. Tất nhiên sau khi tìm được hay không được đều phải trả dạng ngày-tháng-năm về định dạng ban đầu mà bạn đã ấn định.
1.bác cho em hỏi thêm là trong code bác viết giúp em,có danh sách 【ngày và mã】 trỏ xuống ở form tìm kiếm lấy dữ liệu ở sheet DSKH ngày ở cột A và mã ở cột H .lúc e muốn đổi vị trí của hai cột đó thành vị trí khác e tìm trong code không biết sửa chỗ nào mong bác chỉ giúp.
2.form hiện tại là tìm kiếm ở sheetactive vậy nếu e muốn thêm một nút nhấn ở sheet khác khi nhấn vào thì hiện lên bảng tìm kiếm dữ liệu ở sheets dữ liệu thì code sửa như thế nào để đường dẫn tìm kiếm lấy kết quả ở sheets chứ dữ liệu ạ?
 
Lần chỉnh sửa cuối:
1.bác cho em hỏi thêm là trong code bác viết giúp em,có danh sách 【(a) ngày và (b) mã】 trỏ xuống ở form tìm kiếm lấy dữ liệu ở sheet DSKH ngày ở cột A và mã ở cột H .lúc e muốn đổi vị trí của hai cột đó thành vị trí khác e tìm trong code không biết sửa chỗ nào mong bác chỉ giúp.

2.form hiện tại là tìm kiếm ở sheetactive vậy nếu e muốn thêm một nút nhấn ở sheet khác khi nhấn vào thì hiện lên bảng tìm kiếm dữ liệu ở sheets dữ liệu thì code sửa như thế nào để đường dẫn tìm kiếm lấy kết quả ở sheets chứ dữ liệu ạ?
1. 'Ngay' & 'MaKH' như bạn thấy tương ứng ở cột 'A' & cột 'H' (trang 'DSKH') là 2 cái tên (Name) & 2 cái Name này làm nguồn (dữ liệu) cho 2 ComboBox tương ứng (trên Form)
1 khi đã gán tên thì bạn muốn đem nó đi đâu cũng mặc, thử xem
1.a (Không có gì nhiều để nói vì nó là danh sách tối đa các ngày trong 1 tháng để ta chọn 1 ngày cụ thể
1.b Với hơn 3 ngàn mã (NV) thì nếu không có bộ mã có tính tương tác cao thì bạn không thể nhớ hết ai có mã nào,phải không?
Trong trường hợp đó thì ComboBox này trong thực tế của bạn, ta nên biến thành TextBox hay không? Mình nói vậy để bạn lưu tâm chọn 1 trong 2 để tiện trong quá trình tìm kiếm của bạn mà thôi.
(Còn bạn muốn có cả 2 thì mình sẽ ngâm cứu tiếp cho bạn)

2. Hiện tại, khi kích hoạt trang tính 'DuLieu' sẽ hiện Form do macro sự kiện có câu lệnh mở Form
Giờ muốn ở trang nào đó cũng mở Form được thì tạo 1 macro mở Form tại module1
Macro này chứa câu lệnh mở Form (Như dòng lệnh nêu trên)
& gán cho macro này tổ hợp phím (như {CTR}+{SHIF}+O ) để mở nó

Lúc đó câu lệnh đang gắn với ComboBox 'Ma KH' sẽ phải thêm câu lệnh xác định trang tính 'DuLieu' là trang tính 'để vận hành'

Bạn thử đi nha!
 
1. 'Ngay' & 'MaKH' như bạn thấy tương ứng ở cột 'A' & cột 'H' (trang 'DSKH') là 2 cái tên (Name) & 2 cái Name này làm nguồn (dữ liệu) cho 2 ComboBox tương ứng (trên Form)
1 khi đã gán tên thì bạn muốn đem nó đi đâu cũng mặc, thử xem
1.a (Không có gì nhiều để nói vì nó là danh sách tối đa các ngày trong 1 tháng để ta chọn 1 ngày cụ thể
1.b Với hơn 3 ngàn mã (NV) thì nếu không có bộ mã có tính tương tác cao thì bạn không thể nhớ hết ai có mã nào,phải không?
Trong trường hợp đó thì ComboBox này trong thực tế của bạn, ta nên biến thành TextBox hay không? Mình nói vậy để bạn lưu tâm chọn 1 trong 2 để tiện trong quá trình tìm kiếm của bạn mà thôi.
(Còn bạn muốn có cả 2 thì mình sẽ ngâm cứu tiếp cho bạn)

2. Hiện tại, khi kích hoạt trang tính 'DuLieu' sẽ hiện Form do macro sự kiện có câu lệnh mở Form
Giờ muốn ở trang nào đó cũng mở Form được thì tạo 1 macro mở Form tại module1
Macro này chứa câu lệnh mở Form (Như dòng lệnh nêu trên)
& gán cho macro này tổ hợp phím (như {CTR}+{SHIF}+O ) để mở nó

Lúc đó câu lệnh đang gắn với ComboBox 'Ma KH' sẽ phải thêm câu lệnh xác định trang tính 'DuLieu' là trang tính 'để vận hành'

Bạn thử đi nha!
1,khi em mang code qua bảng tính khác hoặc muốn lấy nguồn dữ liệu của 2 name "ngay" & “MaKH·” thì em không biết nên thay đổi chỗ nào trong code,vì em đã thủ đưa qua sheet khác và trang tính khác thì list name trên ComboBox không còn nữa,ý e là muốn thay đổi cột A và cột H thành cột khách hoặc một cột nào đó trong sheet khác,nhưng e loay hoay cả tối không biết cách đổi
2,【Lúc đó câu lệnh đang gắn với ComboBox 'Ma KH' sẽ phải thêm câu lệnh xác định trang tính 'DuLieu' là trang tính 'để vận hành'】 。bác có thể dạy e sửa code phần này được không ạ?
3,bác gợi ý phần là nên làm ComboBox hay textbox thì e thấy điều được ạ,quan trọng là thuận tiện và đơn giản vì trình độ e còn kém đang trong quá trình học hỏi,hiện tại thì lúc e muốn tìm kiếm thì đã có mã sẵn rồi chỉ việc tìm kiếm chứ không cần phải nhớ hết mã bác đâu bác,nhưng nếu để có một bộ mã tương thích như bác nói thì có thế lấy trực tiếp ngay trên sheet chứa dữ liệu hay không?và nếu như lấy trên sheet dữ liệu có nhiều bất cấp thì e thấy làm như cách của bác là hợp lý ạ,nhưng e chỉ muốn là lúc bác viết code cố định lấy ở cột H thì nếu như e muốn chuyển nó đi thành cột khác hoạt ở sheet đó hawocj ở sheet khác thì làm như thế nào ạ ?
4,e muốn hỏi thêm là khi nhập dữ liệu bằng tay thì có thể làm nhập đến ký tự nào hiển thị kết quả có liên quan đến đấy luôn và đúng hết 100% mã thì nó sẽ chỉ hiện kết quả đúng với dữ liệu đang nhập,điều này có thể không hả bác,vì lúc e nhập bằng tay đúng 100% thì nó vẫn hiện tất cả kết quả liên quan .
vì trình độ kém nên em thắc mắc hơi nhiều mong bác giúp đỡ
5.Chúc Bác ngày mới tốt lành!
1591311724406.png
 
Lần chỉnh sửa cuối:
Ta thảo luận từng mục đi nha:
1,khi em mang code qua bảng tính khác hoặc muốn lấy nguồn dữ liệu của 2 name "ngay" & “MaKH·” thì em không biết nên thay đổi chỗ nào trong code,vì em đã thủ đưa qua sheet khác và trang tính khác thì list name trên ComboBox không còn nữa,ý e là muốn thay đổi cột A và cột H thành cột khách hoặc một cột nào đó trong sheet khác,nhưng e loay hoay cả tối không biết cách đổi
2, . . .
Giờ bạn thêm 1 trang tính trống/trắng
Cắt toàn bộ dữ liệu tại trang chứa 2 Name sang trang trống;
Kiểm tra trong menu xem còn 2 Name không & địa chỉ của chúng là thế nào
Sau kiểm tra thì thao tác Form xem thử có gì khác thường hay không.
 
Ta thảo luận từng mục đi nha:

Giờ bạn thêm 1 trang tính trống/trắng
Cắt toàn bộ dữ liệu tại trang chứa 2 Name sang trang trống;
Kiểm tra trong menu xem còn 2 Name không & địa chỉ của chúng là thế nào
Sau kiểm tra thì thao tác Form xem thử có gì khác thường hay không.
Vậy là không thể đổi cột A và cột H thành cột khác trong code được hả bác?
 
cảm ơn bác góp ý,dữ liệu của bảng tính chỉ lưu giữ trong một tháng thôi ạ.là sẽ có hơn 30 cột,và một ngày như thế dữ liệu của mỗi cột là tầm 2 đến 3 nghìn dòng nên làm theo hàng thì sẽ rất là nhiều bác ạ
Vì bạn không nêu cụ rõ ràng vấn đề và cũng không đính kèm File nên việc góp ý cho bạn mang tính cách trừu tượng, mỗi ngày có đến vài ngàn người trong 1 Công ty thì theo tôi làm thế này:
1/ Nếu bạn làm ở 1 Công ty nào đó thì sẽ có phân xưởng, bộ phận, tổ nhóm thì chỉ cần 1 danh mục rồi lọc sang 1 sheet khác từng tổ nhóm nhập số lượng và lưu theo chiều dọc thì sẽ rất thuận lợi.
2/ Với kiểu nhập liệu như trên thì bạn muốn tổng hợp bất kỳ thứ gì hoặc xuất File hàng loạt theo từng phân xưởng, bộ phận, tổ nhóm như trở bàn tay.

Bạn hãy tin những người đi trước góp ý sẽ giúp ích rất nhiều cho bạn, cụ thể là bác SA_DQ.
 
Vậy là không thể đổi cột A và cột H thành cột khác trong code được hả bác?
Trong 'Code' mà bạn nói đổi, thì có thể là đổi 'Dữ liệu nguồn' trong 2 ComboBox này mà thôi; Bạn Cho hiện thiết kế lần lược 2 ComboBox này sẽ thấy điều đó & phải làm như thế nào.
 
1,
2,【Lúc đó câu lệnh đang gắn với ComboBox 'Ma KH' sẽ phải thêm câu lệnh xác định trang tính 'DuLieu' là trang tính 'để vận hành'】 。bác có thể dạy e sửa code phần này được không ạ?
3,. . . .
PHP:
Private Sub cbMa_Change()
 Dim Dat As Date, Rws As Long, W As Byte
 Dim Rng As Range, sRng As Range, Sh As Worksheet
 Dim MyAdd As String
 
 Dat = DateSerial(CInt(Me!lblNam.Caption), CInt(Me!lblThang.Caption), CInt(Me!cbNgay.Text))
 Set Sh = ThisWorkbook.Worksheets("DuLieu")
 Rws = Sh.[B2].CurrentRegion.Rows.Count
 Set Rng = Sh.Cells(1, 2 * Day(Dat)).Resize(Rws)
 Set sRng = Rng.Find(Me!cbMa.Text, , xlFormulas, xlPart)
 ReDim Arr(1 To 14, 1 To 3)
 If sRng Is Nothing Then
    MsgBox "Nothing!"
    Me!lbDS.List = Arr()
 Else
    MyAdd = sRng.Address
    Do
        W = W + 1
        Arr(W, 2) = sRng.Value:                 Arr(W, 1) = W
        Arr(W, 3) = sRng.Offset(, 1).Value
        If W = 13 Then
            Arr(14, 2) = ". . .":               Arr(14, 3) = ". . ."
            Arr(14, 1) = 14:                    Exit Do
        End If
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
    If W Then
        Me!lbDS.List = Arr()
    End If
 End If
End Sub
 
1,
2,
3,. . . hiện tại thì lúc e muốn tìm kiếm thì đã có mã sẵn rồi chỉ việc tìm kiếm chứ không cần phải nhớ hết mã bác đâu bác,nhưng nếu để có một bộ mã tương thích như bác nói thì có thế lấy trực tiếp ngay trên sheet chứa dữ liệu hay không?và nếu như lấy trên sheet dữ liệu có nhiều bất cấp thì e thấy làm như cách của bác là hợp lý ạ,nhưng e chỉ muốn là lúc bác viết code cố định lấy ở cột H thì nếu như e muốn chuyển nó đi thành cột khác hoạt ở sheet đó hawocj ở sheet khác thì làm như thế nào ạ ?
4,. . . . .
Trước tiên ta bàn đến vấn đề bộ mã hiện thời của bạn có thích hợp để xài cho ComboBox hay không?
Bạn nên là 3 ngàn dòng dữ liệu phát sinh trong 1 ngày với mã không trùng, vậy cách nào bạn nhớ hết mã của toàn bộ KH của CQ?
Hay bạn muốn là :
Đầu tiên nhập vố (TextBox) kí tự 'A', sẽ hiện tất tần tật các KH có mã là 'A' đứng đầu;
Tiếp theo bạn nhập là 'N' thì toàn bộ trong ListBox chỉ hiện những người có tiếp đầu là 'AN',. . . .
Nếu muốn vậy thì phải tìm file của bạn HuuThangBD mà tham khảo & học hỏi.

Xin lưu í với bạn xài ComboBox thì nên xài bộ mã của mình!
 
vâng à,cùng chủ đề với chủ thớt nhưng để không ảnh hưởng tới bài của chủ thớt thì e chỉ dám hỏi những cái liên quan tới bài của chủ thớt thôi ah, e muốn hỏi là nếu như danh sách tìm kiếm là nhiều điều kiện thì có khả thi không ạ?dựa vào ngày tháng,sau đó mới tìm tới tên khách hàng rồi mới lấy kết quả,thì có được không ạ?ở đây vì file mỗi ngày có tầm 3 4 nghìn dòng nên việc làm list theo hàng thì sẽ rất dài nên e chia ra các cột như thế này ạ
View attachment 238629
gửi bạn file mình làm tìm kiếm theo tên và ngày nha
 

File đính kèm

cảm ơn các bác đã nhiệt tình giúp đỡ,xin lỗi vì hôm nay em có việc bận,em xin trả lời từng câu hỏi của các bác ạ
Bài đã được tự động gộp:

Vì bạn không nêu cụ rõ ràng vấn đề và cũng không đính kèm File nên việc góp ý cho bạn mang tính cách trừu tượng, mỗi ngày có đến vài ngàn người trong 1 Công ty thì theo tôi làm thế này:
1/ Nếu bạn làm ở 1 Công ty nào đó thì sẽ có phân xưởng, bộ phận, tổ nhóm thì chỉ cần 1 danh mục rồi lọc sang 1 sheet khác từng tổ nhóm nhập số lượng và lưu theo chiều dọc thì sẽ rất thuận lợi.
2/ Với kiểu nhập liệu như trên thì bạn muốn tổng hợp bất kỳ thứ gì hoặc xuất File hàng loạt theo từng phân xưởng, bộ phận, tổ nhóm như trở bàn tay.

Bạn hãy tin những người đi trước góp ý sẽ giúp ích rất nhiều cho bạn, cụ thể là bác SA_DQ.
cảm ơn bác đã góp ý,hiện tại em đang dùng file của bác @SA_DQ ạ. một phần là nhờ các bác trên diễn đàn giúp đỡ một phần là thắc mắc học hỏi thêm nữa bác
Bài đã được tự động gộp:

Trong 'Code' mà bạn nói đổi, thì có thể là đổi 'Dữ liệu nguồn' trong 2 ComboBox này mà thôi; Bạn Cho hiện thiết kế lần lược 2 ComboBox này sẽ thấy điều đó & phải làm như thế nào.
chào bác,hôm nay em bận nên giờ mới trả lời bác được,
1.em đã thử cho combox hiện lên xem dữ liệu nguồn như bác chỉ nhưng em xem không được bác ạ
2.cảm ơn bác về code định trang tính 'DuLieu'
3.vì bác đã giúp đỡ e từ đầu nên e sẽ dùng theo cách của bác
Bài đã được tự động gộp:

gửi bạn file mình làm tìm kiếm theo tên và ngày nha
cảm ơn bác đã nhiệt tình giúp đỡ,em xin file của bác về nghiên cứu học hỏi thêm nha,có gì thâc mặc em sẽ hỏi bác để học hỏi thêm ạ
 
Lần chỉnh sửa cuối:
rất cảm ơn hai bác @SA_DQ và bác @ductdh94 đã bỏ công sức giúp đỡ em cùng các bác đóng góp ý kiên trên diễn đàn,file của e đã đi tới địch được 90% và cũng học hỏi được thêm từ các bác.,giờ em đang muốn học hỏi từ các bác cách tạo dữ liệu nguồn cho combox là "Tên/Mã tìm kiếm" & "ngày tìm kiếm",để khi chọn vào combox thì có danh sách trỏ xuống,đặc biệt là ngày thì nó sẽ tiện hơn ạ.cảm ơn các bác nhiều
 
Xem hình này, mong sẽ giúp được bạn tẹo nào thì vui.ComboBox Mã.jpg
 
Bạn thử cắt đem nguồn đó đến nơi nào bạn muốn xem sao
 
Tôi xem qua cái Form tìm kiếm của bạn ductdh94, có một cái nghịch lý mà lúc đầu tôi có đề cập về tổ chức bảng dữ liệu đó là nên lưu cột ngày theo hàng dọc (theo dòng) mà bạn Cuto cứ đi theo hướng hàng ngang (theo cột). Khi người ta thiết kế form tìm kiếm cho bạn lại phải tốn code để chuyển dữ liệu vô Listbox thành hàng dọc, nếu thiết kế bảng chuẩn thì cần gì phải làm công việc lãng nhách này!!!
Một góp ý khác là tìm kiếm theo Ngày thì nên có 1 cặp textbox: [Từ ngày], [Đến ngày].

Screenshot at Jun 05 22-45-41.png
 
Tôi xem qua cái Form tìm kiếm của bạn ductdh94, có một cái nghịch lý mà lúc đầu tôi có đề cập về tổ chức bảng dữ liệu đó là nên lưu cột ngày theo hàng dọc (theo dòng) mà bạn Cuto cứ đi theo hướng hàng ngang (theo cột). Khi người ta thiết kế form tìm kiếm cho bạn lại phải tốn code để chuyển dữ liệu vô Listbox thành hàng dọc, nếu thiết kế bảng chuẩn thì cần gì phải làm công việc lãng nhách này!!!
Một góp ý khác là tìm kiếm theo Ngày thì nên có 1 cặp textbox: [Từ ngày], [Đến ngày].

View attachment 238808
cảm ơn phần góp ý của bác ạ! một phần em cũng muốn học hỏi thêm nữa
 
cắt đi thì được bác ạ.nhưng tạo ra một nguồn mới như thế thì em chịu thua là không biết làm hihi
Thì cắt vứt cái Name cũ đi thôi; Tạo (hay chính xác hơn là định nghĩa lại) cái mới mà xài

. . . . có một cái nghịch lý mà lúc đầu tôi có đề cập về tổ chức bảng dữ liệu đó là nên lưu cột ngày theo hàng dọc (theo dòng) mà bạn Cuto cứ đi theo hướng hàng ngang (theo cột). Khi người ta thiết kế form tìm kiếm cho bạn lại phải tốn code để chuyển dữ liệu vô Listbox thành hàng dọc, nếu thiết kế bảng chuẩn thì cần gì phải làm công việc lãng nhách này!!!
Có thể dữ liệu thực tế của chủ bài đăng là khác & file này chỉ là giả lập thôi(?)
Mà kể ra 1 ngày phát sinh đến ~ 3K dòng & chỉ 1 cột thì chắc cấu trúc cũng đang là hợp lý ở chừng mực nào đó.
 
Lần chỉnh sửa cuối:
Thì cắt vứt cái Name cũ đi thôi; Tạo (hay chính xác hơn là định nghĩa lại) cái mới mà xài
vậng, ý em không phải là muốn bỏ phần đấy đi mà chỉ là muốn học cách làm để học hỏi thêm thôi ah
Bài đã được tự động gộp:

Thì cắt vứt cái Name cũ đi thôi; Tạo (hay chính xác hơn là định nghĩa lại) cái mới mà xài
bác có tài liệu về phần này không cho em xin được không ạ?
 
Lần chỉnh sửa cuối:
Tài liệu đang trên màn hình trước mặt bạn đó còn gì; Cố gắng tìm hiểu đi, lúc có thời gian.
 
Tôi xem qua cái Form tìm kiếm của bạn ductdh94, có một cái nghịch lý mà lúc đầu tôi có đề cập về tổ chức bảng dữ liệu đó là nên lưu cột ngày theo hàng dọc (theo dòng) mà bạn Cuto cứ đi theo hướng hàng ngang (theo cột). Khi người ta thiết kế form tìm kiếm cho bạn lại phải tốn code để chuyển dữ liệu vô Listbox thành hàng dọc, nếu thiết kế bảng chuẩn thì cần gì phải làm công việc lãng nhách này!!!
Một góp ý khác là tìm kiếm theo Ngày thì nên có 1 cặp textbox: [Từ ngày], [Đến ngày].

View attachment 238808
đúng như bác nói, cái này do ông chủ thớt yêu cầu nên em mới viết thêm như thế, chứ bình thường file data của em cấu trúc theo cột, load vào mảng thì arr= sheet.range là xong :p
 
cảm ơn phần góp ý của bác ạ! một phần em cũng muốn học hỏi thêm nữa

Nếu bạn muốn học hỏi thì tôi gợi ý thêm cho bạn là khi bạn thiết kế cái bảng lưu dữ liệu hiện tại, bạn chỉ mới nghĩ đến là làm sao tìm kiếm trên nguồn dữ liệu, còn mấy phần quan trọng nữa là làm sao nhập liệu, cập nhật dữ liệu, xoá dữ liệu đối với bảng tính được thiết kế như hiện tại?
Khi Thêm, Xoá, Sửa thì code cho nó có tối giản không hay phải qua các thêm các bước xử lý trung gian phát sinh do cách thiết kế bảng?
Bảng dữ liệu thì chỉ thuần tuý lưu dữ liệu để làm sao thao tác dữ liệu dễ, gọn, nhanh nhất có thể. Muốn xem cho đẹp thì trích xuất dữ liệu qua một sheet báo cáo mẫu nào đó.
Ví dụ: đơn giản muốn thêm 1 dòng dữ liệu:
Các bước phải làm đối với bảng hiện tại:
- Xác định xem ngày nhập liệu là ngày nào -> xác định cột nào đúng với ngày nhập liệu -> chèn dòng
Nếu bảng có ngày sắp theo hàng dọc: chỉ cần 1 bước chèn dòng là xong.
 
liên quan đến chủ đề tiềm kiếm trong VBA .
Mọi người cho em hỏi là sau khi tim kiếm và đưa dữ liệu từ ô kết quả sang ô nhập lliệu để chỉnh sửa nội dung thông tin của khách hàng A đó nhưng sau khi em cập nhập lại thì nó lại in ra 1 hàng mới tức là khách hàng A có hai hàng 1 hàng cũ và một hang mới sau khi e cập nhập lại thông tin của khách hàng A đó. và sau khi sửa lại thông tin thì ngày tháng sửa thông tin sẽ tự đọng cập nhập trên file excel
đây là file làm của mình file thong tin khách hàng bằng tiếng nhật nên hơi khó hiểu một tí mọi người đừng để í tới phần tên đó là được nhé.
Em trinh bày hơi khó hiểu nên mong mọi người thông cảm ah!
Chúc mọi người một buổi sáng học tập và làm việc biệu quả .
 

File đính kèm

Lần chỉnh sửa cuối:
Mình sẽ không xem file của bạn, vì có xem cũng chả hiểu được.
Theo mình mường tượng thì bạn chưa phân biệt nhập mới & chỉnh sửa lại thông tin khách hàng.
Trước tiên mỗi khách hàng cần có mã duy nhất & mã này không tùy tiện chỉnh sửa được.
Khi nhập mới thì ta cú nhập các thông tin ta đang có;
Quả trình sửa & bổ sung không thể sửa mã KH; Khi cần cập nhật tìm tìm đến dòng có mã KH đó & cập nhập các thông tin khác, trừ thông tin mã KH
 
Mình sẽ không xem file của bạn, vì có xem cũng chả hiểu được.
Theo mình mường tượng thì bạn chưa phân biệt nhập mới & chỉnh sửa lại thông tin khách hàng.
Trước tiên mỗi khách hàng cần có mã duy nhất & mã này không tùy tiện chỉnh sửa được.
Khi nhập mới thì ta cú nhập các thông tin ta đang có;
Quả trình sửa & bổ sung không thể sửa mã KH; Khi cần cập nhật tìm tìm đến dòng có mã KH đó & cập nhập các thông tin khác, trừ thông tin mã KH
[/QUOT
cảm ơn câu trả lời của bạn mình đã ngộ ra được
do lúc mình bổ sung thong tin cho khách hàng đó thì mình lại nhấn nút làm mới nên nó sẽ tạo ra 1 hàng mới bây giờ mình sẽ tạo thêm một nút cập nhập và sau khi sửa thông tin thì mình chọn nút cập nhập này thì nó xẽ tự động ghi lại đúng không ah
 
Bạn thao tác thử với file này xem sao:
 

File đính kèm

Bạn thao tác thử với file này xem sao:
[/QU

Bác ơi cho em hỏi là trong truongwf hợp của em là một khách hàng có rất nhiều cột thông tin của khách hàng và sau khi tìm kiếm khách hàng đó để sửa thì chỉ cho sửa 1 cột duy nhất còn tất cả các cột còn lại khong đuợc phép suẳ(ví dụ như co 20 cột thông tin thì chỉ duơc suẳ cột thông tin so 15 thôi còn lại khong duoc.
em làm như thế này thì nó không ra mong bác chỉ giáo giúp em ah


Private Sub cmbsua_Click()
Dim Rws As Long
Dim Rng As Range, sRng As Range
Rws = [B65500].End(xlUp).Row + 1
Set Rng = [b2].Resize(Rws)
Set sRng = Rng.Find(Worksheets("data").tenkh.Text, , xlFormulas, xlWhole)
If sRng Is Nothing Then
MsgBox "Kh?ng T?m Th?y!", , XC: Exit Sub
Else
Rws = sRng.Row
.Celss(Rws, "B").Value = ComboBox5.Value: ComboBox5.Value = "" (comboxx5 là ô cần phải sửa)
MsgBox "Xong R?i!", , XC
End If
End Sub
 
. . . . của em là một khách hàng (KH) có rất nhiều cột thông tin của KH và sau khi tìm kiếm khách hàng đó để sửa thì chỉ cho sửa 1 cột (2) duy nhất còn tất cả các cột còn lại khong đuợc phép suẳ(ví dụ như co 20 cột thông tin (1) thì chỉ duơc suẳ cột thông tin so 15 thôi còn lại khong duoc.
(1) Làm sao cho máy nhận được rằng thì là mà bạn chỉ muốn sửa ở cột nào.
Nếu luôn là cột 15 cho mọi KH thì Khi ấn vô ListBox để chọn 1 mã KH, thì chỉ thông tin cột cố định này hiện lên TextBox để bạn sửa thôi;
Còn nếu ứng với từng KH có cột cần sửa (thông tin) khác nhau thì cần thêm hộp thoại hay 1 TextBox để máy nó biết cột cần sửa.

(2) Vậy thì sửa cột cần sửa thuộc dòng của KH đó mà thôi. Vậy thì thay vì 20 TextBox cho 20 cột, ta chỉ cần 1 TextBox để nhập (từ ListBox) & lưu lên trang tính thôi. Tất nhiên cần thêm công đoạn xác định cột cần sửa như đã nói ở trên.
}}}}}
 
Bác ơi cho em hỏi là trong truongwf hợp của em là một khách hàng có rất nhiều cột thông tin của khách hàng và sau khi tìm kiếm khách hàng đó để sửa thì chỉ cho sửa 1 cột duy nhất còn tất cả các cột còn lại khong đuợc phép suẳ(ví dụ như co 20 cột thông tin thì chỉ duơc suẳ cột thông tin so 15 thôi còn lại khong duoc.

Cách đơn giản nhất là trên Userform, khoá (Locked=True) Textbox của dữ liệu nào không cho Sửa.
 
(1) Làm sao cho máy nhận được rằng thì là mà bạn chỉ muốn sửa ở cột nào.
Nếu luôn là cột 15 cho mọi KH thì Khi ấn vô ListBox để chọn 1 mã KH, thì chỉ thông tin cột cố định này hiện lên TextBox để bạn sửa thôi;
Còn nếu ứng với từng KH có cột cần sửa (thông tin) khác nhau thì cần thêm hộp thoại hay 1 TextBox để máy nó biết cột cần sửa.

(2) Vậy thì sửa cột cần sửa thuộc dòng của KH đó mà thôi. Vậy thì thay vì 20 TextBox cho 20 cột, ta chỉ cần 1 TextBox để nhập (từ ListBox) & lưu lên trang tính thôi. Tất nhiên cần thêm công đoạn xác định cột cần sửa như đã nói ở trên.
}}}}}
em xin lỗi bác bác có thể giải thích rõ hơn cho em với được không ah em chưa hiểu rõ lắm bác thông cảm
Bài đã được tự động gộp:

Cách đơn giản nhất là trên Userform, khoá (Locked=True) Textbox của dữ liệu nào không cho Sửa.
là sao mình chưa hiểu rõ lắm ah
 
em xin lỗi bác bác có thể giải thích rõ hơn cho em với được không ah em chưa hiểu rõ lắm bác thông cảm
Không thể thông cảm nổi khi chỉ muốn hiểu người khác, còn chả cho ai hiểu mình muốn gì 1 cách rõ ràng.
Tạm biệt!
 
Xin chào mọi người em mới bắt đầu học excel vba nên có nhiều chổ trong bài làm mọi người em chưa hiểu rõ lắm
vi du:
ReDim myData2(1 To lastRow, 1 To 25)
For i = LBound(myData) To UBound(myData)
If myData(i, 8) Like "*" & TextBox1.Value & "*" And myData(i, 16) Like "*" & txt3.Value & "*" And myData(i, 11) Like "*" & TextBox4.Value & "*" Then
cn = cn + 1

myData2(cn, 1) = myData(i, 4)
myData2(cn, 2) = myData(i, 8)
myData2(cn, 3) = myData(i, 11)
myData2(cn, 4) = myData(i, 16)
myData2(cn, 25) = i
trong bài tim kiếm có đoạn này em chưa hiểu rõ có ai hiểu ý nghĩ của đoạn này có thể chỉ giáo cho em vơi khong ah?
 
Do công việc phải nhập nhiều số 0 quá .e muốn nhập 3m hiểu đó là 3,000,000 và tương tự 12t hiểu là 12,000 và 5b hiểu là 5,000,000,000 ( 5 tỉ) xin các cao nhân chỉ giúp từ vba excel
 
Xin chào mọi người . . . em chưa hiểu rõ lắm, vi du:
PHP:
ReDim myData2(1 To lastRow, 1 To 25)
2    For i = LBound(myData) To UBound(myData)
        If myData(i, 8) Like "*" & TextBox1.Value & "*" And myData(i, 16) Like "*" & txt3.Value & "*" And myData(i, 11) Like "*" & TextBox4.Value & "*" Then
            cn = cn + 1       
            myData2(cn, 1) = myData(i, 4)
            myData2(cn, 2) = myData(i, 8)
            myData2(cn, 3) = myData(i, 11)
            myData2(cn, 4) = myData(i, 16)
            myData2(cn, 25) = i 
' . . . .    '

trong bài tim kiếm có đoạn này em chưa hiểu rõ có ai hiểu ý nghĩ của đoạn này có thể chỉ giáo cho em vơi khong ah?
Dòng lệnh có đánh số 2 là thiết lập vòng lặp theo chỉ số của mảng (Array) myData từ đầu chí cuối
Vậy trước tiên bạn cần tìm cho ra 2 chỉ số của mảng myData này trước tiên
Nếu bạn không tìm ra thì vòng lặp sẽ . . .
 

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

Back
Top Bottom