VBA không cập nhật dữ liệu khi thay đổi thông tin ở 1 sheet (1 người xem)

Liên hệ QC

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

NGOCHAN26

Thành viên mới
Tham gia
7/12/18
Bài viết
36
Được thích
7
Em có 1 file excel với 3 sheet: data, máy kéo, list thông số. File này đã được viết code VBA (người khác viết)
Sheet data là nơi cập nhật dữ liệu, lấy thông tin từ 2 sheet còn lại.
sheet data lưu thông tin từ dòng A7: BO10..... trở xuống, còn các dòng phía trên (A1: BO7) là để hiển thị lại thông tin khi nhấn vào 1 dòng của bảng bên dưới (A7:BO10......).

Nhưng khi cập nhật thêm thông tin ở sheet máy kéo, hay sheet list thông số thì file data lấy dữ liệu bị sai.
Cụ thể:
1. Sheet list thông số thay đổi 1 số thông tin.
Vd thay đổi ở "nhu cầu" (cột A): từ "thang gia đình" thành " thang tải khách". Cột "Mã hiệu "(cột B): vẫn giữ nguyên
Thì bên sheet data, ở dòng thứ 2, cột "mã hiệu"(cột BO): không cập nhật được và cột "mã hiệu thang" (cột BL): cũng không cập nhật đúng.

2. Sheet máy kéo nhập thêm thông tin bên dưới của bảng B10:O100 thì dòng B3:O3 cũng không lấy đúng dữ liệu yêu cầu (hay mới vừa thêm vào)
Nên ở sheet data cũng sẽ không lấy được dữ liệu từ sheet máy kéo.

3. sheet data muốn chèn thêm 1 cột "Ngày ký HĐ" (cột BP) lấy dữ liệu từ cột "Ngày ký HĐ" (Cột BO7: BO1000....) thì các thông số ở các cột bị sai hết ạ.

Do em không biết VBA nên cũng không biết sửa thế nào. Các Anh chị có thể xem file em đính kèm, và thao tác thử sẽ hiểu ạ, tại em cũng không biết phải gọi từ chuyên môn thế nào để mọi người hiểu nên em đã mô tả những vấn đề em gặp phải hơi dài dòng ạ. File của em đúng y vậy, emchỉ xóa những thông tin khách hàng của em thôi.
Xin giúp em, em cảm ơn.
 

File đính kèm

Em có 1 file excel với 3 sheet: data, máy kéo, list thông số. File này đã được viết code VBA (người khác viết)
Sheet data là nơi cập nhật dữ liệu, lấy thông tin từ 2 sheet còn lại.
sheet data lưu thông tin từ dòng A7: BO10..... trở xuống, còn các dòng phía trên (A1: BO7) là để hiển thị lại thông tin khi nhấn vào 1 dòng của bảng bên dưới (A7:BO10......).

Nhưng khi cập nhật thêm thông tin ở sheet máy kéo, hay sheet list thông số thì file data lấy dữ liệu bị sai.
Cụ thể:
1. Sheet list thông số thay đổi 1 số thông tin.
Vd thay đổi ở "nhu cầu" (cột A): từ "thang gia đình" thành " thang tải khách". Cột "Mã hiệu "(cột B): vẫn giữ nguyên
Thì bên sheet data, ở dòng thứ 2, cột "mã hiệu"(cột BO): không cập nhật được và cột "mã hiệu thang" (cột BL): cũng không cập nhật đúng.

2. Sheet máy kéo nhập thêm thông tin bên dưới của bảng B10:O100 thì dòng B3:O3 cũng không lấy đúng dữ liệu yêu cầu (hay mới vừa thêm vào)
Nên ở sheet data cũng sẽ không lấy được dữ liệu từ sheet máy kéo.

3. sheet data muốn chèn thêm 1 cột "Ngày ký HĐ" (cột BP) lấy dữ liệu từ cột "Ngày ký HĐ" (Cột BO7: BO1000....) thì các thông số ở các cột bị sai hết ạ.

Do em không biết VBA nên cũng không biết sửa thế nào. Các Anh chị có thể xem file em đính kèm, và thao tác thử sẽ hiểu ạ, tại em cũng không biết phải gọi từ chuyên môn thế nào để mọi người hiểu nên em đã mô tả những vấn đề em gặp phải hơi dài dòng ạ. File của em đúng y vậy, emchỉ xóa những thông tin khách hàng của em thôi.
Xin giúp em, em cảm ơn.
Dữ liệu này của bạn hay của người khác? Nếu là của bạn thì sao không nhờ người đã viết code cho bạn sửa lại?
 
Upvote 0
Nhập tay cho khỏe bạn ơi. Dù gì thì cũng phải gõ từng textbox mà
dạ do từ sheet data này sẽ cho dữ liệu sang các sheet khác như báo giá, hợp đồng....
có khi 1 khách hàng phải chỉnh sửa báo giá, nhiều lần, nên nếu mỗi lần lại phải dùng vlookup để tìm từng cột cho thông tin cần thì lại dài quá.
Em mò được cách nhập dữ liệu từ form vào dòng cuối của bảng rồi, nhưng không biết làm sao để dòng cuối ấy cũng hiện lên dòng A2, B2.... ạ
 
Upvote 0
Em mò được cách nhập dữ liệu từ form vào dòng cuối của bảng rồi, nhưng không biết làm sao để dòng cuối ấy cũng hiện lên dòng A2, B2.... ạ
Khi bạn bấm LƯU ở Form Báo giá thì dữ liệu sẽ đồng thời được chép lên A2:BO2
 
Upvote 0
Khi bạn bấm LƯU ở Form Báo giá thì dữ liệu sẽ đồng thời được chép lên A2:BO2
em mới mò xong code của việc nhập dữ liệu từ form vào dòng cuối và dòng A2 luôn rồi ạ. haizzz hại não dễ sợ.
vấn đề tiếp theo là khi nhấp vào 1 dòng để dữ liệu của dòng đó hiện lại đúng vào form để sửa, mà mò hoài chưa ra ạ.

dim i as long
i = activecell.row
with sheets("data")
txtTENLEAD . text = .range("B" & i ) . value
.
.
.

End with

Nhưng hình như không đúng ạ.
tenlead: là hộp textbox đó ạ, nhưng nó không lấy dữ liệu ngược từ A2 của bảng excel vào form được ạ. Anh Chị nào chỉ em với ạ
 
Upvote 0
em mới mò xong code của việc nhập dữ liệu từ form vào dòng cuối và dòng A2 luôn rồi ạ. haizzz hại não dễ sợ.
vấn đề tiếp theo là khi nhấp vào 1 dòng để dữ liệu của dòng đó hiện lại đúng vào form để sửa, mà mò hoài chưa ra ạ.

dim i as long
i = activecell.row
with sheets("data")
txtTENLEAD . text = .range("B" & i ) . value
.
.
.

End with

Nhưng hình như không đúng ạ.
tenlead: là hộp textbox đó ạ, nhưng nó không lấy dữ liệu ngược từ A2 của bảng excel vào form được ạ. Anh Chị nào chỉ em với ạ
Dữ liệu hiện lên form nào? Mà trước đây nó có hiện nhưng chừ thì không à bạn?
 
Upvote 0
Dữ liệu hiện lên form nào? Mà trước đây nó có hiện nhưng chừ thì không à bạn?
mình muốn là khi mình cần sửa lại đôi chỗ dữ liệu của khách hàng, thì nhấp vào khách hàng ấy, nó sẽ hiện lại cái form như lúc mình nhập liệu ấy, để sửa lại những thông tin nhập sai chẳng hạn.
 
Upvote 0
em mới mò xong code của việc nhập dữ liệu từ form vào dòng cuối và dòng A2 luôn rồi ạ. haizzz hại não dễ sợ.
vấn đề tiếp theo là khi nhấp vào 1 dòng để dữ liệu của dòng đó hiện lại đúng vào form để sửa, mà mò hoài chưa ra ạ.

dim i as long
i = activecell.row
with sheets("data")
txtTENLEAD . text = .range("B" & i ) . value
.
.
.

End with

Nhưng hình như không đúng ạ.
tenlead: là hộp textbox đó ạ, nhưng nó không lấy dữ liệu ngược từ A2 của bảng excel vào form được ạ. Anh Chị nào chỉ em với ạ

mình muốn là khi mình cần sửa lại đôi chỗ dữ liệu của khách hàng, thì nhấp vào khách hàng ấy, nó sẽ hiện lại cái form như lúc mình nhập liệu ấy, để sửa lại những thông tin nhập sai chẳng hạn.
Vụ này trước đây trong file hoàn toàn chưa được thiết kế để làm điều đó.
 
Upvote 0
Muốn tìm hay nhận biết 1 dòng dữ liệu nào đó thì trên dòng đó phải có mã duy nhất của dòng; Hình như trường này chủ bài đăng chưa có
Do vậy nên khó trong việc sửa chữa, thay đổi dữ liệu của dòng;
Mã duy nhất này luôn tồn tại & không được chỉnh sửa bất kỳ vì lý do gì.
Nên vấn đề của bạn là xây dựng bộ mã này cho hoàn chỉnh đi đã.
 
Upvote 0
Nếu là mình thì 3 form của bạn mình sẽ cố gắng gộp thành 1 (sử dụng multipages . . . )
sheet data lưu thông tin từ dòng A7: BO10..... trở xuống, còn các dòng phía trên (A1: BO7) là để hiển thị lại thông tin khi nhấn vào 1 dòng của bảng bên dưới (A7:BO10......).

Vậy khi cần hiện dòng thứ 1099 thì bạn chạy xuống dòng này, nhấn 1 cái vào ô nào đó để chọn dòng & lại chạy ngược lên đầu để xem ư?!?
 
Lần chỉnh sửa cuối:
Upvote 0
Nếu là mình thì 3 form của bạn mình sẽ cố gắng gộp thành 1 (sử dụng multipages . . . )


Vậy khi cần hiện dòng thứ 1099 thì bạn chạy xuống dòng này, nhấn 1 cái vào ô nào đó để chọn dòng & lại chạy ngược lên đầu để xem ư?!?
vâng bị khó chỗ đó, có cách làm cho file mình gửi được tối ưu hơn không ạ? mutipages là gì ạ? cách sửa như thế nào ạ
 
Upvote 0
Bạn thử file này nè . . . . .
 

File đính kèm

Upvote 0
Bạn thử file này nè . . . . .
wow, file của bạn làm giúp mình rất hay, nhưng trên bảng mình chỉ làm ở bên hợp đồng, còn bên nhập liệu và báo giá thì chỉ hiện messeger "Xin Chào" thôi không có hiện form. Mình cần phải làm gì để mục nhập liệu và báo giá cũng hiện form như vậy?
Và mình muốn hỏi thêm là mình muốn phát triển từ file của bạn, ở mục "hợp đồng" chỗ "tên lead" có cho list chọn sổ xuống từ danh sách khách hàng được không ạ?
mục báo giá cũng vậy, chỗ "tên lead" cho danh sách sổ xuống để chọn để thay đổi báo giá của lead đó
 
Upvote 0
. . . , nhưng trên bảng mình chỉ làm ở bên hợp đồng, (1) còn bên nhập liệu và báo giá thì chỉ hiện messeger "Xin Chào" thôi không có hiện form. Mình cần phải làm gì để mục nhập liệu và báo giá cũng hiện form như vậy?
Và mình muốn hỏi thêm là mình muốn phát triển từ file của bạn, (2) ở mục "hợp đồng" chỗ "tên lead" có cho list chọn sổ xuống từ danh sách khách hàng được không ạ?
(2.1)mục báo giá cũng vậy, chỗ "tên lead" cho danh sách sổ xuống để chọn để thay đổi báo giá của lead đó
(1) Chuyện bạn cần là đem vô Page đó các Controls như bên Form 'Nhâp' của bạn đang có
(1.1) Viết thêm hay chép các macro của các nút lệnh tương ứng qua; Chuyện này bạn nên cố gắng làm. Bước đầu là từ Form 'NhapLieu' sau đó đến Form 'BaoGia'
(2) Muốn có danh sách sổ xuống để chọn thì bạn đã biết thực hiện ComboBox rồi còn gì; Lám tương tự thôi
(2.1) Có danh sách nguồn rồi thì để ComboBox này trong 2 Page tương ứng hay chỉ cần 1 trên Form (xài chung) cũng OK
(3) Bạn nên có trang tính để chứa các danh mục (hay danh sách) cho các ComboBox của bạn & 1 số danh mục khác nữa (mà bạn đang thiếu, như DS khách hàng,. . . .)
(4) 2uan trọng nhất của bạn theo mình là tạo mã cho danh sách khách hàng: Đây là xương sống của 1 CSDL, không có nó thì CSDL như là sinh vật nhuyễn thể mà thôi!
Mong bạn lưu tâm & chúc vui!
 
Upvote 0
(1) Chuyện bạn cần là đem vô Page đó các Controls như bên Form 'Nhâp' của bạn đang có
(1.1) Viết thêm hay chép các macro của các nút lệnh tương ứng qua; Chuyện này bạn nên cố gắng làm. Bước đầu là từ Form 'NhapLieu' sau đó đến Form 'BaoGia'
(2) Muốn có danh sách sổ xuống để chọn thì bạn đã biết thực hiện ComboBox rồi còn gì; Lám tương tự thôi
(2.1) Có danh sách nguồn rồi thì để ComboBox này trong 2 Page tương ứng hay chỉ cần 1 trên Form (xài chung) cũng OK
(3) Bạn nên có trang tính để chứa các danh mục (hay danh sách) cho các ComboBox của bạn & 1 số danh mục khác nữa (mà bạn đang thiếu, như DS khách hàng,. . . .)
(4) 2uan trọng nhất của bạn theo mình là tạo mã cho danh sách khách hàng: Đây là xương sống của 1 CSDL, không có nó thì CSDL như là sinh vật nhuyễn thể mà thôi!
Mong bạn lưu tâm & chúc vui!
Bạn ơi mình không có danh sách khách hàng có sẵn, mà danh sách này lấy từ bảng những khách hàng được nhập liệu, báo giá đó bạn, vậy mình có list được danh sách này mỗi khi thêm mới khách hàng không bạn
 
Upvote 0
/-)ược sất & bạn nên có trang 'DMuc' chứa những danh sách như vậy, (ví dụ: Cho các ComboBox,. . . .)
Ví dụ:

STTMã KHHọ & TênSo ĐT
1CCH00Châu Chấn Huy`0123456199
2CNS00Chu Ngọc Sơn`0212354641
3CVA00Cỗ Văn Ẩn`0301253083
4CMN00Công Tằng Tôn Nữ Minh Nguyệt`0390151525
5CJL00Cù Lân`0479049967
6FFD00Đào Đức Dương`0567948409
7FFD01Đỗ Đăng Dung`0656846851
8DAH00Dương Ánh Hòa`0745745293
9NHB01Ngô Thị Hòa Biền`0834643735
10NHB00Nguyễn Hòa Bình`0923542177
11NHB02Nhữ Thái Hải Hà`1012440619
12TMH03Tạ Thị Minh Hà`1101339061
13TJD00Trần Dương`1190237503
14TMH00Trần Minh Hồng`1279135945
15THH00Trần Minh Hồng Hà`1368034387
16TTT01Trần Thành Trai`1456932829
17TMH04Trần Thị Minh Hà`1545831271
18TMH01Từ Mạnh Hóa`1634729713
19TTT00Từ Thanh Tuấn`1723628155
 
Lần chỉnh sửa cuối:
Upvote 0
Rất buồn là phải thông báo với chủ bài đăng là: Bạn nên thiết kế lại toàn bộ CSDL ngay từ đầu cho đúng chuẩn (Với sự giúp đỡ của mọi người trên diễn đàn)

Trước tiên là thiết kế trang 'DLKH' (Dữ liệu khách hàng) theo thiết kế như sau:

[STT], [Mã KH], [Tên KH], [Ngày Sinh], [SĐT], [CCCD], [Mã số thuế], . . . . [Thường trú], [Ghi chú]

Riêng về mã KH bạn có thể tham khảo bộ mã ngay ở bài trên liền kề của mình.

Cũng chỉ ngõ hầu bạn sẽ làm đúng ngay từ đầu thôi!
 
Upvote 0
Rất buồn là phải thông báo với chủ bài đăng là: Bạn nên thiết kế lại toàn bộ CSDL ngay từ đầu cho đúng chuẩn (Với sự giúp đỡ của mọi người trên diễn đàn)

Trước tiên là thiết kế trang 'DLKH' (Dữ liệu khách hàng) theo thiết kế như sau:

[STT], [Mã KH], [Tên KH], [Ngày Sinh], [SĐT], [CCCD], [Mã số thuế], . . . . [Thường trú], [Ghi chú]

Riêng về mã KH bạn có thể tham khảo bộ mã ngay ở bài trên liền kề của mình.

Cũng chỉ ngõ hầu bạn sẽ làm đúng ngay từ đầu thôi!
dạ, để mình điều chỉnh làm lại file, rồi mình up lại, mọi người xem và chỉ thêm giúp mình để mình hoàn thiện hơn. Cảm ơn mọi người đã dành thời gian giúp mình rất nhiều ạ
 
Upvote 0
dạ, để mình điều chỉnh làm lại file, rồi mình up lại, mọi người xem và chỉ thêm giúp mình để mình hoàn thiện hơn. Cảm ơn mọi người đã dành thời gian giúp mình rất nhiều ạ
Bạn ơi, mình làm file tới đây rồi, mà không biết copy code nào vô chỗ nào cho đúng, nó cứ bị báo lỗi ạ bạn nhìn giúp mình, mình copy code đúng chưa ạ.
 

File đính kèm

Upvote 0
Bạn nên tạo 1 workbook mới hoàn toàn;
Đầu tiên với workbook này sẽ phải là thiết kế 1 trang tính để lưu khách hàng của bạn như bài trên mình đã đề nghị.
File của bạn đang cố thực hiện tiếp đó là chưa chuẩn. Nếu tiếp tục bạn sẽ gặp khó mọi phương diện.
Vậy nên bạn nên để đó qua 1 bên, khi cần mới đem nó ra tham khảo mà thôi.

Xin lưu ý nhỏ là các trang tính khoan hẵn bôi màu mè làm gì; để thô vậy mà sẽ chạy nhanh hơn; Chỉ bôi màu các trang dùng để báo cáo gì đó thôi.

Bổ sung: 1 khi bạn có trang về khách hàng chuẩn rồi thì trang datta thay vì nhiều trường (cột) ta chỉ việc xài 1 cột thôi, đó là mã KH, Các trường khác có liên quan như [Ngày sinh], [SĐT], [Nơi cư ngụ],. . . . lúc cần ta sẽ truy xuát từ trang khách hàng.
& như vậy với 1 khách hàng mua 10 thang máy chăng nữa cũng giảm đáng kể công việc nhập liệu của bạn.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
hix, Có Thầy Cô Anh Chị nào hiểu vấn đề em đang gặp không ạ? Em cố gắng làm lại file theo hướng các Anh Chị hướng dẫn là tạo multipage rồi vẽ các form gì gì vào, mà giờ em vẽ xong rồi nhưng em copy code lung tung cả rồi, nên file bị lỗi ạ.
Xin Anh Chị hướng dẫn em lại với ạ. trên từng page của multipage gì đó, em làm từng textbox, combobox xong rồi, giờ em viết code gì để nhấp vào mở được cái form đó ra và khi nhập liệu vào các ô thì dữ liệu sẽ nhập vào dòng cuối bảng và dòng A2 ạ
 

File đính kèm

Upvote 0
(/ấn đề của bạn chưa phải là Form & cách vận hành nó, mà là thiết kế các trang tính theo chuẩn.
Mình xin nói rõ hơn:
1 khi bạn có danh sách khách hàng rồi, thì trong trang 'Data' của bạn chỉ cần 1 cột không thể thiếu (của 1 CSDL) đó là [Mã KH]
Khi ấy, các mã số thuế, ngày sinh, hay CCCD,. . . . đều truy được thông qua mã KH này.
 
Upvote 0
(/ấn đề của bạn chưa phải là Form & cách vận hành nó, mà là thiết kế các trang tính theo chuẩn.
Mình xin nói rõ hơn:
1 khi bạn có danh sách khách hàng rồi, thì trong trang 'Data' của bạn chỉ cần 1 cột không thể thiếu (của 1 CSDL) đó là [Mã KH]
Khi ấy, các mã số thuế, ngày sinh, hay CCCD,. . . . đều truy được thông qua mã KH này.
tại vì khách hàng của mình hơi đặt thù, đó là không có sẵn danh sách, và những khách hàng lắp thang máy thì cũng chỉ lắp 1 lần hoặc 2 lần chứ cũng không phải mặt hàng phổ thông mua đi mua lại nhiều lần.
Cái mình cần là khi nhập 1 thông tin khách hàng vào thì nó sẽ cập nhật vào dòng cuối và dòng A2 để từ dòng A2 đó lấy dữ liệu qua các sheet khác (báo giá, hợp đồng, sản xuất....) thì lúc trước file đã được tạo với 3 mẫu form chạy là "Nhập Liệu", "Báo giá", "hợp đồng".
Mỗi khi cần báo giá cho 1 khách hàng nào đó, thì phải click chuột đúng khách hàng đó, sao đó mới mở form báo giá lên, nhập các thông số cần thiết và thông tin đó sẽ được chỉnh sửa, cập nhật đúng ở dòng của khách hàng đó và ô A2 để link thông tin qua sheet báo giá.
=> nhưng mình gặp vấn đề là không thể thêm thông tin, hay sửa thông tin đã tạo ở các trường "list thông số".
=> và khi bạn nói về vấn đề là danh sách khách hàng lưu nhiều, có mấy trăm khách hàng, thì khi cần báo giá phải tìm click đúng khách hàng đó, xong kéo lên ô A2 để xem thì cũng hơi khó, lỡ tay gõ gì đó thì thông tin ở các dòng trong bảng bị thay đổi mà không kiểm soát được. Nên khi bạn hướng dẫn làm multipage thì mình cố gắng làm theo nhưng hình như mình bị sai gì rồi, tại mình không biết về VBA và file này được kế thừa nên khi bị lỗi không biết đường sửa, nên đang học lõm, Anh Chị hướng dẫn đâu mình làm đó.
 
Upvote 0
Để tìm 1 dòng khách hàng nào đó, mình có cách sau:
Tạo ra 1 bộ mã như mình đã giới thiệu qui tác ở các bài trên; Mã gồm 3 kí tự & 2 kí số
3 ký tự đó là chữ cái tiếng anh (không dấu tiếng Việt) gồm chữ cái đầu của họ, Chữ cái giữa tạm hiểu là từ lót (đệm); Với họ tên trên 3 từ thì lấy từ gần tên nhất, Ví dụ Nguyễn Hoàng Oanh Oanh => NOO; Trần Đức =. TJF, (J thay cho những người chỉ gồm họ & tên, Đ => F
Nếu trùng 3 từ mã này thì đánh số tăng dần 00 => 01,. . . .
Để tìm anh chàng Lê Hoàng Đức trong DS ngàn người, ta đi tìm 3 từ LHF, kết quả quá trình tìm kiếm này là những người có phận (mà mình gọi là phần đặc tính) giống nhau & khác nhau phần định trị; DS tìm này hiện lên 1 ListBox để ta chọn khách hàng ta cần.
Chuyện dò tìm này mình sẽ thực địa cho bạn thấy bằng 1 file khác sẽ gởi nếu cần;
& như bạn thấy, ghi dữ liệu vô dòng 2 như bạn là không cần thiết nữa.

Bạn thử file này xem sao, bằng cách nhập 3 từ có trong DS mã KH sẽ rõ hơn.
 

File đính kèm

Upvote 0
Để tìm 1 dòng khách hàng nào đó, mình có cách sau:
Tạo ra 1 bộ mã như mình đã giới thiệu qui tác ở các bài trên; Mã gồm 3 kí tự & 2 kí số
3 ký tự đó là chữ cái tiếng anh (không dấu tiếng Việt) gồm chữ cái đầu của họ, Chữ cái giữa tạm hiểu là từ lót (đệm); Với họ tên trên 3 từ thì lấy từ gần tên nhất, Ví dụ Nguyễn Hoàng Oanh Oanh => NOO; Trần Đức =. TJF, (J thay cho những người chỉ gồm họ & tên, Đ => F
Nếu trùng 3 từ mã này thì đánh số tăng dần 00 => 01,. . . .
Để tìm anh chàng Lê Hoàng Đức trong DS ngàn người, ta đi tìm 3 từ LHF, kết quả quá trình tìm kiếm này là những người có phận (mà mình gọi là phần đặc tính) giống nhau & khác nhau phần định trị; DS tìm này hiện lên 1 ListBox để ta chọn khách hàng ta cần.
Chuyện dò tìm này mình sẽ thực địa cho bạn thấy bằng 1 file khác sẽ gởi nếu cần;
& như bạn thấy, ghi dữ liệu vô dòng 2 như bạn là không cần thiết nữa.

Bạn thử file này xem sao, bằng cách nhập 3 từ có trong DS mã KH sẽ rõ hơn.
Bạn ơi, mình tạo 1 sheet thông tin khách hàng, có mã khách hàng rồi.
Và đang học cách viết code tìm các dữ liệu liên quan dựa vào mã khách hàng. Nhưng vấn đề này bạn chỉ giúp:
1. ở form Nhập liệu: sẽ nhập mã khách hàng, số điện thoại, địa chỉ (chưa có ngày sinh, số cmnd, ngày cấp.....), bấm nút lưu. Dữ liệu sẽ được ghi ở sheet thông tin khách hàng.
sau này muốn lấy lại mã khách hàng đó để chỉnh sửa, thêm số điện thoại thì phải làm sao ạ?
2. ở form Báo giá: sẽ dựa vào mã khách hàng để truy ra thông tin khách hàng, rồi thêm các thông tin cần thiết vào và ghi dữ liệu ở sheet data. Hiện tại mình đang bị lỗi ở code của nút tìm kiếm mã khách hàng, bạn chỉ giúp mình code bị sai với ạ, để mình sửa lại ạ.
3. ở form Hợp đồng: cũng dựa vào mã khách hàng mà ghi nhận thêm thông tin còn thiếu vào sheet data, nhưng làm sao để ghi tiếp thông tin vào các cột còn thiếu ạ, file hiện tại cứ ghi tiếp dòng mới thôi ạ.
Mong bạn dành chút thời gian chỉ giúp mình ạ
 

File đính kèm

Upvote 0
(1) & (2)
Ở form Nhập liệu: sẽ nhập mã khách hàng, số điện thoại, địa chỉ (chưa có ngày sinh, số cmnd, ngày cấp.....), bấm nút lưu. Dữ liệu sẽ được ghi ở sheet thông tin khách hàng.
sau này muốn lấy lại mã khách hàng đó để chỉnh sửa, thêm số điện thoại thì phải làm sao ạ?

PHP:
Private Sub Cmb_timkiem_Click()
Dim Rng As Range, Cl As Range

With Sheets("thong tin kh")
    Set Rng = .Range(.[B2], .[B2].End(xlDown))
End With
MsgBox Rng.Address
Set Cl = Rng.Find(UserForm1.Cb_MAKH.Text, , xlValues, xlWhole)
If Cl Is Nothing Then
    MsgBox "KHONG CO MA KHACH HANG NAY"
Else
    sRow = Cl.Row       'Có Ve Nhu Không Cân Tham Biên Này  '
    With UserForm1
        Cb_tenlead = Cl.Offset(, 1):    Tb_SoDT = Cl.Offset(, 2)
        Tb_diachi = Cl.Offset(, 3):     Tb_CTY = Cl.Offset(, 4)
        Tb_DTCTY = Cl.Offset(, 5):      Tb_Email = Cl.Offset(, 6)
        Cb_Sale = Cl.Offset(, 7):       Cb_Nhucau = Cl.Offset(, 8)
    End With
End If
End Sub

3. Ở form Hợp đồng: cũng dựa vào mã khách hàng mà ghi nhận thêm thông tin còn thiếu vào sheet data, nhưng làm sao để ghi tiếp thông tin vào các cột còn thiếu ạ, file hiện tại cứ ghi tiếp dòng mới thôi ạ.
Quá trình sửa phải trãi qua các bước sau:
1.0 Tìm theo mã KH (khách hàng)
1.1 Hiện dữ liệu của KH lên các TextBox
2. Sửa dữ liệu trên các TextBox nào cần (sửa); Tuyệt đối không cho sửa mã KH!
3./ Viết thêm nút lệnh để lưu lại dữ liệu, gồm
- Tìm theo mã KH Hay nếu có thể, lấy lại dòng của ô đã tìm thấy ở 1.
- Nếu tìm thấy thì tiến hành ghi đè lên dòng dữ liệu theo từng cột tương ứng
- Báo đã ghi đè xong!
 
Lần chỉnh sửa cuối:
Upvote 0
Bạn thử quậy tưng file này theo (3) xem sao:
Nhập 3 kí tự đầu của mã KH nào bất kỳ; Nếu có trong danh sách sẽ hiện trên ListBox để ta chọn 1 từ chúng.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn thử quậy tưng file này theo (3) xem sao:
Nhập 3 kí tự đầu của mã KH nào bất kỳ; Nếu có trong danh sách sẽ hiện trên ListBox để ta chọn 1 từ chúng.
dạ em đang thử ạ. mà sao có chỗ này tìm khách hàng ở form Hợp Đồng, em sửa lại chọn từ cột A2 thì file Listbox ko hiểu, nó cứ lấy dữ liệu AA2 thôi anh ạ.
Cái chỗ " Redim Arr( 1 to 48, 1 to 3 ( số 3 em sửa lại thành 10 nếu mã khách hàng dài 10 ký tự là đúng ko ạ)
1620034828381.png
 
Upvote 0
Cái chỗ " Redim Arr( 1 to 48, 1 to 3 ( số 3 em sửa lại thành 10 nếu mã khách hàng dài 10 ký tự là đúng ko ạ)
Hoàn toàn không; đó là khai báo mảng có 48 dòng & 3 cột.

(*) ListBox lấy nguồn từ vùng AA2.. .AC..
Nếu ta chọn 1 dòng trên ListBox, thì các cái gì thuốc về mã NV đó đã có sẽ hiện lên các TextBox tương ứng.
 
Upvote 0
Xin hướng dẫn giúp em cách viết 1 code dò tìm như sau ạ.
1. Chọn số báo giá phụ thuộc mã khách hàng ạ.

Mục đích là : Để tránh trường hợp chọn sai số báo giá của khách hàng khi cần in lại báo giá hoặc cập nhật lại thông tin trong báo giá. Vì 1 mã khách hàng có nhiều số báo giá nhưng 1 số báo giá không được có nhiều mã khách hàng ạ.

- Chọn đúng số báo giá nào thì sẽ hiện đúng thông tin của báo giá đó lên các textbox tương ứng.
- không có số báo giá muốn tìm thì sẽ nhập thêm báo giá mới.

Em cảm ơn ạ
 
Upvote 0
Bạn ghi vầy nhưng không có file ví dụ thì đành chờ . . . đi vậy;
File #1 không giúp ích gì để hiểu bạn muốn gì luôn.
 
Upvote 0
Bạn ghi vầy nhưng không có file ví dụ thì đành chờ . . . đi vậy;
File #1 không giúp ích gì để hiểu bạn muốn gì luôn.
dạ em quên. hihi.
em tạo file gần đúng với ý em rồi ạ. mà còn mấy vấn đề em tìm cách hướng dẫn trên mạng không có.
1. Chọn số báo giá phụ thuộc mã khách hàng ạ.

Mục đích là : Để tránh trường hợp chọn sai số báo giá của khách hàng đó khi cần in lại báo giá hoặc cập nhật lại thông tin trong báo giá. Vì 1 mã khách hàng có nhiều số báo giá nhưng 1 số báo giá không được có nhiều mã khách hàng ạ.

- Chọn đúng số báo giá nào thì sẽ hiện đúng thông tin của báo giá đó lên các textbox tương ứng.
- Không có số báo giá muốn tìm của khách hàng đó thì sẽ nhập thêm báo giá mới.

2. Cách để số điện luôn hiện có số 0 ở đầu khi nhập liệu từ textbox của form vào bảng và từ bảng đổ ngược lại vào textbox của form ạ.

em đã có học lõm copy code trên mạng nhưng sao có số đt thì chạy được ( có số 0 ở đầu) có số điện thoại lại chạy không được ạ.
 

File đính kèm

Upvote 0
2. Cách để số điện luôn hiện có số 0 ở đầu khi nhập liệu từ textbox của form vào bảng và từ bảng đổ ngược lại vào textbox của form ạ.

em đã có học lõm copy code trên mạng nhưng sao có số đt thì chạy được ( có số 0 ở đầu) có số điện thoại lại chạy không được ạ.
Mình làm theo cách thủ công thì chèn code định dạng trước dòng code ghi số điện thoại vào
 
Upvote 0
. . . .em tạo file gần đúng với ý em rồi ạ. mà còn mấy vấn đề em tìm cách hướng dẫn trên mạng không có.
1. Chọn số báo giá phụ thuộc mã khách hàng ạ.

Mục đích là : Để tránh trường hợp chọn sai số báo giá của khách hàng đó khi cần in lại báo giá hoặc cập nhật lại thông tin trong báo giá. Vì 1 mã khách hàng có nhiều số báo giá nhưng 1 số báo giá không được có nhiều mã khách hàng ạ.

- Chọn đúng số báo giá nào thì sẽ hiện đúng thông tin của báo giá đó lên các textbox tương ứng.
- Không có số báo giá muốn tìm của khách hàng đó thì sẽ nhập thêm báo giá mới.
Bạn phải mô tả kỹ chọn báo giá nào của khách hàng nào, ở trang nào. . . . & cuối cùng kết quả cần đạt là như thế nào?
Cứ lý thuyết suông thế kia thì sang tháng sau nha.
 
Upvote 0
Dạ, trên form báo giá, có combobox Mã khách hàng, combobox Số báo giá.
1. Em muốn khi em chọn Mã khách hàng rồi, đến khi chọn Số báo giá
+ nếu chọn đúng số báo giá của mã khách hàng đó thì thông tin sẽ được hiện lên các textbox tương ứng.
+ nếu chọn nhầm Số báo giá thì excel sẽ hiện cảnh báo.
ví dụ: Mã khách hàng Hoàng Thi có 3 số báo giá là BG 20 12 015, BG 20 12 017 , BG 20 12 002
- nếu chọn Mã KH: Hoàng Thi, Số báo giá: BG 20 12 017 thì thông tin của số báo giá này sẽ hiện lên các textbox tương ứng
- nếu chọn Mã KH: Hoàng Thi, Số báo giá: BG 20 12 002 thì thông tin của số báo giá này sẽ hiện lên các textbox tương ứng
-nhưng nếu chọn Mã KH: Thị Bình, Số báo giá: BG 20 12 017 thì sẽ cảnh báo là " Mã KH không có số báo giá này"

Mục đích: là không chọn sai Số báo giá của khách hàng.
2. Hiện tại code em viết để Tìm Số báo giá, Cập Nhật báo giá, Lưu báo giá: quá dài nên khi Data Đơn Hàng nhiều file excel load chậm và tự động tắt. Có cách viết code nào giúp rút gọn câu lệnh hiện tại của em ngắn hơn, xin chỉ giúp ạ

Em cảm ơn ạ
 

File đính kèm

Upvote 0

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

Back
Top Bottom