Nhờ giúp đỡ thực hiện: Biên dịch bảng dữ liệu đấu nối thành hình vẽ đơn giản (2 người xem)

Liên hệ QC

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

VBA_198x

Thành viên mới
Tham gia
16/4/16
Bài viết
34
Được thích
1
Chào các anh/chị,
Em có bảng dữ liệu về đấu nối nguồn (sheet 3), nhiệm vụ của em là thể hiện đấu nối nguồn này thành các hình vẽ trong excel (sơ đồ hình vẽ trong từng trường hợp nằm ở sheet 1). Vị trí các ô trong hình vẽ là cố định, vì vậy các phần tử đấu nối sẽ là cố định. Nếu các phần tử trong bảng excel là trống thì mặc nhiên phần tử đó trong hình vẽ sẽ được bỏ qua (như từng trường hợp đấu nối ở sheet 1). Tùy theo các thiết bị khác nhau thì số kết nối sẽ tăng hoặc giảm khác nhau, không cố định, nên sơ đồ sẽ lớn nhỏ tùy theo số kết nối. Do phải nộp báo cáo sớm, mà em chưa có nhiều kinh nghiệm viết VBA nên việc viết code sẽ rất dài và chưa tối ưu được nên nhờ các anh/chị giúp đỡ viết cùng em về bài này ạ. Xin cảm ơn!
 

File đính kèm

Chào các anh chị,
Để dễ dàng hơn cho việc hướng dẫn, em sẽ đặt từng câu hỏi một rồi sẽ ráp từng module lại để tạo thành bài hoàn chỉnh. Vậy câu hỏi đầu tiên là: Làm cách nào để em có thể lọc được thông tin trên bảng dữ liệu gốc để lấy được thông tin em cần ra xử lý. Cụ thể là em muốn lấy ở cột E là nguồn A, sau đó ở cột F là chân nguồn RNBC. Đây chỉ là trường hợp cụ thể là em đã biết được đối tượng mình cần chọn, nhưng hiện tại ở cột F có 2 đối tượng là (RNBC và RNAC) vậy làm cách nào để sau khi lấy được thông tin của RNBC rồi thì sẽ tự động tiếp tục lấy thông tin của RNAC ra để xử lý cho hình vẽ tiếp theo vì đấy là 2 hình vẽ khác nhau ạ. Nhờ các anh chị hướng dẫn em giải quyết vấn đề này, em cảm ơn!
 
Upvote 0
Chào các anh chị,
Để dễ dàng hơn cho việc hướng dẫn, em sẽ đặt từng câu hỏi một rồi sẽ ráp từng module lại để tạo thành bài hoàn chỉnh. Vậy câu hỏi đầu tiên là: Làm cách nào để em có thể lọc được thông tin trên bảng dữ liệu gốc để lấy được thông tin em cần ra xử lý. Cụ thể là em muốn lấy ở cột E là nguồn A, sau đó ở cột F là chân nguồn RNBC. Đây chỉ là trường hợp cụ thể là em đã biết được đối tượng mình cần chọn, nhưng hiện tại ở cột F có 2 đối tượng là (RNBC và RNAC) vậy làm cách nào để sau khi lấy được thông tin của RNBC rồi thì sẽ tự động tiếp tục lấy thông tin của RNAC ra để xử lý cho hình vẽ tiếp theo vì đấy là 2 hình vẽ khác nhau ạ. Nhờ các anh chị hướng dẫn em giải quyết vấn đề này, em cảm ơn!

Bấm nút GPE trong sheet Data xem kết quả có phải "giống" ý bạn muốn không rồi sẽ tính tiếp.
 

File đính kèm

Upvote 0
Em chào anh Ba tê,
Vâng ạ, đây là cái em cần. Xin cảm ơn anh rất nhiều về sự giúp đỡ. Nhưng anh có thể ghi chú giúp em trên từng dòn code không ạ, vì em debug để xem cách anh viết nhưng không thấy được macro xử lý dữ liệu ra sao. Điều quan trọng em muốn đăng hỏi trên diễn đàn ngoài việc có được kết quả mong muốn, còn muốn được học hỏi thêm kiến thức mới, cách làm mới để sau này không phải hỏi lại câu này lần nữa mà tự có thể làm được. Em rất ngưỡng mộ cách anh viết, vì chỉ có vài dòng lệnh là anh đã giải quyết được các vấn đề. Xin cảm ơn anh một lần nữa ạ!
 
Upvote 0
Em chào anh Ba tê,
Vâng ạ, đây là cái em cần. Xin cảm ơn anh rất nhiều về sự giúp đỡ. Nhưng anh có thể ghi chú giúp em trên từng dòn code không ạ, vì em debug để xem cách anh viết nhưng không thấy được macro xử lý dữ liệu ra sao. Điều quan trọng em muốn đăng hỏi trên diễn đàn ngoài việc có được kết quả mong muốn, còn muốn được học hỏi thêm kiến thức mới, cách làm mới để sau này không phải hỏi lại câu này lần nữa mà tự có thể làm được. Em rất ngưỡng mộ cách anh viết, vì chỉ có vài dòng lệnh là anh đã giải quyết được các vấn đề. Xin cảm ơn anh một lần nữa ạ!

- Nếu đúng ý bạn thì xem lại file này, dữ liệu điền vào các ô có kẻ khung sẵn của bạn.
- Code là tôi "học lóm" trên GPE này thôi. Chỉ biết viết mà không biết "giải thích", bạn thông cảm.
 

File đính kèm

Upvote 0
Anh Ba Tê cho em hỏi thêm, em muốn mở rộng ra thêm trường hợp của bài này là nếu như ở cột H và I trong sheet Data có dữ liệu về PDF vậy thì em hình vẽ của em sẽ có thêm một phần tử là Rack PDF như trong trường hợp 1 của sheet 1, tương tự như vậy, nếu trong bảng data của em nếu như khuyết đi một trong các phần tử nào đó thì phần tử đó sẽ không có trong sơ đồ mà thay vào đó là những đường kẻ đấu nối xuyên suốt. Vì vậy tùy từng trường hợp trong bảng Data mà em có được từng sơ đồ khác nhau vị trí như trong sheet 1 ạ. Phiền anh xem giúp em vấn đề này, vì điều khó nhất của em lúc này là em chưa hiểu được cách viết của anh nên rất khó phát triển được ý tưởng như em mong muốn ạ. Xin cảm ơn anh một lần nữa về sự giúp đỡ này, chúc anh nhiều sức khỏe!
 
Upvote 0
Anh Ba Tê cho em hỏi thêm, em muốn mở rộng ra thêm trường hợp của bài này là nếu như ở cột H và I trong sheet Data có dữ liệu về PDF vậy thì em hình vẽ của em sẽ có thêm một phần tử là Rack PDF như trong trường hợp 1 của sheet 1, tương tự như vậy, nếu trong bảng data của em nếu như khuyết đi một trong các phần tử nào đó thì phần tử đó sẽ không có trong sơ đồ mà thay vào đó là những đường kẻ đấu nối xuyên suốt. Vì vậy tùy từng trường hợp trong bảng Data mà em có được từng sơ đồ khác nhau vị trí như trong sheet 1 ạ. Phiền anh xem giúp em vấn đề này, vì điều khó nhất của em lúc này là em chưa hiểu được cách viết của anh nên rất khó phát triển được ý tưởng như em mong muốn ạ. Xin cảm ơn anh một lần nữa về sự giúp đỡ này, chúc anh nhiều sức khỏe!

Muốn làm gì thì cũng có kiểu dữ liệu và kiểu kết quả để xem mặt mũi nó ra sao. cột H,I của bạn đều là N/A thì lấy cái nào? Tôi không cùng ngành với bạn thì sao tự ví dụ kết quả được.
 
Upvote 0
Em gửi lại anh và mọi người file em tự vẽ tay các trường hợp. Trong sheet 1 đã thể hiện đầy đủ 4 trường hợp theo yêu cầu , và sheet bảng dữ liệu em đã đưa vào them thông tin của rack PDF và đã có vẽ thêm khối PDF ở sheet 2. Mong tiếp tục nhận được sự giúp đỡ của anh và mọi người. Xin cảm ơn!
 

File đính kèm

Upvote 0
Em gửi lại anh và mọi người file em tự vẽ tay các trường hợp. Trong sheet 1 đã thể hiện đầy đủ 4 trường hợp theo yêu cầu , và sheet bảng dữ liệu em đã đưa vào them thông tin của rack PDF và đã có vẽ thêm khối PDF ở sheet 2. Mong tiếp tục nhận được sự giúp đỡ của anh và mọi người. Xin cảm ơn!

Lấy dữ liệu theo mẫu kết quả, còn chuyện kẻ khung ... thì bạn tự tính nhé.
 

File đính kèm

Upvote 0
Tuyệt vời rồi anh ạ. Nhân tiện anh sửa lại một tí nữa giúp em ở cột N phần đầu mục "Tủ nguồn DCHT..." sheet GPE_X được gán giá trị theo trong bảng data chứ không phải là giá trị cố định ạ. Giống như anh đã làm cho cột K đấy ạ. Do file đầu tiên em vẽ nhầm, anh thông cảm giúp em ạ.
 
Upvote 0
Tuyệt vời rồi anh ạ. Nhân tiện anh sửa lại một tí nữa giúp em ở cột N phần đầu mục "Tủ nguồn DCHT..." sheet GPE_X được gán giá trị theo trong bảng data chứ không phải là giá trị cố định ạ. Giống như anh đã làm cho cột K đấy ạ. Do file đầu tiên em vẽ nhầm, anh thông cảm giúp em ạ.

Tìm đâu đó trong code có dòng này:

Mã:
dArr(K, 11) = TN

Sửa thành
Mã:
dArr(K, 11) = Left(TN, 9) & sArr(I, 10)
 
Upvote 0
Tuyệt vời rồi anh ạ. Nhân tiện anh sửa lại một tí nữa giúp em ở cột N phần đầu mục "Tủ nguồn DCHT..." sheet GPE_X được gán giá trị theo trong bảng data chứ không phải là giá trị cố định ạ. Giống như anh đã làm cho cột K đấy ạ. Do file đầu tiên em vẽ nhầm, anh thông cảm giúp em ạ.

Nhưng tôi tự hỏi rằng. Trong Sheet Data của bạn đã được Sắp xếp theo thứ tự (sort sẵn) thì code theo như kiểu trên thì ra. Liệu có khi nào đó data của bạn sắp xếp ngẫu nhiên? thì sao đây? (chưa được sort)??? Vậy thì áp dụng code trên sẽ chưa được...
 
Upvote 0
Cám ơn bạn linhcute2000 đã góp ý, đúng thật là khi mình tráo thử vị trí các hàng với nhau thì dữ liệu biên dịch sang sơ đồ bị lệch lạc vị trí thông tin và không còn đúng nữa.
@@Chào anh Ba tê và các anh/chị: Tối qua em đã test thử các trường hợp thì ngoài trường hợp của bạn Linh có nhắc thì nếu như em nhập thêm nhiều các dữ liệu khác nữa thì code không xử lý được ạ. Thêm nữa là sau khi sắp xếp dữ liệu vào đúng vị trí em sẽ tìm cách để tự động vẽ lại các đường bao và đấu nối để thành một sơ đồ hoàn chỉnh. Nên cần phải thống nhất được vị trí chính xác của dữ liệu, vậy thì sẽ thống nhất như sau: Các ô D8,G8,K8,N8 là luôn luôn cố định và khoảng cách giữa 2 hình vẽ trên dưới cách nhau 4 dòng(tức là ở dòng cuối của bảng dữ liệu đầu tiên cách ra 4 dòng sẽ bắt đầu lặp lại sơ đồ tương tự). Trước mắt mục tiêu là sẽ xử lý dữ liệu sao cho sắp xếp đúng các vị trí yêu cầu trước đã, sau đó sẽ xử lý format hoặc vẽ ô sau. Em có gửi lại một bảng sơ đồ dữ liệu đấu nối với trường hợp số chân nguồn đã là nhiều nhất có thể rồi để có thể thấy được nhiều trường hợp hơn cho bài toán này. Mong nhận được sự giúp đỡ của các huynh. Xin cảm ơn!
 

File đính kèm

Upvote 0
Chào các anh/chị,
Chắc có lẽ do em nói chung chung quá, và phần dữ liệu đầu vào thì mù mịt nên có lẽ khó cho mọi người hiểu và giúp đỡ em. Nên em đã ngồi vẽ lại sơ đồ và xử lý thô lại phần dữ liệu đầu vào để cho mọi người đọc và dễ hiểu rồi ạ. Trong sơ đồ em đã có ghi chú tất cả các yêu cầu của bài toán để tránh phải giải thích nhiều làm mọi người khó hiểu. Mong mọi người đọc và giúp em việc này vì đây là một trong số module mà dự án của em sẽ phải hoàn thành sắp tới. Xin cảm ơn mọi người
 

File đính kèm

Upvote 0
Chào các anh/chị,
Chắc có lẽ do em nói chung chung quá, và phần dữ liệu đầu vào thì mù mịt nên có lẽ khó cho mọi người hiểu và giúp đỡ em. Nên em đã ngồi vẽ lại sơ đồ và xử lý thô lại phần dữ liệu đầu vào để cho mọi người đọc và dễ hiểu rồi ạ. Trong sơ đồ em đã có ghi chú tất cả các yêu cầu của bài toán để tránh phải giải thích nhiều làm mọi người khó hiểu. Mong mọi người đọc và giúp em việc này vì đây là một trong số module mà dự án của em sẽ phải hoàn thành sắp tới. Xin cảm ơn mọi người

Nhiệm vụ của bạn là bấm nút và kẻ khung trong sheet GPE123 theo ý bạn nhé.
 

File đính kèm

Upvote 0
Xin cảm ơn anh rất nhiều, em sẽ hoàn thành công đoạn cuối ạ. Việc kẻ khung cũng là hoàn toàn auto chứ không phải kẻ tay nên cũng hơi rắc rối anh ạ, nên phải đọc hiểu đoạn code của anh trước khi viết tiếp bước kế ạ. Các anh/chị khác đóng góp thêm để em sớm hoàn thiện bài toán với ạ. Em xin cảm ơn
 
Upvote 0
Xin cảm ơn anh rất nhiều, em sẽ hoàn thành công đoạn cuối ạ. Việc kẻ khung cũng là hoàn toàn auto chứ không phải kẻ tay nên cũng hơi rắc rối anh ạ, nên phải đọc hiểu đoạn code của anh trước khi viết tiếp bước kế ạ. Các anh/chị khác đóng góp thêm để em sớm hoàn thiện bài toán với ạ. Em xin cảm ơn

Thất nghiệp nên kẻ khung cho giống mẫu của bạn luôn.
 
Upvote 0
Thất nghiệp nên kẻ khung cho giống mẫu của bạn luôn.
Hj, được anh giúp vậy thì tốt quá, em vẫn phải đang ngồi soi code của anh để hoc lóm đây ạ. À anh ơi, anh thêm giúp em một dòng lệnh ở đâu đó để khi nó duyệt qua ký tự N/A thì chuyển sang trạng thái rỗng luôn được không ạ?
 
Lần chỉnh sửa cuối:
Upvote 0
Anh Ba tê ơi,
Đoạn code trên vẫn còn bị vướng một trường hợp là nếu như giá trị của cột L và cột I là N/A (nghĩa là không tồn tại CB cho khối Rack_PDF và Tunguonchuan) nhưng code vẫn tiếp tục chạy để tạo ra giá trị là RackPDF_N/A hoặc Tunguonchuan_N/A việc này là chưa chính xác, nên nhờ anh giúp em sửa lại một tí rằng nếu như duyệt thấy giá trị của phần tử trong cột L hoặc I có giá trị là N/A thì để trống ô đó luôn, xem như không có kết nối ạ. Em có sửa lại một tí trên đoạn anh viết để có được theo ý này, anh xem giúp em đúng không ạ
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom