Hộp rút VBA có mã
Có nhiều lý do khiến bạn muốn có thể vẽ các hộp theo chương trình, một biểu đồ gantt tự động sẽ rất tuyệt phải không? Đây là một cách để làm điều đó.
Đây là mã cơ bản để vẽ một hộp:
12345678910 | ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12,75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Vosystem = msoTrue |
Nó thực sự không phải là khó khăn, chỉ có hai điều đáng chú ý để xem xét; Schemecolor rõ ràng là màu và 0,0,48,12,75.
Vậy 0,0,48,12,75 là bao nhiêu? Chỉ đơn giản là Vị trí bên trái, Vị trí trên cùng, Chiều rộng và Chiều cao. Bạn có thể điều chỉnh các tùy chọn này theo cách bạn muốn, điều chỉnh hai tùy chọn đầu tiên để thay đổi vị trí các hộp trên màn hình và hai điều chỉnh sau để thay đổi kích thước của hộp. Tôi đã sử dụng các kích thước này vì chúng đã đoán giỏi trong việc tạo ra một hộp có cùng kích thước với một ô.
Và đây là đoạn mã được sử dụng để vẽ động các ô màu xanh lá cây trong hình trên:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | Hộp động phụ ()Dim x As Double'Điều này làm cho các hộp nằm ngangĐối với x = 0 đến 240 Bước 48'tham chiếu đến 4 số bên trái, trên cùng, chiều rộng, chiều caoActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12,75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Vosystem = msoTrueTiếp theo x'Điều này làm cho các hộp dọcĐối với x = 0 đến 127,5 Bước 12,75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12,75).Selection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Vosystem = msoTrueTiếp theo xKết thúc Sub |