Giúp về kẻ khung border (1 người xem)

Liên hệ QC

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

matran25251325

Thành viên tiêu biểu
Tham gia
13/1/11
Bài viết
424
Được thích
39
Nhờ các anh bổ sung giùm em đoạn code kẻ khung (em có test 1 số code nhưng chạy ko được +-+-+-+). Ở sheet TLuongDT sau khi chạy code và chọn 2 (hoặc nhiều công việc) trên form thì sẽ tự kẻ khung. Mong các anh xem và giúp.
 

File đính kèm

Nhờ các anh bổ sung giùm em đoạn code kẻ khung (em có test 1 số code nhưng chạy ko được +-+-+-+). Ở sheet TLuongDT sau khi chạy code và chọn 2 (hoặc nhiều công việc) trên form thì sẽ tự kẻ khung. Mong các anh xem và giúp.
Mình text thử thấy file của bạn bị lỗi ( chắc do bạn xóa bớt dữ liệu ). code hoành tráng quá mà, sao lại không tự sử lý được code kẻ Border nhỉ ? do file lỗi nên mình copy sheet!'TLuongDT' riêng ra và viết code kẻ khung tự động để bạn tùy biến vào file của mình .
 

File đính kèm

Upvote 0
File mình up lên là không lỗi, mình cũng thử xử lý là làm riêng ra 1 code khác như bạn nhưng khi mún ghép vào code trong file để khi chọn công việc thì sẽ kẻ border lun thay vì phải làm 2 thủ tục chạy code chọn mã và chạy code kẻ khung. File bạn chạy oke nhưng nếu ghép được vào code bài 1# thì tốt quá (những code đơn giản thì mình làm được, còn những cái phức tạp như bạn thấy thì mình nhờ 1 số anh trên diễn đàn này giúp). HiHi nên mình ghép vào mà vẫn chưa được là thế.
 
Upvote 0
File mình up lên là không lỗi, mình cũng thử xử lý là làm riêng ra 1 code khác như bạn nhưng khi mún ghép vào code trong file để khi chọn công việc thì sẽ kẻ border lun thay vì phải làm 2 thủ tục chạy code chọn mã và chạy code kẻ khung. File bạn chạy oke nhưng nếu ghép được vào code bài 1# thì tốt quá (những code đơn giản thì mình làm được, còn những cái phức tạp như bạn thấy thì mình nhờ 1 số anh trên diễn đàn này giúp). HiHi nên mình ghép vào mà vẫn chưa được là thế.
Trời đất ! thì bạn copy code, mở module mới rồi dán vào thôi ! thiết lập lệnh tắt rồi lúc nào xong phần dữ liệu thì gọi nó kẻ khung . thế thôi !
 
Upvote 0
Thôi thì chắc phải dùng cách như bạn nói vậy. hi, thank bạn nhiều. Chúc bạn 1 ngày đầu tuần làm việc thành công.
 
Upvote 0
Chắc vậy là tạm ổn rồi bạn. Cho mình hỏi 1 vấn đề ngoài topic nha: mình không sử dụng code kẻ khung như trên mà mình nghĩ nếu viết 1 code tự insert dòng (chọn 2 công việc như file 1# có 12 dòng thì sẽ tự insert 12 dòng, nếu chọn 1 công việc có 6 dòng thì insert 6 dòng) như thế thì viết code như thế nào?. Yêu cầu mình ghi ở comment A10 file đính kèm, bạn xem thử cỏ thể thực hiện được không?
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Chắc vậy là tạm ổn rồi bạn. Cho mình hỏi 1 vấn đề ngoài topic nha: mình không sử dụng code kẻ khung như trên mà mình nghĩ nếu viết 1 code tự insert dòng (chọn 2 công việc như file 1# có 12 dòng thì sẽ tự insert 12 dòng, nếu chọn 1 công việc có 6 dòng thì insert 6 dòng) như thế thì viết code như thế nào?. Yêu cầu mình ghi ở comment A10 file đính kèm, bạn xem thử cỏ thể thực hiện được không?
Mình chưa rõ mục đích của bạn, nhưng đoán ý định của bạn là dò tìm định mức rồi khi dò được thì copy toàn bộ định mức đó sang bảng tính với đủ cả 6 dòng ( hoặc nhiều hơn ) nội dung công việc kể cả phần vật tư kèm theo (thông thường hàm chỉ dò và xuất hiện kết quả 1 dòng ) . không hiểu có đúng vậy không ?
 
Lần chỉnh sửa cuối:
Upvote 0
Code trong file mình đã làm vấn đề copy định mức sang bảng tính rồi, ý định của mình là sau khi copy rồi thì tự insert số dòng tương ứng với công việc đã chọn. Có thể bổ sung code tự insert dòng (số dòng tùy theo công việc lụa chọn) được không?
 
Upvote 0
Code trong file mình đã làm vấn đề copy định mức sang bảng tính rồi, ý định của mình là sau khi copy rồi thì tự insert số dòng tương ứng với công việc đã chọn. Có thể bổ sung code tự insert dòng (số dòng tùy theo công việc lụa chọn) được không?
ý bạn là tự động copy dữ liệu sau khi tra bên định mức rồi tự động dán dữ liệu đã copy và nối liên tục vào dữ liệu đã có ở chỗ khác phải không ? tức là dữ liệu copy được dán liên tục theo mỗi lần tra mức ?
 
Lần chỉnh sửa cuối:
Upvote 0
Khó giải thích nhỉ. Ví dụ file #7 tại A10 mình mở bảng tra lên và chọn 1, 2 hoặc nhiều công việc, Nhưng nếu chọn nhiều công việc thì sẽ dán nhiều dữ liệu và làm mất khung và công thức tổng của PHẦN THỦ CÔNG VÀ PHẦN XÂY ĐÚC (2 dòng này có liên quan đến công thức tính ở sheet khác) do đó ý mình là dù copy và dán nhiều công việc thì lúc nào cũng không đụng đến 2 dòng đó.
 
Upvote 0
Khó giải thích nhỉ. Ví dụ file #7 tại A10 mình mở bảng tra lên và chọn 1, 2 hoặc nhiều công việc, Nhưng nếu chọn nhiều công việc thì sẽ dán nhiều dữ liệu và làm mất khung và công thức tổng của PHẦN THỦ CÔNG VÀ PHẦN XÂY ĐÚC (2 dòng này có liên quan đến công thức tính ở sheet khác) do đó ý mình là dù copy và dán nhiều công việc thì lúc nào cũng không đụng đến 2 dòng đó.
Té ra bạn chưa text thử code của mình và hình như bạn không đọc code thì phải . Mình đã lường trước chuyện đó nên bạn vô tư đi . Không những border cột nét liền mảnh, dòng nét mảnh (tóc) mà 2 dòng cuối lúc nào cũng là nét liền mảnh và 2 dòng "Phần thủ công " và "Phần xây đúc " lúc nào cũng xuất hiện tại 2 dòng cuối của dữ liệu . Bạn cứ dán tràn đi , sau đó chay sub Kekhung là nó sẽ thực hiện cho bạn theo yêu cầu . Bạn text thử rồi phản hồi xem đúng không ?
Mình xin lỗi tý : Bạn mở code và thay
Selection.Offset(2, -14) = "Ph" & ChrW(7847) & "n v" & ChrW(7853) & "t t" & ChrW(432)
Thành : Selection.Offset(2, -14) = "Ph" & ChrW(7847) & "n th" & ChrW(7911) & " công "
Vì mình nhầm chữ "phần thủ công" thành "Phần vật tư"
 
Lần chỉnh sửa cuối:
Upvote 0
ý bạn là tự động copy dữ liệu sau khi tra bên định mức rồi tự động dán dữ liệu đã copy và nối lên tục vào dữ liệu đã có ở chỗ khác phải không ? tức là dữ liệu copy được dán liên tục theo mỗi lần tra mức ?
Xem file nhen nếu đúng thì tốt mình có chú thích trong code nút lệnh chọn
 

File đính kèm

Upvote 0
- Bác Ngoại Thanh khách sáo quá, bác giúp em thì em cảm ơn bác nhiều mới phải, sao bác xin lỗi làm em ngại chết được. Code Bác thì em có đọc kỹ và hiểu và đúng với ý TIC em đã nhờ. Còn trong bài 9 em mún hỏi 1 hướng đi khác là có thể chèn thêm số dòng khi copy và dán thôi.
- Bác nmhung49 có vẻ đúng với ý em rồi, nhưng có điều nếu trường hợp nhân với số n dòng bất kỳ thì sao (có thể là 1, 2, 3... dòng). Đoạn bổ sung của bác mặc định insert x6 dòng, vậy em hỏi nếu insert n dòng bất kỳ thì sửa thế nào
 
Upvote 0
- Bác Ngoại Thanh khách sáo quá, bác giúp em thì em cảm ơn bác nhiều mới phải, sao bác xin lỗi làm em ngại chết được. Code Bác thì em có đọc kỹ và hiểu và đúng với ý TIC em đã nhờ. Còn trong bài 9 em mún hỏi 1 hướng đi khác là có thể chèn thêm số dòng khi copy và dán thôi.
- Bác nmhung49 có vẻ đúng với ý em rồi, nhưng có điều nếu trường hợp nhân với số n dòng bất kỳ thì sao (có thể là 1, 2, 3... dòng). Đoạn bổ sung của bác mặc định insert x6 dòng, vậy em hỏi nếu insert n dòng bất kỳ thì sửa thế nào
Quan điểm của mình là : Nếu sai hoặc nhầm thì xin lỗi ! mặc dù mình là giúp người, chẳng hạn có người hỏi đường, nếu ta chỉ sai thì xin lỗi , có sao đâu ! Mình chỉ thấy kỳ kỳ sao đó ? code trong bảng tính của bạn, không phải ai cũng viết được mà sao thấy bạn hỏi những cái lặt vặt nên tò mò .
 
Upvote 0
Xem file nhen nếu đúng thì tốt mình có chú thích trong code nút lệnh chọn
Mình đang hỏi lại, sợ hiểu chưa rõ để nếu giúp được thì giúp bạn ấy mà ! có phải file của mình đâu . Sau mới rõ bạn ấy sợ mât dòng tổng cộng ở dưới , nên chèn dòng để đẩy dòng tổng cộng này xuống . Mình vẫn thấy thế nào ấy .
 
Upvote 0
Mình đang hỏi lại, sợ hiểu chưa rõ để nếu giúp được thì giúp bạn ấy mà ! có phải file của mình đâu . Sau mới rõ bạn ấy sợ mât dòng tổng cộng ở dưới , nên chèn dòng để đẩy dòng tổng cộng này xuống . Mình vẫn thấy thế nào ấy .
Đúng là mình mún giữ dòng tổng cộng đó vì hàm ở sheet khác lấy dòng tổng cộng đó để tính, nên khi dòng đó bị xóa đi thì công thức sheet khác sẽ không hiểu. Có những code đơn giản thì mình có thể làm được, còn những cái phức tạp đa số mình copy các file khác rồi tận dụng ghép vào file của mình nếu việc đó phù hợp với file mình cần làm và được các cao thủ giúp đỡ chứ thực sự VBA mình chỉ biết chút ít thôi. hhi
 
Upvote 0
- Bác nmhung49 có vẻ đúng với ý em rồi, nhưng có điều nếu trường hợp nhân với số n dòng bất kỳ thì sao (có thể là 1, 2, 3... dòng). Đoạn bổ sung của bác mặc định insert x6 dòng, vậy em hỏi nếu insert n dòng bất kỳ thì sửa thế nào

Bạn vào xem đoạn code của nút chọn đó bạn thấy chỗ 6*k lúc đó bạn chỉnh 6 lại thành n dòng bất kỳ của cũng được nếu không bạn có thể lấy code của bạn Ngoại Thành để chạy kẻ dòng. Code của mình là để chữa cháy thôi nhen với điều kiện dữ liệu bạn đã đóng khung kẻ dòng sẵn thì đúng
 
Upvote 0
Bạn vào xem đoạn code của nút chọn đó bạn thấy chỗ 6*k lúc đó bạn chỉnh 6 lại thành n dòng bất kỳ của cũng được nếu không bạn có thể lấy code của bạn Ngoại Thành để chạy kẻ dòng. Code của mình là để chữa cháy thôi nhen với điều kiện dữ liệu bạn đã đóng khung kẻ dòng sẵn thì đúng
+ Đầu tiên năm mới gần đến chúc bác nmhung49 và bác Ngoai Thanh sức khoẻ tràn trề, làm việc luôn thành công, gia đình luôn mạnh khoẻ.
+ Hi vì mình muốn đóng khung sẵn và dữ liệu chỉ copy và pass trong khung đó (code bác Ngoai Thanh thì kẻ khung mới). Mình hiểu ở chổ số dòng insert mặc định là 6 nhưng nếu dữ liệu có thể số dòng mặc định là ít hoặc nhiều hơn thì sẽ ko chính xác lắm. Ý mình hỏi có cách nào nếu số dòng copy và past là A (A có thể là số bất kỳ) thì số dòng insert là A*k được ko?
 
Upvote 0
Bạn thay A thành 1 ô nào đó trên sheet hiện hành ví dụ số dòng bạn muốn insert đánh vào A1 khi đó code chỉnh lại là [A1].value * K khi đó đánh số nào vào A1 thì code sẽ insert bấy nhiêu dòng
 
Upvote 0
Hic nếu thế thì lại làm thủ công rồi. Vì mình nghĩ là khi copy và pas dữ liệu thì sẽ tự insert theo số dòng đó được. Chắc là phải dùng code của bác Ngoại Thanh rồi. Dù gì cũng cảm ơn bác nmhung49 nhiều vì rất nhiệt tình giúp đỡ mình.
 
Upvote 0
Bác Ngoại Thanh cho em hỏi khi dữ liệu có dạng như phần tô đỏ (file đính kèm), nếu chạy code của bác thì ko chính xác lắm. Nếu vậy phải sửa lại như thế nào?
 

File đính kèm

Upvote 0
Bác Ngoại Thanh cho em hỏi khi dữ liệu có dạng như phần tô đỏ (file đính kèm), nếu chạy code của bác thì ko chính xác lắm. Nếu vậy phải sửa lại như thế nào?
Do mình lấy dữ liệu cột p làm chuẩn để kẻ khung : "Range("p65536").End(xlUp).Row + 1).Select" nên nó không kẻ khung chỗ tô đỏ là đúng rồi, vì bạn đã tính hết đến phần thành tiền đâu . nói chung , nếu bạn muốn thêm dữ liệu như ghi chú V...V... thì thêm tại cột p số 0 tương ứng . Còn không tùy biến số 1 tô đỏ ở dòng lệnh trên .
 
Lần chỉnh sửa cuối:
Upvote 0
Mình cũng thử tuỳ biến chỗ +1 đó rồi nhưng vẫn bị lấp mất dữ liệu nên mới post file lên nhờ bạn chỉ giúp chỉnh sửa chỗ đó. Vì bí quá ko chỉnh được nên mới cần bác trợ giúp nè
 
Upvote 0
Mình cũng thử tuỳ biến chỗ +1 đó rồi nhưng vẫn bị lấp mất dữ liệu nên mới post file lên nhờ bạn chỉ giúp chỉnh sửa chỗ đó. Vì bí quá ko chỉnh được nên mới cần bác trợ giúp nè
Bảo bạn tính hết chỗ mới tra định mức đến cột thành tiền mà bạn không làm . Bạn xem file .
 

File đính kèm

Upvote 0
Không phải là mình tính không được nhưng mà có những công việc chỉ tính phần nhân công thôi (phần tô vàng #25 sẽ không có) do đó mình mới hỏi bạn là trường hợp vậy sẽ sửa code thế nào? Còn như bạn nghĩ là: gặp những công việc như thế thì đánh đại số hoặc chữ nào đó ở cột P của hàng đó rồi cho chạy code kẻ khung, rồi del những số, hàng ở cột P là xong phải ko? Nếu chỉnh code ko được thì mình đành xài cách của bạn vậy
 
Upvote 0
Không phải là mình tính không được nhưng mà có những công việc chỉ tính phần nhân công thôi (phần tô vàng #25 sẽ không có) do đó mình mới hỏi bạn là trường hợp vậy sẽ sửa code thế nào? Còn như bạn nghĩ là: gặp những công việc như thế thì đánh đại số hoặc chữ nào đó ở cột P của hàng đó rồi cho chạy code kẻ khung, rồi del những số, hàng ở cột P là xong phải ko? Nếu chỉnh code ko được thì mình đành xài cách của bạn vậy
Thì mình đã hướng dẫn tại Bài #26 "nói chung , nếu bạn muốn thêm dữ liệu như ghi chú V...V... thì thêm tại cột p số 0 tương ứng", vì bạn xem không kỹ nên tự làm khổ mình thôi . Bởi vì đó là dòng tổng cộng cho nên tất cả các số + 0 bằng chính nó và sẽ không gây lỗi, hoặc kẻ khung xong thì xóa nó đi. Nói chung bạn cứ mạnh dạn mà thí nghiệm , nó chạy đi đâu mà sợ ! ( còn nếu lúc nào cũng có vài dòng ghi chú , thì bạn chỉnh tại dòng #5 (+1);dòng dòng 17 ( sau dấu +...),dòng 4, 5 (từ dưới lên chỗ offset(...,-14). Mình cứ nghĩ Vba bạn khá hơn nên hướng dẫn sơ qua nên làm bạn không hiểu . Nhưng Vba nhiều khi như con dao 2 lưỡi , nó giúp ta giải quyết công việc nhanh hơn , hiệu quả hơn nhưng gặp lỗi , phát hiện nó không đơn giản . Nên lúc nào ta cũng phải hiểu nó ( đối với các cao thủ , họ bẫy lỗi và lường hầu hết các lỗi có thể gặp, nhưng ta mới "vào nghề " làm sao mà lường hết được . Không biết thì hỏi , thế thôi ! thầy ta cũng phải học, hỏi rồi mới dạy ta mà !
 
Lần chỉnh sửa cuối:
Upvote 0

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

Back
Top Bottom