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

Liên hệ QC

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

  • data.xlsm
    92 KB · Đọc: 24
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

  • Form.rar
    106.6 KB · Đọc: 9
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
Web KT
Back
Top Bottom