Nhờ mọi người giúp code VBA để tìm kiếm và thay thế vùng dữ liệu (1 người xem)

  • Thread starter Thread starter Erebus
  • Ngày gửi Ngày gửi
Liên hệ QC

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

Erebus

Thành viên mới
Tham gia
30/10/16
Bài viết
41
Được thích
6
Nhờ các cao nhân giúp code VBA tìm kiếm và thay thế vùng dữ liệu
 

File đính kèm

1644478087168.png

Tiêu đề chung chung là phạm quy luật diễn đàn. Viết toàn chữ hoa là phản cảm (nhức mắt người đọc). Dùng từ "cao nhân" là tự hạn chế số người muốn giúp.
 
Ngoài cao hổ cốt chưa từng thấy nói tới cao chó, cao mèo, cao bò ... Cao nhân thì nghe nói tới nhiều nhưng không biết có tốt như cao hổ không.
 
View attachment 272054

Tiêu đề chung chung là phạm quy luật diễn đàn. Viết toàn chữ hoa là phản cảm (nhức mắt người đọc). Dùng từ "cao nhân" là tự hạn chế số người muốn giúp.
Em là người mới, chưa nắm được các thông tin cũng như các thức... rất mong các bác thông cảm
Bài đã được tự động gộp:

Sao không mô tả kĩ 1 chút. Bạn mô tả chỉ mình bạn hiểu à
 
Nhắc bạn:
Sao không dùng những từ "các thầy, cô " hay là "các Anh,chị, em, các bạn" thay cho những cách gọi "cao nhân, tiền bối"? và nếu dùng "các thầy, cô,....." có kém trang trọng và cầu thị hơn so với cách dùng những từ" cao nhân,..." không?
"Sr bác = Sờ rờ bác" là gì vậy? . Sao cứ viết tắt và dùng từ kiểu cơm trộn bơ vậy? hay bạn là tín đồ của giáo sư Bùi Hiển
Bạn đã đọc bài của anh @VetMini rồi? tại sao không sửa?
 
...
"Sr bác = Sờ rờ bác" là gì vậy? . Sao cứ viết tắt và dùng từ kiểu cơm trộn bơ vậy? ...
Bơ ở đây lại trúng bơ thiu mới phê cho người nhận chứ.
Sorry là một tĩnh từ. Khi nói "Sorry" là người ta nói tắt câu "I am sorry".
Khi sorry đi kế liền một danh từ/đại danh từ (như "Sr bác" ở đây) thì nó bổ nghĩa cho danh từ ấy. Vì sorry vốn nghĩa là "đau khổ" cho nên cụm từ "Sr bác" sẽ được hiểu là "bác đau khổ". Bơ trở thành bơ thiu.

Nếu muốn hiểu là câu xin lỗi theo kiểu bơ Mẽo hàng hiệu, chưa quá đát thì giữa "sorry" và nhân vật mình muốn xin lỗi phải có một dấu chấm câu - thường thì người ta dùng dấu phẩy hoặc dầu chấm.
Sorry, John.

Dùng "Sorry bạn" là một thói quen Tây bồi. Tiếng Mẽo gọi là Vietglish.
Trích Wiki:
1644567159245.png
 
Nhắc bạn:
Sao không dùng những từ "các thầy, cô " hay là "các Anh,chị, em, các bạn" thay cho những cách gọi "cao nhân, tiền bối"? và nếu dùng "các thầy, cô,....." có kém trang trọng và cầu thị hơn so với cách dùng những từ" cao nhân,..." không?
"Sr bác = Sờ rờ bác" là gì vậy? . Sao cứ viết tắt và dùng từ kiểu cơm trộn bơ vậy? hay bạn là tín đồ của giáo sư Bùi Hiển
Bạn đã đọc bài của anh @VetMini rồi? tại sao không sửa?
Vụ ví dụ hơi bậy nha.
Người Lâm Đồng, Đắc Lắc vẫn có ăn cơm với bơ (quả bơ) là bình thường, (mình ăn còn thấy ngon :yeah: ).
 
Nhắc bạn:
Sao không dùng những từ "các thầy, cô " hay là "các Anh,chị, em, các bạn" thay cho những cách gọi "cao nhân, tiền bối"? và nếu dùng "các thầy, cô,....." có kém trang trọng và cầu thị hơn so với cách dùng những từ" cao nhân,..." không?
"Sr bác = Sờ rờ bác" là gì vậy? . Sao cứ viết tắt và dùng từ kiểu cơm trộn bơ vậy? hay bạn là tín đồ của giáo sư Bùi Hiển
Bạn đã đọc bài của anh @VetMini rồi? tại sao không sửa?
Mình vừa vào group nên không biết. rất cảm ơn sự đóng góp của bạn. Hi vọng bạn không vội vàng so sánh hay kết luận. Cảm ơn bạn nhiều.
Bài đã được tự động gộp:

Mình là người mới, cũng chưa có thời gian đọc qua các nội quy cũng như là cách viết câu từ. rất cảm ơn sự đóng góp của mọi người. Có gì chưa đúng, chưa phải rất mong mọi người thông cảm. Ai có thể thì giúp mình với, thấy khá nhiều bình luận nhưng lại chỉ toàn đi soi câu từ thế này cũng hơi buồn.
 
Lần chỉnh sửa cuối:
Mình vừa vào group nên không biết. rất cảm ơn sự đóng góp của bạn. Hi vọng bạn không vội vàng so sánh hay kết luận. Cảm ơn bạn nhiều.
Bài đã được tự động gộp:

Mình là người mới, cũng chưa có thời gian đọc qua các nội quy cũng như là cách viết câu từ. rất cảm ơn sự đóng góp của mọi người. Có gì chưa đúng, chưa phải rất mong mọi người thông cảm. Ai có thể thì giúp mình với, thấy khá nhiều bình luận nhưng lại chỉ toàn đi soi câu từ thế này cũng hơi buồn.
Tôi không có ý nhận xét hay đánh giá bạn thế nào đâu, mà chỉ là nhắc bạn cho bạn biết thôi để bạn sửa và hy vọng nhận được lời giải thôi:
Tôi có suy nghĩ thế này: khi mình cầu thị thì nên thể hiển là người có hiểu biết, có văn hóa (ở đây-diễn đàn này có văn hóa là tôn trọng sự trong sáng của Tiếng Việt, và nói, viết hãy tỏ thái độ tôn trọng(có cả hàm nghĩa biết ơn người khác-dù chỉ là đọc bài của mình...).
Tôi cũng tin chắc rằng: là một người đứng đắn, có nhận thức, có văn hóa bạn cũng sẽ thừa nhận với tôi điều đó, và cũng sẽ không thấy buồn mà là thấy vui nữa là đằng khác bởi vì nếu bạn thực sự cầu tiến bộ thì bạn đã nhận được một bài học kinh nghiệm quý cho cuộc sống (giao tiếp, nói viết ở trên những diễn đàn mạng cũng như ở những diễn đàn thực thụ, ở mọi nơi), mà bài học đó đến từ diễn đàn mạng, từ những người không hề quen biết bạn.
Thế nhé. chúc vui khỏe, an toàn trong đại dịch.
Bài đã được tự động gộp:

Vụ ví dụ hơi bậy nha.
Người Lâm Đồng, Đắc Lắc vẫn có ăn cơm với bơ (quả bơ) là bình thường, (mình ăn còn thấy ngon :yeah: ).
Nếu có gì mạo phạm thì cho tôi xin lỗi nhé. Ý của tôi là không nên dùng tiếng Tây tiếng ta lẫn lộn thôi mà.
 
Sr bác. Cần nhiều cột bác ạ
Rất khó bắt một máy tự động làm việc khi mà cấu trúc dữ liệu đầu vào thay đổi liên tục như thời tiết hay như tâm trạng của bé ở độ tuổi dậy thì. Chỉ có máy chạy bằng cơm chấp nhận kiểu dữ liệu như vậy thôi.

Trong tập tin bài 8 có

bai 8.jpg

Rõ ràng bán thành phẩm Nhôm tổng hợp được liệt kê 3 lần, mỗi lần cho 1 sản phẩm hoàn chỉnh: Điện thoại, Quạt điện và Lò vi sóng.
Bán thành phẩm Nhôm tổng hợp được cấu thành từ 3 vật liệu là Nhôm nguyên chất, Vật liệu A10 và Vật liệu A11. Chả lý gì lại liệt kê 3 lần như nhau.

Trong bài 1 cả hai sản phẩm 80SAQ511 và 81SAQ511 đều dùng bán thành phẩm 55SAQA01, và bán thành phẩm đó chỉ được liệt kê 1 lần trong khung đỏ. Liệt kê 1 lần dù dùng chung bởi 2 sản phẩm.

bai 1.jpg

Tôi nghĩ cấu trúc dữ liệu phải như bài 1. Tức mỗi bán thành phẩm chỉ liệt kê 1 lần cho dù có được dùng chung bởi nhiều sản phẩm. Hơn thế nữa trước tiên phải là các mã sản phẩm hoàn chỉnh (vd. 80SAQ511 và 81SAQ511 ) rồi sau đó mới là các bán thành phẩm, mỗi bán thành phẩm chỉ liệt kê 1 lần. Nếu theo tiêu chuẩn này thì dữ liệu bài 8 phải là

chuan.jpg

Tôi nghĩ rằng lúc này mới thay máy chạy bằng cơm bằng máy tự động chạy bằng điện.
 
Tại sao có 5 dòng giống nhau:
80SAQ51134.ASAQB.006
Cái này chắc là lười gõ dữ liệu. Gõ xong 1 ô thì kéo xuống dưới thành 5 giá trị.

Xét cấu trúc thôi chứ về giá trị thì rất nhiều người rất lười, nhập xong 1 dòng thì kéo xuống thành 10 dòng y như nhau.
 
Cái này chắc là lười gõ dữ liệu. Gõ xong 1 ô thì kéo xuống dưới thành 5 giá trị.

Xét cấu trúc thôi chứ về giá trị thì rất nhiều người rất lười, nhập xong 1 dòng thì kéo xuống thành 10 dòng y như nhau.
Tức là trên GPE cũng có nhiều người siêng, sẵn sàng sửa giùm cho những người rất lười ấy? :p

Đi hỏi là do bí. Trước khi nhận là bí thì phải xem xét nhiều lượt, thử nhiều lượt.
Nếu chịu khó xem xét và thử thì đã biết dữ liệu của mình dỏm.

Toàn là dân hấp tấp làm việc không xem xét, đụng chút đã khóc nhè. Thêm cái tật đã không chịu khó mà còn tự ái hảo, đụng chút đã "buồn [sic]".
 
Lễ ốc gạo.
Ở GPE này, người hỏi chỉ cần biết lấy bài giải, người đáp chỉ cần biết là mình giải bài. Hai bên không hề có nhu cầu phải trọng nhau (bằng tâm). Tất cả những thủ tục về lễ đối với hai bên, nhất là bên hỏi, chỉ là bề ngoài.

Chủ diễn đàn thì chỉ quan tâm con số thành viên và số câu hỏi. Suy ra lễ đối với họ cũng chỉ là ngoài mặt.

Thử hỏi, thành viên đã hơn 5 năm mà còn tự xưng mình là "người mới [sic]". Trong suốt hơn 5 năm vẫn "chưa có thời gian đọc qua nội quy [sic]". Rõ ràng là họ dùng thời gian cao su, và xem nội quy như trò bày vẽ không cần thiết.
 
Lần chỉnh sửa cuối:
Thì tiên học lễ. Ở đây ai là tiên giơ tay xem. :D
Tiên bác nói ở đây là 13-18 tuổi, là các cô số 8, hay là các tay thợ "bẹp"?

Chú:
"bẹp" ngày xưa là do cứ nằm kê gối mà lên tiên, hai bên tai bẹp dí vào sọ.
Ngày nay không còn làng bẹp nữa, mà là nhiều thứ như khô họng (ken, cần sa), lở mũi (cái này mắc tiền lắm, chắc không mấy ai có), cứng gân tay (choác, đủ loại), hay a-xít (LSD), mét (Methamphetamine).

Chú 2: ngày xưa có câu "ăn được ngủ được là tiên". Ngày nay ăn ngủ nhiều coi chừng đột biến, bệnh tim, tiểu đường,...
 
Chú 2: ngày xưa có câu "ăn được ngủ được là tiên". Ngày nay ăn ngủ nhiều coi chừng đột biến, bệnh tim, tiểu đường,...
Ăn, ngủ thời nay nó không có nghĩa đen xì như thế. Chưa chắc ăn mà cũng chưa chắc ngủ. Có thể là thú ăn chơi, ăn nằm (không phải là ăn ở tư thế nằm đâu nhé) với ai đó.
 
Rất khó bắt một máy tự động làm việc khi mà cấu trúc dữ liệu đầu vào thay đổi liên tục như thời tiết hay như tâm trạng của bé ở độ tuổi dậy thì. Chỉ có máy chạy bằng cơm chấp nhận kiểu dữ liệu như vậy thôi.

Trong tập tin bài 8 có

View attachment 272088

Rõ ràng bán thành phẩm Nhôm tổng hợp được liệt kê 3 lần, mỗi lần cho 1 sản phẩm hoàn chỉnh: Điện thoại, Quạt điện và Lò vi sóng.
Bán thành phẩm Nhôm tổng hợp được cấu thành từ 3 vật liệu là Nhôm nguyên chất, Vật liệu A10 và Vật liệu A11. Chả lý gì lại liệt kê 3 lần như nhau.

Trong bài 1 cả hai sản phẩm 80SAQ511 và 81SAQ511 đều dùng bán thành phẩm 55SAQA01, và bán thành phẩm đó chỉ được liệt kê 1 lần trong khung đỏ. Liệt kê 1 lần dù dùng chung bởi 2 sản phẩm.

View attachment 272089

Tôi nghĩ cấu trúc dữ liệu phải như bài 1. Tức mỗi bán thành phẩm chỉ liệt kê 1 lần cho dù có được dùng chung bởi nhiều sản phẩm. Hơn thế nữa trước tiên phải là các mã sản phẩm hoàn chỉnh (vd. 80SAQ511 và 81SAQ511 ) rồi sau đó mới là các bán thành phẩm, mỗi bán thành phẩm chỉ liệt kê 1 lần. Nếu theo tiêu chuẩn này thì dữ liệu bài 8 phải là

View attachment 272090

Tôi nghĩ rằng lúc này mới thay máy chạy bằng cơm bằng máy tự động chạy bằng điện.
Vâng, đúng rồi bác ơi, là em đã sửa lại sai. Đúng là nó chỉ xuất hiện 1 lần thôi ạ
 
Vâng, đúng rồi bác ơi, là em đã sửa lại sai. Đúng là nó chỉ xuất hiện 1 lần thôi ạ
Nhưng tôi nói về 2 vấn đề chứ không chỉ về "nó chỉ xuất hiện 1 lần".

Tức tôi kiến nghị:

1. Mỗi bán thành phẩm chỉ liệt kê 1 lần cho dù có được dùng chung bởi nhiều sản phẩm hoàn chỉnh.

2. Trước tiên phải là các mã sản phẩm hoàn chỉnh (vd. 80SAQ511 và 81SAQ511 ) rồi sau đó mới là các bán thành phẩm.

3. Cấu trúc như hình cuối cùng trong bài #16
 
Nhưng tôi nói về 2 vấn đề chứ không chỉ về "nó chỉ xuất hiện 1 lần".

Tức tôi kiến nghị:

1. Mỗi bán thành phẩm chỉ liệt kê 1 lần cho dù có được dùng chung bởi nhiều sản phẩm hoàn chỉnh.

2. Trước tiên phải là các mã sản phẩm hoàn chỉnh (vd. 80SAQ511 và 81SAQ511 ) rồi sau đó mới là các bán thành phẩm.

3. Cấu trúc như hình cuối cùng trong bài #16
Không cần theo thứ tự thành phẩm mới tới bán thành phẩm vẫn xử lý được mờ
 
Không cần theo thứ tự thành phẩm mới tới bán thành phẩm vẫn xử lý được mờ
Chưa có chỗ nào tôi nói là không có điều kiện abc thì không xử lý được. Chắc bạn không hiểu tôi muốn nói gì nên tôi giải thích.

Thường là thế này. Nếu không có thêm điều kiên abc thì ta giải theo cách A. Nếu có thêm điều kiện abc thì ngoài cách A cho trường hợp tổng quát hơn ta có thể giải theo cách B cho trường hợp cụ thể hơn. Nhiều khi cách B đơn giản hơn cách A chút ít. Vậy thì nếu đúng là LUÔN LUÔN thỏa điều kiện abc thì tội gì phải dùng cách A, sao không dùng cách B?

Chuyện cách B có đơn giản hơn cách A hay không, nếu có thì đơn giản hơn nhiều hay chỉ chút ít thì khó nói ngay từ đầu, khi chưa bắt tay vào việc. Nhưng hỏi kỹ về các kiểu dữ liệu có mất cái gì đâu. Chỉ có lợi mà thôi.

Bạn là người mà tôi thấy nhiều khi tác giả không mô tả kỹ vẫh làm. Không đúng ý thì sửa. Tính tôi khác. Tôi hay hỏi kỹ. Bạn không thể bắt tôi như bạn được.

Mà thôi, bạn có vẻ đã làm xong rồi nhỉ. Tôi dừng ở đây cho bạn giúp chủ thớt nhé. Tha hồ mà thể hiện.
 
Lần chỉnh sửa cuối:
Nhưng tôi nói về 2 vấn đề chứ không chỉ về "nó chỉ xuất hiện 1 lần".

Tức tôi kiến nghị:

1. Mỗi bán thành phẩm chỉ liệt kê 1 lần cho dù có được dùng chung bởi nhiều sản phẩm hoàn chỉnh.

2. Trước tiên phải là các mã sản phẩm hoàn chỉnh (vd. 80SAQ511 và 81SAQ511 ) rồi sau đó mới là các bán thành phẩm.

3. Cấu trúc như hình cuối cùng trong bài #16
Bác ơi,
1. Mỗi bán thành phẩm chỉ xuất hiện 1 lần dù được dùng chung cho nhiều sản phẩm hoàn chỉnh. cái này thì đúng ạ
2. Xếp theo thứ tự xuất hiện lần lượt thì file mặc định mà em cần nó sẽ không xuất hiện như vậy. Tuy nhiên em đã kiểm tra, nếu sort theo thứ tự cũng có thể ạ.
Bác cố gắng giúp em với nhé.
Bài đã được tự động gộp:

Không cần theo thứ tự thành phẩm mới tới bán thành phẩm vẫn xử lý được mờ
Giúp em với nhé bác ơi
 
Chỗ tôi người ta còn nấu cao trăn nữa.
Bác kia nói là chuyện vẫn xảy ra từ xưa (khoảng thế kỷ 19 trở đi đến phần tư thế kỷ trước 21 thì tôi gọi là xưa).
Về sau này, người ta chế ra đủ loại cao - điển hình là cao nhơn. :p
Mà nói chuyện chế biến đồ thú vật thì Việt Nam xứng đáng hãnh diện là nơi giết chết con tê giác giống Đông Nam Á cuối cùng. Những đồ Tây Âu chê lâu rồi như vi cá đối với ta vẫn là "đặc sản".
 
Bác ơi,
1. Mỗi bán thành phẩm chỉ xuất hiện 1 lần dù được dùng chung cho nhiều sản phẩm hoàn chỉnh. cái này thì đúng ạ
2. Xếp theo thứ tự xuất hiện lần lượt thì file mặc định mà em cần nó sẽ không xuất hiện như vậy. Tuy nhiên em đã kiểm tra, nếu sort theo thứ tự cũng có thể ạ.
Bác cố gắng giúp em với nhé.
Bài đã được tự động gộp:


Giúp em với nhé bác ơi
Với dữ liệu tự chế lung tung không thể viết code chuẩn
 
Chưa có chỗ nào tôi nói là không có điều kiện abc thì không xử lý được. Chắc bạn không hiểu tôi muốn nói gì nên tôi giải thích.

Thường là thế này. Nếu không có thêm điều kiên abc thì ta giải theo cách A. Nếu có thêm điều kiện abc thì ngoài cách A cho trường hợp tổng quát hơn ta có thể giải theo cách B cho trường hợp cụ thể hơn. Nhiều khi cách B đơn giản hơn cách A chút ít. Vậy thì nếu đúng là LUÔN LUÔN thỏa điều kiện abc thì tội gì phải dùng cách A, sao không dùng cách B?

Chuyện cách B có đơn giản hơn cách A hay không, nếu có thì đơn giản hơn nhiều hay chỉ chút ít thì khó nói ngay từ đầu, khi chưa bắt tay vào việc. Nhưng hỏi kỹ về các kiểu dữ liệu có mất cái gì đâu. Chỉ có lợi mà thôi.

Bạn là người mà tôi thấy nhiều khi tác giả không mô tả kỹ vẫh làm. Không đúng ý thì sửa. Tính tôi khác. Tôi hay hỏi kỹ. Bạn không thể bắt tôi như bạn được.

Mà thôi, bạn có vẻ đã làm xong rồi nhỉ. Tôi dừng ở đây cho bạn giúp chủ thớt nhé. Tha hồ mà thể hiện.
Biết bạn dư sức viết code nên mới gợi ý, trước đây có viết dạng nầy rồi, nhưng bài nầy thấy chủ topic sao sao đó nên không có hứng thú viết lại
 
Với dữ liệu tự chế lung tung không thể viết code chuẩn
Dữ liệu chuẩn đây nhé bác. vì nó quá khó giải thích nên em mới phải làm ví dụ như vậy.
ví dụ dòng 16 mã bôi màu tím là bán thành phẩm của MO 55. nhưng chính nó cũng có các vật liệu tạo thành. em cần thay mã 60 màu tím đó thành các vật liệu tạo ra nó
Bài đã được tự động gộp:

Biết bạn dư sức viết code nên mới gợi ý, trước đây có viết dạng nầy rồi, nhưng bài nầy thấy chủ topic sao sao đó nên không có hứng thú viết lại
Em nói rồi mà, em vừa vào là viết bài nhờ cậy mọi người luôn. có gì không đúng, không phải thì mong bác và mọi người bỏ qua và không chấp những thứ nhỏ nhặt. cảm ơn bác nhiều.
 

File đính kèm

Dữ liệu chuẩn đây nhé bác. vì nó quá khó giải thích nên em mới phải làm ví dụ như vậy.
ví dụ dòng 16 mã bôi màu tím là bán thành phẩm của MO 55. nhưng chính nó cũng có các vật liệu tạo thành. em cần thay mã 60 màu tím đó thành các vật liệu tạo ra nó
Bài đã được tự động gộp:


Em nói rồi mà, em vừa vào là viết bài nhờ cậy mọi người luôn. có gì không đúng, không phải thì mong bác và mọi người bỏ qua và không chấp những thứ nhỏ nhặt. cảm ơn bác nhiều.
Bài #17 mình có hỏi, không thấy trả lời nên mất hứng
 
Bài này dành cho những ai trãi hóa học hữu cơ:
Ta thường gặp các nguyên tố C, H, O , N, P & S
Từng ý thứ thôi, ta có thể tạo ra nhóm chức -OH (để say xỉn), hay -COOH (để làm loét bao tử), v.v. . . .
Rồi từ ROH & RCOOH có thể kết hợp lại tạo ra ete hay este,. . . .

Theo nguyên lý tương tự thì tác giả bài đăng nên phân loại hay nhóm chúng chăng?
 
Em nói rồi mà, em vừa vào là viết bài nhờ cậy mọi người luôn.
Định nghĩa "vừa vào" của bạn là thế nào?
Theo thống kê của diễn đàn thì bạn đăng ký từ năm 2016
1644915845499.png
...
Thử hỏi, thành viên đã hơn 5 năm mà còn tự xưng mình là "người mới [sic]". Trong suốt hơn 5 năm vẫn "chưa có thời gian đọc qua nội quy [sic]". Rõ ràng là họ dùng thời gian cao su, và xem nội quy như trò bày vẽ không cần thiết.
 
Biết bạn dư sức viết code nên mới gợi ý, trước đây có viết dạng nầy rồi, nhưng bài nầy thấy chủ topic sao sao đó nên không có hứng thú viết lại
Khi bạn bỏ công ra hỏi về dữ liệu là tôi biết bạn muốn giúp chủ thớt. Mà bạn lại biết làm nữa thì cứ giúp chủ thớt đi chứ quan tâm tôi làm gì. Chỉ những lúc nào tôi nhầm lẫm, ở bất cứ chủ đề nào, ở bất cứ thời điểm nào, thì tôi rất mong mọi người quan tâm và góp ý. Tôi rất rạch ròi, khi tôi sai về kiến thức mà có ai chỉ ra để sửa và học hỏi thì chỉ có cám ơn mà thôi.

Tôi mới chỉ tò mò về cấu trúc dữ liệu thôi chứ tôi chưa nói là tôi đủ sức làm được. Bạn cho biết là làm được thì nên giúp chủ thớt, coi như không có tôi ở đây đi.
 
Bài #17 mình có hỏi, không thấy trả lời nên mất hứng
Giúp em với bác ơi
Bài đã được tự động gộp:

Bài này dành cho những ai trãi hóa học hữu cơ:
Ta thường gặp các nguyên tố C, H, O , N, P & S
Từng ý thứ thôi, ta có thể tạo ra nhóm chức -OH (để say xỉn), hay -COOH (để làm loét bao tử), v.v. . . .
Rồi từ ROH & RCOOH có thể kết hợp lại tạo ra ete hay este,. . . .

Theo nguyên lý tương tự thì tác giả bài đăng nên phân loại hay nhóm chúng chăng?
Mình không hiểu rõ lắm về nguyên lý trên. Ở đây là trong lĩnh vực sản xuất. Mỗi sản phẩm hoặc bán sản phẩm đều được tạo ra bởi các nguyên vật liệu cố định. nhưng trong bảng thông số kỹ thuật lại chỉ hiển thị theo cấp cao nhất. dẫn đến việc khi muốn nhìn chi tiết lại khó khăn nên cần tìm và thay thế cả 1 mảng dữ liệu bạn ạ. Giống như 1 chiếc tivi họ chỉ nói là cần màn hình và vỏ. nhưng mình lại cần biết nó dùng tất cả bao nhiêu cân nhựa, bao nhiêu cân sắt tính cho toàn bộ các linh kiện tạo thành ra nó.
 
Bạn không hiểu người khác nói gì à?

Người ta đã viết rõ
Bài #17 mình có hỏi, không thấy trả lời nên mất hứng
Tức người ta muốn giúp nhưng do không hiểu nên người ta có câu hỏi ở bài 17. Không nhận được câu trả lời cho câu hỏi ở bài 17 nên người ta mất hứng. Muốn người ta giúp thì phải làm cho người ta có hứng lại. Chả nhẽ người khác còn phải chỉ cho bạn cách làm cho người ta có hứng lại? Viết thế mà không hiểu thì bó tay.

Không trả lời câu hỏi trong bài 17 thì cứ đợi thôi, kêu gọi làm chi. Không hiểu rõ về dữ liệu, về cấu trúc của nó, thì thánh cũng không viết code được đâu.

Đã có người có nhã ý thì phải giữ thật chặt, trả lời mọi câu hỏi của người ta. Vì đã hỏi thì có nghĩa là người ta muốn giúp nhưng có chỗ chưa hiểu.
 
Hình như lúc ấy tự ái dâng cao quá nên cứ cho câu hỏi ở bài #17 là "phê bình" mình. Không muốn khai rõ là do "kéo ẩu".
Không thuyết phục. Cứ cho là lúc ấy (bài 17 - Thứ sáu lúc 05:30) tự ái dâng cao quá, nhưng bây giờ (bài 35 - Hôm nay (thứ Ba) lúc 14:33) vẫn "lờ" đi là sao. Chả nhẽ "dâng cao" từ thứ Sáu tới thứ Ba? :D
 
Tại sao có 5 dòng giống nhau:
80SAQ51134.ASAQB.006
Chỗ đó em viết sai nhé bác. file gốc đính kèm. bác xem giúp em với ạ
Bài đã được tự động gộp:

@Chủ bài đăng: Đến đây & tìm cách xem được các hình trong nớ, có thể có ích cho bạn:
cảm ơn bạn nhé
 

File đính kèm

Dữ liệu chuẩn đây nhé bác. vì nó quá khó giải thích nên em mới phải làm ví dụ như vậy.
ví dụ dòng 16 mã bôi màu tím là bán thành phẩm của MO 55. nhưng chính nó cũng có các vật liệu tạo thành. em cần thay mã 60 màu tím đó thành các vật liệu tạo ra nó
Bài đã được tự động gộp:


Em nói rồi mà, em vừa vào là viết bài nhờ cậy mọi người luôn. có gì không đúng, không phải thì mong bác và mọi người bỏ qua và không chấp những thứ nhỏ nhặt. cảm ơn bác nhiều.
Không biết bài toán của bạn có giống hình bên dưới không nhỉ ?
Trong file BOM có nhiều sp để đơn giản giả xử có SPX SPY
trong sơ đồ SPX là gốc A1 , A2...là các cái ngọn
Lần này bạn muốn loại bỏ hết những cái trung gian như A , B , B2 chỉ còn để lại gốc và ngọn phải không nhỉ?

Nếu vậy 1 vấn đề là những cái trung gian A B B2 ... có xuất hiện ở các sp khác không. vd trong SPY sẽ có A và do đó cái ngọn của nó sẽ có A1 A2
Nếu không xuất hiện ở SPY bài toán rất đơn giản ... chương trình chạy nhanh
Nếu có xuất hiện ở SPY bài toán rất phức tạp hơn 1 chút ... và chương trình sẽ hơi chậm vì lượng dữ liệu hơi lớn 12k dòng
 

File đính kèm

  • 09090.jpg
    09090.jpg
    75 KB · Đọc: 15
Không biết bài toán của bạn có giống hình bên dưới không nhỉ ?
Trong file BOM có nhiều sp để đơn giản giả xử có SPX SPY
trong sơ đồ SPX là gốc A1 , A2...là các cái ngọn
Lần này bạn muốn loại bỏ hết những cái trung gian như A , B , B2 chỉ còn để lại gốc và ngọn phải không nhỉ?

Nếu vậy 1 vấn đề là những cái trung gian A B B2 ... có xuất hiện ở các sp khác không. vd trong SPY sẽ có A và do đó cái ngọn của nó sẽ có A1 A2
Nếu không xuất hiện ở SPY bài toán rất đơn giản ... chương trình chạy nhanh
Nếu có xuất hiện ở SPY bài toán rất phức tạp hơn 1 chút ... và chương trình sẽ hơi chậm vì lượng dữ liệu hơi lớn 12k dòng
Bài của mình đúng như bạn mô tả và đúng là nó sẽ còn xuất hiện ở sản phẩm Y. Bạn xem giúp mình với nhé. Mình cũng k cần quá nhanh đâu. miễn là nó có thể tự động được.
 
Dữ liệu chuẩn đây nhé bác. vì nó quá khó giải thích nên em mới phải làm ví dụ như vậy.
ví dụ dòng 16 mã bôi màu tím là bán thành phẩm của MO 55. nhưng chính nó cũng có các vật liệu tạo thành. em cần thay mã 60 màu tím đó thành các vật liệu tạo ra nó
Bài đã được tự động gộp:


Em nói rồi mà, em vừa vào là viết bài nhờ cậy mọi người luôn. có gì không đúng, không phải thì mong bác và mọi người bỏ qua và không chấp những thứ nhỏ nhặt. cảm ơn bác nhiều.
Code không xử lý sản phẩm sử dụng lẫn nhau (A --> . . . --> A), các sản phẩm nầy sẽ được thong báo và tính nguyên vật liệu thiếu
Mã:
Option Explicit
Dim res(), sArr(), dic As Object, k&

Sub XYZ()
  Dim d As Object, sRow&, i&, iKey
  Const TP$ = "5,8,9" 'Tham Pham xet theo ký tu dau
 
  Application.ScreenUpdating = False
  Set dic = CreateObject("scripting.dictionary")
  Set d = CreateObject("scripting.dictionary")
  With Sheets("Sheet1")
    sArr = .Range("A2", .Range("C" & Rows.Count).End(xlUp)).Value
  End With
  sRow = UBound(sArr)
  ReDim res(1 To 100000, 1 To 3) 'Ket qua 100.000 dòng
  For i = 1 To sRow
    iKey = sArr(i, 1)
    dic.Item(iKey) = dic.Item(iKey) & "|" & i
    If InStr(1, TP, Mid(iKey, 1, 1)) > 0 Then d.Item(iKey) = ""
    sArr(i, 3) = -sArr(i, 3)
  Next
  k = 0
  For Each iKey In d.keys
    Call TaoDinhMuc(iKey, iKey, 1)
  Next iKey
  With Sheets("Sheet1")
    i = .Range("G" & Rows.Count).End(xlUp).Row
    If i > 1 Then .Range("G2:I" & i).ClearContents
    If k > 0 Then .Range("G2").Resize(k, 3) = res
  End With
  Application.ScreenUpdating = True
  Set dic = Nothing: Set d = Nothing
  Erase sArr, res
End Sub

Private Sub TaoDinhMuc(ByVal sp$, ByVal tmp$, ByVal sl As Double)
  Dim S, iKey$, i&, j&, ik&
  S = Split(dic.Item(tmp), "|")
  For i = 1 To UBound(S)
    j = Val(S(i))
    If Not dic.exists(sArr(j, 2)) Then
      iKey = sp & "|" & sArr(j, 2)
      ik = dic.Item(iKey)
      If ik = 0 Then
        k = k + 1
        ik = k
        dic.Item(iKey) = k
      End If
      res(ik, 1) = sp
      res(ik, 2) = sArr(j, 2)
      res(ik, 3) = res(ik, 3) + sl * sArr(j, 3)
    Else
      If sArr(j, 2) = sp Then MsgBox ("San Pham " & sp & " va " & tmp & " bi tinh vong!"): Exit Sub
      Call TaoDinhMuc(sp, sArr(j, 2), sl * sArr(j, 3))
    End If
  Next i
End Sub
 
Code không xử lý sản phẩm sử dụng lẫn nhau (A --> . . . --> A), các sản phẩm nầy sẽ được thong báo và tính nguyên vật liệu thiếu
Tôi không làm chuyên môn này nên có thắc mắc.

Sau khi chạy code cho tập tin ở bài #44 thì có kết quả như hình dưới, tức 55.LVD12.MGA là sản phẩm hoàn chỉnh.

ket qua.jpg

Nhưng theo như dòng 9216 ở hình tiếp theo

ban tp.jpg

thì 55.LVD12.MGA là bán thành phẩm của sản phẩm 57.LVD12.G03 chứ không thể là sản phẩm hoàn chỉnh.

Đó là cách hiểu của người ngoại đạo như tôi. Vậy chuyên môn về BOM là như thế nào, và lý thuyết có thể đọc ở đâu?
 
Tôi không làm chuyên môn này nên có thắc mắc.

Sau khi chạy code cho tập tin ở bài #44 thì có kết quả như hình dưới, tức 55.LVD12.MGA là sản phẩm hoàn chỉnh.

View attachment 272194

Nhưng theo như dòng 9216 ở hình tiếp theo

View attachment 272195

thì 55.LVD12.MGA là bán thành phẩm của sản phẩm 57.LVD12.G03 chứ không thể là sản phẩm hoàn chỉnh.

Đó là cách hiểu của người ngoại đạo như tôi. Vậy chuyên môn về BOM là như thế nào, và lý thuyết có thể đọc ở đâu?
Thành phẩm và bán thành phẩm chỉ là khái niệm tương đối, chỉ có doanh nghiệp mới xác định chuẩn, ví dụ doanh nghiệp giấy, dùng một ít thành phẩm giấy làm bao bì, là nguyên liệu của sản phẩm khác, nhưng giấy vẫn gọi là thành phẩm vì mục đích sản xuất là bán ra ngoài, nếu chủ yếu dùng sản xuất nội bộ và bán ra ngoài là thứ yếu thì gọi là bán thành phẩm
Lúc đầu mình dùng các lệnh sau để xác định thành phẩm, như thấy không ổn nên mới chỉnh lại như code trên
Mã:
  For i = 1 To sRow
    iKey = sArr(i, 1)
    dic.Item(iKey) = dic.Item(iKey) & "|" & i
    d.Item(iKey) = ""
    sArr(i, 3) = -sArr(i, 3)
  Next
  For i = 1 To sRow
    If d.exists(sArr(i, 2)) Then
      d.Remove (sArr(i, 2))
    End If
  Next
  k = 0
  For Each iKey In d.keys
    q = 0
    Call TaoDinhMuc(iKey, iKey, 1)
  Next iKey
 
Tôi chạy code cho hình

du lieu.jpg

thì không có kết quả. Dù là thế nào cũng phải có kết quả chứ nhỉ. Ít ra là San pham 1 và San pham 2 là sản phẩm hoàn chỉnh, nếu doanh nghiệp không cho là Vat lieu 1 và Vat lieu 2 cũng là sản phẩm. Nhưng đây là không có kết quả gì.

Tôi không hiểu rõ lắm Const TP$ = "5,8,9" 'Tham Pham xet theo kư tu dau

Nếu phải liệt kê gì đó mà với dữ liệu của tác giả hàng chục nghìn dòng thì rất có thể phải liệt kê rất rất nhiều. Nhưng như tôi đã viết, tôi không tìm hiểu xem TP nó là gì vì thực ra tôi cũng không quan tâm.

Thành phẩm và bán thành phẩm chỉ là khái niệm tương đối, chỉ có doanh nghiệp mới xác định chuẩn, ví dụ doanh nghiệp giấy, dùng một ít thành phẩm giấy làm bao bì, là nguyên liệu của sản phẩm khác, nhưng giấy vẫn gọi là thành phẩm vì mục đích sản xuất là bán ra ngoài, nếu chủ yếu dùng sản xuất nội bộ và bán ra ngoài là thứ yếu thì gọi là bán thành phẩm
Vì thế tôi cho là chủ thớt phải mô tả thật kỹ càng. Họ có thể có khái niệm riêng của họ mà theo đấy 55.LVD12.MGA KHÔNG là sản phẩm hoàn chỉnh (hình như trong tập tin chủ thớt tô mầu chữ để nhấn mạnh đó là Bán thành phẩm). Tôi muốn biết rõ trước khi viết code: sản phẩm hoàn chỉnh là gì, cách phát hiện, bán thành phẩm là gì và cách phát hiện. Vì với một người ngoại đạo như tôi mà không giải thích thì tôi chỉ còn cách đoán mò, tự hiểu. Mà ở thời điểm này tôi hiểu thế này - theo lôgíc của tôi thôi:
- Những mã ở cột A mà không có ở cột B thì là Sản phẩm. Và chỉ chúng mới là Sản phẩm.
- Những mã có ở cột A và cả ở cột B thì là Bán thành phẩm.
- Những mã chỉ có ở cột B thì là nguyên liệu.


Cho tới khi chủ thớt không mô tả, không định nghĩa gì cả thì mọi code chưa chắc đúng ý. Chủ thớt có thể có định nghĩa Sản phẩm, Bán thành phẩm và Nguyên liệu của RIÊNG MÌNH (với tư cách là doanh nghiệp anh ta xác định chuẩn như thế), không cần giống ai. Nhưng lúc đó phải định nghĩa rõ ràng, và chỉ ra cách xác định mã thế nào là Sản phẩm, Bán thành phẩm và Nguyên liệu.
 
Bài của mình đúng như bạn mô tả và đúng là nó sẽ còn xuất hiện ở sản phẩm Y. Bạn xem giúp mình với nhé. Mình cũng k cần quá nhanh đâu. miễn là nó có thể tự động được.
Trong file bạn gửi mình có thử viết qua code nhưng do chương trình chạy chậm quá nên mình moi xử lý sp đầu tiên.
bạn check xem có đúng ý bạn không nhé !
 

File đính kèm

Code không xử lý sản phẩm sử dụng lẫn nhau (A --> . . . --> A), các sản phẩm nầy sẽ được thong báo và tính nguyên vật liệu thiếu
Mã:
Option Explicit
Dim res(), sArr(), dic As Object, k&

Sub XYZ()
  Dim d As Object, sRow&, i&, iKey
  Const TP$ = "5,8,9" 'Tham Pham xet theo ký tu dau
 
  Application.ScreenUpdating = False
  Set dic = CreateObject("scripting.dictionary")
  Set d = CreateObject("scripting.dictionary")
  With Sheets("Sheet1")
    sArr = .Range("A2", .Range("C" & Rows.Count).End(xlUp)).Value
  End With
  sRow = UBound(sArr)
  ReDim res(1 To 100000, 1 To 3) 'Ket qua 100.000 dòng
  For i = 1 To sRow
    iKey = sArr(i, 1)
    dic.Item(iKey) = dic.Item(iKey) & "|" & i
    If InStr(1, TP, Mid(iKey, 1, 1)) > 0 Then d.Item(iKey) = ""
    sArr(i, 3) = -sArr(i, 3)
  Next
  k = 0
  For Each iKey In d.keys
    Call TaoDinhMuc(iKey, iKey, 1)
  Next iKey
  With Sheets("Sheet1")
    i = .Range("G" & Rows.Count).End(xlUp).Row
    If i > 1 Then .Range("G2:I" & i).ClearContents
    If k > 0 Then .Range("G2").Resize(k, 3) = res
  End With
  Application.ScreenUpdating = True
  Set dic = Nothing: Set d = Nothing
  Erase sArr, res
End Sub

Private Sub TaoDinhMuc(ByVal sp$, ByVal tmp$, ByVal sl As Double)
  Dim S, iKey$, i&, j&, ik&
  S = Split(dic.Item(tmp), "|")
  For i = 1 To UBound(S)
    j = Val(S(i))
    If Not dic.exists(sArr(j, 2)) Then
      iKey = sp & "|" & sArr(j, 2)
      ik = dic.Item(iKey)
      If ik = 0 Then
        k = k + 1
        ik = k
        dic.Item(iKey) = k
      End If
      res(ik, 1) = sp
      res(ik, 2) = sArr(j, 2)
      res(ik, 3) = res(ik, 3) + sl * sArr(j, 3)
    Else
      If sArr(j, 2) = sp Then MsgBox ("San Pham " & sp & " va " & tmp & " bi tinh vong!"): Exit Sub
      Call TaoDinhMuc(sp, sArr(j, 2), sl * sArr(j, 3))
    End If
  Next i
End Sub
Em cảm ơn bác nhiều ạ.
em đang kiểm tra lại kết quả
Bài đã được tự động gộp:

Tôi không làm chuyên môn này nên có thắc mắc.

Sau khi chạy code cho tập tin ở bài #44 thì có kết quả như hình dưới, tức 55.LVD12.MGA là sản phẩm hoàn chỉnh.

View attachment 272194

Nhưng theo như dòng 9216 ở hình tiếp theo

View attachment 272195

thì 55.LVD12.MGA là bán thành phẩm của sản phẩm 57.LVD12.G03 chứ không thể là sản phẩm hoàn chỉnh.

Đó là cách hiểu của người ngoại đạo như tôi. Vậy chuyên môn về BOM là như thế nào, và lý thuyết có thể đọc ở đâu?
Cảm ơn bác, Đúng như bác HieuCD giải thích. TP và Bán Thành Phẩm chỉ là khái niệm tương đối thôi ạ. Khi nó được tạo ra và bán cho công ty khác thì nó là thành phẩm, nhưng khi nó lại đem vào làm một bộ phận cho một sản phẩm khác thì nó lại được coi là bán thành phẩm.
Bài đã được tự động gộp:

Trong file bạn gửi mình có thử viết qua code nhưng do chương trình chạy chậm quá nên mình moi xử lý sp đầu tiên.
bạn check xem có đúng ý bạn không nhé !
Cảm ơn bạn nhiều nhé, mình sẽ kiểm tra kết quả
 
Code không xử lý sản phẩm sử dụng lẫn nhau (A --> . . . --> A), các sản phẩm nầy sẽ được thong báo và tính nguyên vật liệu thiếu
Mã:
Option Explicit
Dim res(), sArr(), dic As Object, k&

Sub XYZ()
  Dim d As Object, sRow&, i&, iKey
  Const TP$ = "5,8,9" 'Tham Pham xet theo ký tu dau
 
  Application.ScreenUpdating = False
  Set dic = CreateObject("scripting.dictionary")
  Set d = CreateObject("scripting.dictionary")
  With Sheets("Sheet1")
    sArr = .Range("A2", .Range("C" & Rows.Count).End(xlUp)).Value
  End With
  sRow = UBound(sArr)
  ReDim res(1 To 100000, 1 To 3) 'Ket qua 100.000 dòng
  For i = 1 To sRow
    iKey = sArr(i, 1)
    dic.Item(iKey) = dic.Item(iKey) & "|" & i
    If InStr(1, TP, Mid(iKey, 1, 1)) > 0 Then d.Item(iKey) = ""
    sArr(i, 3) = -sArr(i, 3)
  Next
  k = 0
  For Each iKey In d.keys
    Call TaoDinhMuc(iKey, iKey, 1)
  Next iKey
  With Sheets("Sheet1")
    i = .Range("G" & Rows.Count).End(xlUp).Row
    If i > 1 Then .Range("G2:I" & i).ClearContents
    If k > 0 Then .Range("G2").Resize(k, 3) = res
  End With
  Application.ScreenUpdating = True
  Set dic = Nothing: Set d = Nothing
  Erase sArr, res
End Sub

Private Sub TaoDinhMuc(ByVal sp$, ByVal tmp$, ByVal sl As Double)
  Dim S, iKey$, i&, j&, ik&
  S = Split(dic.Item(tmp), "|")
  For i = 1 To UBound(S)
    j = Val(S(i))
    If Not dic.exists(sArr(j, 2)) Then
      iKey = sp & "|" & sArr(j, 2)
      ik = dic.Item(iKey)
      If ik = 0 Then
        k = k + 1
        ik = k
        dic.Item(iKey) = k
      End If
      res(ik, 1) = sp
      res(ik, 2) = sArr(j, 2)
      res(ik, 3) = res(ik, 3) + sl * sArr(j, 3)
    Else
      If sArr(j, 2) = sp Then MsgBox ("San Pham " & sp & " va " & tmp & " bi tinh vong!"): Exit Sub
      Call TaoDinhMuc(sp, sArr(j, 2), sl * sArr(j, 3))
    End If
  Next i
End Sub
Code của bác đúng cái mà em cần rồi ạ. Cảm ơn bác rất nhiều!
Bài đã được tự động gộp:

Trong file bạn gửi mình có thử viết qua code nhưng do chương trình chạy chậm quá nên mình moi xử lý sp đầu tiên.
bạn check xem có đúng ý bạn không nhé !
Code của bạn đang chưa đúng cái mình muốn. ví dụ như mã 55.LVX61.DG2, trong mã đó còn có mã 60.LVX61.F01 mã đó cũng là thành phẩm/bán thành phẩm, nên lại phải thay toàn bộ nguyên liệu trong mã 60 đó vào trong mã 55.LVX61.DG2 nữa cơ bạn ạ.
Bài đã được tự động gộp:

Thành phẩm và bán thành phẩm chỉ là khái niệm tương đối, chỉ có doanh nghiệp mới xác định chuẩn, ví dụ doanh nghiệp giấy, dùng một ít thành phẩm giấy làm bao bì, là nguyên liệu của sản phẩm khác, nhưng giấy vẫn gọi là thành phẩm vì mục đích sản xuất là bán ra ngoài, nếu chủ yếu dùng sản xuất nội bộ và bán ra ngoài là thứ yếu thì gọi là bán thành phẩm
Lúc đầu mình dùng các lệnh sau để xác định thành phẩm, như thấy không ổn nên mới chỉnh lại như code trên
Mã:
  For i = 1 To sRow
    iKey = sArr(i, 1)
    dic.Item(iKey) = dic.Item(iKey) & "|" & i
    d.Item(iKey) = ""
    sArr(i, 3) = -sArr(i, 3)
  Next
  For i = 1 To sRow
    If d.exists(sArr(i, 2)) Then
      d.Remove (sArr(i, 2))
    End If
  Next
  k = 0
  For Each iKey In d.keys
    q = 0
    Call TaoDinhMuc(iKey, iKey, 1)
  Next iKey
Bác rất cẩn thận, em chưa biết đọc nhiều ngôn ngữ VBA, bác có ghi thêm phần ghi chú nên em cần thêm mã đầu 60 vào thành phẩm/bán thành phẩm thì cũng có thể tự thêm vào được. Cảm ơn bác nhiều ạ
 
Lần chỉnh sửa cuối:
Code của bác đúng cái mà em cần rồi ạ. Cảm ơn bác rất nhiều!
Bài đã được tự động gộp:


Code của bạn đang chưa đúng cái mình muốn. ví dụ như mã 55.LVX61.DG2, trong mã đó còn có mã 60.LVX61.F01 mã đó cũng là thành phẩm/bán thành phẩm, nên lại phải thay toàn bộ nguyên liệu trong mã 60 đó vào trong mã 55.LVX61.DG2 nữa cơ bạn ạ.
Bài đã được tự động gộp:


Bác rất cẩn thận, em chưa biết đọc nhiều ngôn ngữ VBA, bác có ghi thêm phần ghi chú nên em cần thêm mã đầu 60 vào thành phẩm/bán thành phẩm thì cũng có thể tự thêm vào được. Cảm ơn bác nhiều ạ
trong sheet ket qua minh thay mã 60.LVX61.F01 thanh ma 72.50048.001 la nguyên liệu cua no vao trong 55.LVX61.DG2 roi nhi ?:)
 
Tôi chạy code cho hình

View attachment 272196

thì không có kết quả. Dù là thế nào cũng phải có kết quả chứ nhỉ. Ít ra là San pham 1 và San pham 2 là sản phẩm hoàn chỉnh, nếu doanh nghiệp không cho là Vat lieu 1 và Vat lieu 2 cũng là sản phẩm. Nhưng đây là không có kết quả gì.

Tôi không hiểu rõ lắm Const TP$ = "5,8,9" 'Tham Pham xet theo kư tu dau

Nếu phải liệt kê gì đó mà với dữ liệu của tác giả hàng chục nghìn dòng thì rất có thể phải liệt kê rất rất nhiều. Nhưng như tôi đã viết, tôi không tìm hiểu xem TP nó là gì vì thực ra tôi cũng không quan tâm.


Vì thế tôi cho là chủ thớt phải mô tả thật kỹ càng. Họ có thể có khái niệm riêng của họ mà theo đấy 55.LVD12.MGA KHÔNG là sản phẩm hoàn chỉnh (hình như trong tập tin chủ thớt tô mầu chữ để nhấn mạnh đó là Bán thành phẩm). Tôi muốn biết rõ trước khi viết code: sản phẩm hoàn chỉnh là gì, cách phát hiện, bán thành phẩm là gì và cách phát hiện. Vì với một người ngoại đạo như tôi mà không giải thích thì tôi chỉ còn cách đoán mò, tự hiểu. Mà ở thời điểm này tôi hiểu thế này - theo lôgíc của tôi thôi:
- Những mã ở cột A mà không có ở cột B thì là Sản phẩm. Và chỉ chúng mới là Sản phẩm.
- Những mã có ở cột A và cả ở cột B thì là Bán thành phẩm.
- Những mã chỉ có ở cột B thì là nguyên liệu.


Cho tới khi chủ thớt không mô tả, không định nghĩa gì cả thì mọi code chưa chắc đúng ý. Chủ thớt có thể có định nghĩa Sản phẩm, Bán thành phẩm và Nguyên liệu của RIÊNG MÌNH (với tư cách là doanh nghiệp anh ta xác định chuẩn như thế), không cần giống ai. Nhưng lúc đó phải định nghĩa rõ ràng, và chỉ ra cách xác định mã thế nào là Sản phẩm, Bán thành phẩm và Nguyên liệu.
Thông thường doanh nghiệp cần định mức của tất cả sản phẩm bao gồm thành phẩmbán thành phẩm, sau đó cần cụ thể sản phẩm gì sẽ bóc tách ra sau, lúc đó không cần phân loại thành phẩm và bán thành phẩm

Code xét: Const TP$ = "5,8,9" 'Tham Pham xet theo kư tu dau
Chỉ phán đoán dựa vào đặc điểm bộ mã thực tế, nếu dữ liệu khác cần cách nhận diện khác
 
Lần chỉnh sửa cuối:
Thông thường doanh nghiệp cần định mức của tất cả sản phẩm bao gồm thành phẩmbán thành phẩm, sau đó cần cụ thể sản phẩm gì sẽ bóc tách ra sau, lúc đó không cần phân loại thành phẩm và bán thành phẩm

Code xét: Const TP$ = "5,8,9" 'Tham Pham xet theo kư tu dau
Chỉ phán đoán dựa vào đặc điểm bộ mã thực tế, nếu dữ liệu khác cần cách nhận diện khác
Có những nhà máy dùng một số bán thành phẩm của họ như thành phẩm.
Trường hợp này, họ sẽ xuất kho từ bán thành phẩm trực tiếp sang thành phẩm và từ thành phẩm vào đơn vận hàng.
Đôi khi, có nhà máy xuất ngược thành phẩm về bên bán thành phẩm để chế biến thêm. Trường hợp này họ thường có cái hoá đơn nội, tức là kho bán thành phẩm "mua hàng" từ bên thành phẩm.

Nhà máy chế biến nhiều công đoạn có thể có một phần mềm gọi là cái "routemaker" (đọc là rao-mếch-kơ). Cái routemaker này có khả năng tách thành phẩm ra nhiều công đoạn và xét kho thành phẩm, bán thành phẩm, vật liệu thô, lập thành các chọn lựa đường sản xuất, các BOM,... Nó có thể đưa ra nhiều chọn lựa cho người dùng. Người kỹ sư trách nhiệm món hàng sẽ chọn.

Ví dụ routemaker cho biết để tối ưu sử dụng, tôi cần vật liệu A. Nhưng tôi cũng biết vật liệu B đang ối (dư hàng), tuy đường đi bằng B không tốt bằng A nhưng sử dụng B thì kinh tế hơn. Tôi có thể chọn B.
 
trong sheet ket qua minh thay mã 60.LVX61.F01 thanh ma 72.50048.001 la nguyên liệu cua no vao trong 55.LVX61.DG2 roi nhi ?:)
À, đúng rồi bạn ạ. vậy phần code đã chạy đúng rồi bạn nhé. Mình cần thêm 1 đoạn nữa chạy cho số lượng. ví dụ như là trong mã 55.LVX61.DG2 dùng 3 mã 60.LVX61.F01 thì toàn bộ số lượng nguyên liệu của mã 60.LVX61.F01 sẽ nhân với 3. bạn nghĩ thêm giúp mình với nhé
 

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

Back
Top Bottom