[Tặng] hàm người dùng kẻ đường tiến độ thi công theo thời gian (1 người xem)

Liên hệ QC

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

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
Ngồi rảnh không biết làm gì, không biết đã có chưa hoặc có dư thừa không. ngồi viết hàm người dùng cho nó tự kẻ tiến độ thi công tặng anh chị em trong nghề chơi.
không cần phải gộp 3 dòng như thủ công trước kia, chỉ cần gõ công thức. click......click..... chọn vài cái là ra tiến độ thi công.
[Tham khảo nguồn]
--------------------------------------------
--------------------------------------------
file gốc v0:

bản nâng cấp v1:
+thêm chức năng cài đặt vẽ hoặc không vẽ tiến độ.

bản nâng cấp v2
+sửa chữa lại ngày thi công không liên tục, tức có bước nhảy giữa các ô ví dụ: 1/9/2016 -> 5/9/2016 -> 10/9/2016
+ngày được bắt đầu tính từ chính giữa ô giống project
+ nếu ngày kết thúc vượt quá ngày dò tìm thì sẽ vẽ đến ngày cuối cùng.

bản nâng cấp v2.1
+ chức năng: giống v2
+ thêm: chỉ 1 công thức có thể vẽ 1 loạt tiến độ
+ chỉnh sửa: một số lỗi tồn đọng tại v2, đường vẽ tiến độ không chuẩn xác.

bản nâng cấp v2.11
+Nâng cấp nhẹ cho công thức trở nên linh hoạt
+loại bỏ cột phụ trong quá trình sử dụng trong các bản trước
+sử dụng công thức để xác định đối số để vẽ biểu đồ
+sửa lỗi thời gian thi công hạng mục không nằm trong khoảng thời gian tổng đang hiện hữu (ví dụ 1/1/2000 đến 1/1/2001 không nằm trong khoảng thời gian 1/1/2010 đến 1/1/2020)
bản sửa lỗi v2.11s (30/12/2016)
sửa lỗi bản v2.11 khi ở sheet khác (không phải sheet vẽ tiến độ) vẫn chạy và vẽ tiến độ => sai, đã chỉnh sửa lại cho đúng, chỉ chạy đúng sheet có công thức vẽ tiến độ
P/s: Rất mong được sự góp ý từ mọi người để hàm có thể linh hoạt và dễ sử dụng hơn
 

File đính kèm

Lần chỉnh sửa cuối:
Ngồi rảnh không biết làm gì, không biết đã có chưa hoặc có dư thừa không. ngồi viết hàm người dùng cho nó tự kẻ tiến độ thi công chơi. không cần phải gộp 3 dòng như thủ công trước kia, chỉ cần gõ công thức. click......click..... chọn vài cái là ra tiến độ thi công.

[Tham khảo nguồn]
Hay quá anh ạ. Anh vẽ được đường mối tương quan các công việc được không a
 
Hay quá anh ạ. Anh vẽ được đường mối tương quan các công việc được không a
được mà nó hơi "xấu bà cố" thôi. chẳng qua chỉ làm bằng ghi chú thôi, bạn thấy ghi chú nó xấu thế nào thì nó xấu y chang vậy đó. muốn đẹp thì chỉ có project thôi.
 
Ngồi rảnh không biết làm gì, không biết đã có chưa hoặc có dư thừa không. ngồi viết hàm người dùng cho nó tự kẻ tiến độ thi công chơi. không cần phải gộp 3 dòng như thủ công trước kia, chỉ cần gõ công thức. click......click..... chọn vài cái là ra tiến độ thi công.

[Tham khảo nguồn]
Ứng dụng Comment khá hay đấy!
------------------------------------------
Chỉ góp ý 1 chỗ thôi: Tham số thứ 6 (chiều dày) nên tính theo % của độ cao dòng chứ không nên là con số nào đó. Ví dụ tham số này =1 (tức 100%) thì có nghĩa là chiều dày = độ cao dòng. Hoặc độ dày = 0.8 (tức 80%) thì có nghĩa là chiều dày sẽ thu nhỏ 80% so với độ cao dòng
 
Ứng dụng Comment khá hay đấy!
------------------------------------------
Chỉ góp ý 1 chỗ thôi: Tham số thứ 6 (chiều dày) nên tính theo % của độ cao dòng chứ không nên là con số nào đó. Ví dụ tham số này =1 (tức 100%) thì có nghĩa là chiều dày = độ cao dòng. Hoặc độ dày = 0.8 (tức 80%) thì có nghĩa là chiều dày sẽ thu nhỏ 80% so với độ cao dòng
Ôi! được thầy khen, hạnh phúc ghê.
em cũng có suy nghĩ là làm theo % nhưng mà nếu chiều cao dòng mà lên 2 dòng hay 3 dòng thì chiều cao của comment nó cũng dày lên làm cho đường tiến độ chỗ dày chỗ mỏng thầy ạ- thay vì theo % thì người dùng có thể tự chỉnh chiều cao đường vẽ đó theo tham số cuối cùng ý thầy), mà lúc in ra là trắng đen thì lúc đó không thể phân biệt được hạng mục tổng với hạng mục con nếu không nhìn vào STT với lại em thấy project xuất ra toàn cùng chiều dày hay gì ấy.
------------------
thầy cho em hỏi thêm code thế nào để khi kéo giãn cột ra thì độ rộng của comment cũng thay đổi theo mà không phải F9 cập nhật lại. rồi nó luôn luôn nằm giữa dòng nếu kéo chiều cao dòng cao lên.
trong phần with cmt.shape em nhấn dấu chấm mà chả hiện gợi ý gì cả nên mù tịt. xem trong Locas Window mà chả biết chỗ nào cả.
 
Lần chỉnh sửa cuối:
Mã:
.Top = Cel.Top + Cel.Height / 2 - mHeight / 2
Cái đó là căn middle rồi còn gì.
đó là nhấn F9 cập nhật lại rồi bạn.
bạn thử xóa công thức đi rồi kéo chiều rộng, chiều cao xem, nó có đi theo không.
ý mình là nó sẽ tích vào dòng "Move and size with cells" trong Format Comment/Properties luôn ý. mặc định là "Don't Move and size with cells" rồi.
 
Thì thêm cái này vào.
Mã:
Comment.Shape.Placement = xlMoveAndSize
 
Ôi! được thầy khen, hạnh phúc ghê.
em cũng có suy nghĩ là làm theo % nhưng mà nếu chiều cao dòng mà lên 2 dòng hay 3 dòng thì chiều cao của comment nó cũng dày lên làm cho đường tiến độ chỗ dày chỗ mỏng thầy ạ- thay vì theo % thì người dùng có thể tự chỉnh chiều cao đường vẽ đó theo tham số cuối cùng ý thầy), mà lúc in ra là trắng đen thì lúc đó không thể phân biệt được hạng mục tổng với hạng mục con nếu không nhìn vào STT với lại em thấy project xuất ra toàn cùng chiều dày hay gì ấy.
.
Cái này tùy quan điểm thôi, tôi không ép (nhưng nếu tôi tự viết thì tôi sẽ tính theo % của độ cao dòng). Nhưng theo quan điểm của tôi, thiết kế cái tiến độ thi công mà dòng cao dòng thấp thì tôi thấy nó xấu (kích thước phải đều từ trên xuống dưới, từ trái sang phải)
Lưu ý: Quan điểm cá nhân thôi nha! --=0 (tránh tranh luận vô ích)
thầy cho em hỏi thêm code thế nào để khi kéo giãn cột ra thì độ rộng của comment cũng thay đổi theo mà không phải F9 cập nhật lại. rồi nó luôn luôn nằm giữa dòng nếu kéo chiều cao dòng cao lên.
trong phần with cmt.shape em nhấn dấu chấm mà chả hiện gợi ý gì cả nên mù tịt. xem trong Locas Window mà chả biết chỗ nào cả.
- Thứ nhất: Bạn Dim cmt không có kiểu dữ liệu nên sẽ không có gợi ý các thuộc tính và phương thức. Phải Dim cmt as Comment mới đúng
- Thứ 2: Move And Size with cells thì:
Mã:
With cmt.Shape
  .Placement = xlMoveAndSize
   .....................
End With
Tuy nhiên e rằng code này sẽ không có tác dụng với hàm tự tạo. Bạn nên tạo 1 Sub chạy riêng thì tốt hơn
- Thứ 3: Code của bạn ngay cả bấm F9 nó cũng đâu có cập nhật gì. Để phím F9 có tác dụng ta phải thêm dòng Application.Volatile vào đầu code (dưới dòng On Error....)
Lúc xưa tôi viết code chèn hình bằng comment cũng phải F9 cập nhật chứ không có cách nào khác (bởi nó là Object, không phải giá trị trên bảng tính)
 
Lần chỉnh sửa cuối:
Cái này tùy quan điểm thôi, tôi không ép (nhưng nếu tôi tự viết thì tôi sẽ tính theo % của độ cao dòng). Nhưng theo quan điểm của tôi, thiết kế cái tiến độ thi công mà dòng cao dòng thấp thì tôi thấy nó xấu (kích thước phải đều từ trên xuống dưới, từ trái sang phải)
Lưu ý: Quan điểm cá nhân thôi nha! --=0 (tránh tranh luận vô ích)

- Thứ nhất: Bạn Dim cmt không có kiểu dữ liệu nên sẽ không có gợi ý các thuộc tính và phương thức. Phải Dim cmt as Comment mới đúng
- Thứ 2: Move And Size with cells thì:
Mã:
With cmt.Shape
  .Placement = xlMoveAndSize
   .....................
End With
Tuy nhiên e rằng code này sẽ không có tác dụng với hàm tự tạo. Bạn nên tạo 1 Sub chạy riêng thì tốt hơn
- Thứ 3: Code của bạn ngay cả bấm F9 nó cũng đâu có cập nhật gì. Để phím F9 có tác dụng ta phải thêm dòng Application.Volatile vào đầu code (dưới dòng On Error....)
Lúc xưa tôi viết code chèn hình bằng comment cũng phải F9 cập nhật chứ không có cách nào khác (bởi nó là Object, không phải giá trị trên bảng tính)
em cảm ơn thầy. em thấy dòng .Placement = xlMoveAndSize hình như không có tác dụng thì phải. chạy rồi mà vào format comment chả tích vào More and size with cells.
------------------------
ghi chữ [Tặng] cho đã, ai dè tặng đồ lỗi chưa hoàn chỉnh.
--=0-0-/.+-+-+-+
 
em cảm ơn thầy. em thấy dòng .Placement = xlMoveAndSize hình như không có tác dụng thì phải. chạy rồi mà vào format comment chả tích vào More and size with cells.

Thì tôi nói rồi mà. Không phải code nào cũng có thể nhét vào hàm tự tạo được đâu. Chuyện bình thường thôi!

ghi chữ [Tặng] cho đã, ai dè tặng đồ lỗi chưa hoàn chỉnh.
a01.gif
a05.gif
a43.gif
Hiếm thấy ai làm một phát mà không phát sinh lỗi. Từ từ sửa.
Nhưng tôi đánh giá cao về Ý TƯỞNG của bạn, bởi chưa chắc có ai nghĩ ra vụ này (dù thấy rồi thì tự mình làm vẫn được, quan trọng là ai nghĩ ra đầu tiên thôi)
 
Lần chỉnh sửa cuối:
Ngồi rảnh không biết làm gì, không biết đã có chưa hoặc có dư thừa không. ngồi viết hàm người dùng cho nó tự kẻ tiến độ thi công chơi. không cần phải gộp 3 dòng như thủ công trước kia, chỉ cần gõ công thức. click......click..... chọn vài cái là ra tiến độ thi công.
[Tham khảo nguồn]
bản nâng cấp:
tải tại đây
Vùng thể hiện Tiến độ có thể thay bằng bước bất kỳ được không bạn?
Ví dụ E6 là 01/09/2016 và F6 là 03/09/2016, các cột phía sau tăng theo cấp số cộng với công sai bất kỳ nguyên dương.
 
Vùng thể hiện Tiến độ có thể thay bằng bước bất kỳ được không bạn?
Ví dụ E6 là 01/09/2016 và F6 là 03/09/2016, các cột phía sau tăng theo cấp số cộng với công sai bất kỳ nguyên dương.
được bác. nhưng nếu vẽ tương tự như định dạng có điều kiện thì nó sẽ xấu và nhìn nó sai sai thế nào ấy. để suy nghĩ lại cách nó xác định điểm đầu điểm cuối rồi viết lại xem sao. có gì trong tối nay mình trả lời cho. để nghĩ cách tính toán lại.
 
Vùng thể hiện Tiến độ có thể thay bằng bước bất kỳ được không bạn?
Ví dụ E6 là 01/09/2016 và F6 là 03/09/2016, các cột phía sau tăng theo cấp số cộng với công sai bất kỳ nguyên dương.
xem ver2 tại bài 1 xem đúng ý không nhé bạn
---------------------------------------------------------------------------------------
đúng là quên mất cái khoản là nó nhảy ngày rồi ngày không có để dò tìm nữa.
nếu ngày thi công lớn hơn ngày cuối cùng thì vẽ sai nha. vì up file lên rồi nên chắc để chỉnh lại cho file sau (nếu ngày thi công lớn hơn ngày cuối thì lấy ngày cuối luôn + thêm các góp ý từ mọi người)
 
bản nâng cấp v2.1
+ chức năng: giống v2
+ thêm: chỉ 1 công thức có thể vẽ 1 loạt tiến độ
+ chỉnh sửa: một số lỗi tồn đọng tại v2, đường vẽ tiến độ không chuẩn xác.
xem nội dung tại #1
 
Ngồi rảnh không biết làm gì, không biết đã có chưa hoặc có dư thừa không. ngồi viết hàm người dùng cho nó tự kẻ tiến độ thi công chơi. không cần phải gộp 3 dòng như thủ công trước kia, chỉ cần gõ công thức. click......click..... chọn vài cái là ra tiến độ thi công.
[Tham khảo nguồn]
--------------------------------------------
file gốc:
tải tại đây
--------------------------------------------
bản nâng cấp v1:
+thêm chức năng cài đặt vẽ hoặc không vẽ tiến độ.
tải tại đây
--------------------------------------------
bản nâng cấp v2
+sửa chữa lại ngày thi công không liên tục, tức có bước nhảy giữa các ô ví dụ: 1/9/2016 -> 5/9/2016 -> 10/9/2016
+ngày được bắt đầu tính từ chính giữa ô giống project
+ nếu ngày kết thúc vượt quá ngày dò tìm thì sẽ vẽ đến ngày cuối cùng.
tải tại đây
bản nâng cấp v2.1
+ chức năng: giống v2
+ thêm: chỉ 1 công thức có thể vẽ 1 loạt tiến độ
+ chỉnh sửa: một số lỗi tồn đọng tại v2, đường vẽ tiến độ không chuẩn xác.
tải tại đây
Chương trình quá hay. Thanks nhé.
Bạn ơi cho mình hỏi sao bản V2.1 khi tải về công thức không hiểu ( nó còn đường dẫn của máy bạn thì phải).
Xem lại giúp nhé mình rất cần.
Thanks./.
 
Chương trình quá hay. Thanks nhé.
Bạn ơi cho mình hỏi sao bản V2.1 khi tải về công thức không hiểu ( nó còn đường dẫn của máy bạn thì phải).
Xem lại giúp nhé mình rất cần.
Thanks./.
đã sửa xong rồi bạn. bạn xem tại bài 1 nhé. có gì góp ý thêm giúp mình.
 
Web KT

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

Back
Top Bottom