matran25251325
Thành viên tiêu biểu

- Tham gia
- 13/1/11
- Bài viết
- 424
- Được thích
- 39
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 .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.
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 !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ế.
Bạn cứ làm đi, nếu không được thì thông báo mình thay tập tin ở trên , mình làm rồi nhưng nghĩ nó đơn giản mà !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.
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 ?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?
ý 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 ?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?
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 ?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 đó.
Xem file nhen nếu đúng thì tốt mình có chú thích trong code nút lệnh chọný 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 ?
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ò .- 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
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 .Xem file nhen nếu đúng thì tốt mình có chú thích trong code nút lệnh chọn
Đú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. hhiMì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 .
- 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
+ Đầ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ẻ.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
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 .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?
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 .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è
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à !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