TÓM TẮT
- 1 Mở Đầu
- 2 1. Excel Có Thể Vẽ Thép Được? Giải Thích Cơ Bản
- 3 2. Chuẩn Bị Môi Trường Và Dữ Liệu Đầu Vào
- 4 3. Sử Dụng Các Công Cụ Vẽ Hình Cơ Bản Trên Excel
- 5 4. Tạo Mẫu Hình Thép Tiêu Chuẩn
- 6 5. Xây Dựng Bản Vẽ Kết Cấu Thép Đơn Giản
- 7 6. Tự Động Hóa Quá Trình Vẽ Bằng VBA
- 8 7. Tối Ưu Hóa Bản Vẽ
- 9 8. Xuất Bản Vẽ
- 10 9. Một Số Lưu Ý Và Mẹo Hay
- 11 10. Kết Luận
Mở Đầu
Trong thời đại số hoá, việc sử dụng các công cụ văn phòng để thực hiện các công việc kỹ thuật, thiết kế và mô phỏng ngày càng trở nên phổ biến. Microsoft Excel, một trong những phần mềm bảng tính mạnh mẽ nhất, không chỉ dùng để tính toán, quản lý dữ liệu mà còn có khả năng vẽ các biểu đồ, đồ thị và thậm chí là mô phỏng các cấu trúc kỹ thuật như dầm thép, khung nhà, hệ thống ống nước, v.v.
Bài viết này sẽ tập trung vào cách vẽ thép trên Excel, một kỹ năng hữu ích cho các kỹ sư, kiến trúc sư, sinh viên ngành xây dựng, cũng như những người làm việc trong lĩnh vực thiết kế kết cấu. Chúng ta sẽ đi từ các khái niệm cơ bản, chuẩn bị dữ liệu, tạo các hình dạng cơ bản, cho tới việc xây dựng một bản vẽ thép chi tiết, bao gồm các thành phần như dầm, cột, móc, mối hàn và chú giải.
Bài viết được chia thành các phần sau:
- Giới thiệu tổng quan về khả năng vẽ trên Excel.
- Chuẩn bị môi trường và dữ liệu đầu vào.
- Sử dụng các công cụ vẽ hình cơ bản (đường thẳng, hình chữ nhật, đa giác, v.v.).
- Tạo mẫu hình thép tiêu chuẩn (I-beam, H-beam, ống tròn, ống vuông).
- Xây dựng bản vẽ kết cấu thép đơn giản (cột + dầm).
- Thêm các chi tiết phụ: móc, mối hàn, gắn kết, ký hiệu.
- Sử dụng công thức và VBA để tự động hoá quá trình vẽ.
- Tối ưu hoá bản vẽ: định dạng, màu sắc, lớp, chú giải.
- Xuất bản vẽ ra PDF hoặc in ra bản vẽ kỹ thuật.
- Một số lưu ý và mẹo hay khi làm việc với Excel trong lĩnh vực vẽ thép.
Hãy cùng nhau khám phá chi tiết từng bước để biến Excel thành một công cụ hỗ trợ vẽ thép hiệu quả và chuyên nghiệp.
1. Excel Có Thể Vẽ Thép Được? Giải Thích Cơ Bản
1.1. Excel không chỉ là bảng tính
Mặc dù Excel được biết đến nhiều nhất như một công cụ tính toán và phân tích dữ liệu, nhưng thực chất nó còn là một trình vẽ đồ họa vector dựa trên các đối tượng hình dạng (Shapes). Các shape này có thể được tạo, di chuyển, thay đổi kích thước, xoay và gắn kết với nhau bằng công thức hoặc macro VBA. Khi kết hợp với tính năng Chart (đồ thị) và Conditional Formatting (định dạng có điều kiện), Excel có thể mô phỏng rất nhiều loại hình ảnh kỹ thuật.
1.2. Lợi ích khi dùng Excel để vẽ thép
- Tiết kiệm chi phí: Không cần mua phần mềm CAD đắt tiền như AutoCAD, SolidWorks.
- Dễ học: Hầu hết người dùng đã quen với giao diện Excel.
- Tích hợp tính toán: Các kích thước, lực, mô-men có thể tự động tính toán trong cùng một file.
- Chia sẻ nhanh: File Excel có thể mở trên hầu hết các máy tính, không cần cài đặt phần mềm đặc biệt.
1.3. Hạn chế cần nhận thức
- Độ chính xác: Excel không được thiết kế cho thiết kế chi tiết tới milimet.
- Khó quản lý dự án lớn: Khi bản vẽ phức tạp, việc quản lý shape sẽ trở nên rối.
- Không có chuẩn DWG/DXF: Để chuyển sang CAD, cần xuất ra PDF hoặc hình ảnh, hoặc dùng VBA để tạo file DXF (phức tạp).
Những hạn chế này không làm giảm giá trị của Excel trong các công việc đánh giá sơ bộ, bản vẽ khái niệm, báo cáo kỹ thuật.
2. Chuẩn Bị Môi Trường Và Dữ Liệu Đầu Vào

Có thể bạn quan tâm: Cách Vẽ Thép Trong Revit: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2.1. Cài đặt Excel
- Sử dụng Microsoft Excel 2026 trở lên (Office 365, 2026, 2026).
- Đảm bảo bật Tab Developer (để có VBA). Các bước:
File → Options → Customize Ribbon → tick Developer.
2.2. Tạo một Workbook mới
- Mở Excel, tạo một workbook trống.
- Đặt tên sheet là “VẽThép” để dễ quản lý.
- Đặt đơn vị đo (mm, cm, inch) trong ô A1, ví dụ:
Đơn vị: mm.
2.3. Xây dựng bảng dữ liệu kích thước
Trong cột A và B, tạo bảng thông tin các thành phần thép:
| A | B | C | D |
|---|---|---|---|
| Thành phần | Kích thước | Mô tả | Ghi chú |
| Dầm I-beam | 200×100×10×6 | Dầm I 200mm chiều rộng, 100mm chiều cao, dày bề mặt 10mm, cánh 6mm | |
| Cột H-beam | 300×150×12×8 | Cột H 300×150, dày 12mm, cánh 8mm | |
| Ống tròn | Ø100×6 | Đường kính 100mm, dày tường 6mm | |
| Móc | Ø20×30 | Móc tròn, đường kính 20mm, chiều dài 30mm |
Lưu ý: Đơn vị được thống nhất (mm trong ví dụ). Khi vẽ, chúng ta sẽ chuyển đổi sang pixel hoặc points dựa trên tỷ lệ (1 point ≈ 0.3528 mm).
2.4. Xác định tỷ lệ vẽ
Vì Excel không có hệ thống tỷ lệ tự động, chúng ta cần quyết định tỷ lệ 1:xx. Ví dụ, nếu muốn 1 mm = 0.5 point (khoảng 0.18 mm), thì tỷ lệ vẽ là 1:2 (2 mm trên giấy = 1 mm trên Excel).
Công thức chuyển đổi:
Pixel = (Kích thước(mm) DPI) / 25.4
hoặc
Point = Kích thước(mm) 72 / 25.4 ≈ Kích thước(mm) 2.8346
Trong Excel, các shape được đo bằng points. Vì vậy, chúng ta sẽ dùng công thức Point = mm 2.8346 Scale, trong đó Scale là tỷ lệ thu phóng (ví dụ 0.5).
Bạn có thể tạo một ô (ví dụ B2) để nhập tỷ lệ (Scale). Sau đó, trong các công thức tính kích thước shape, dùng tham chiếu tới ô này.
3. Sử Dụng Các Công Cụ Vẽ Hình Cơ Bản Trên Excel
3.1. Vẽ đường thẳng (Line)
- Cách thủ công: Vào
Insert → Shapes → Line. Kéo chuột để tạo đường thẳng. - Cách tự động (VBA):
Sub VeDuongThang(x1 As Double, y1 As Double, x2 As Double, y2 As Double) Dim sh As Shape Set sh = ActiveSheet.Shapes.AddLine(x1, y1, x2, y2) With sh.Line .Weight = 1.5 .ForeColor.RGB = RGB(0, 0, 0) End With
End Sub
Gọi hàm: VeDuongThang 100, 100, 300, 100 sẽ tạo một đoạn thẳng ngang dài 200 points.
3.2. Vẽ hình chữ nhật (Rectangle)

Có thể bạn quan tâm: Cách Vẽ Thép Trong Excel: Hướng Dẫn Chi Tiết Từ A Đến Z
- Thủ công:
Insert → Shapes → Rectangle. - VBA:
Sub VeHinhChuNhat(left As Double, top As Double, width As Double, height As Double) Dim sh As Shape Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, left, top, width, height) With sh .Line.Weight = 1 .Line.ForeColor.RGB = RGB(0, 0, 0) .Fill.Visible = msoFalse End With
End Sub
3.3. Vẽ đa giác (Polygon) – Dùng cho cánh dầm I-beam
Excel không có shape đa giác sẵn, nhưng chúng ta có thể dùng Freeform hoặc Polygon thông qua VBA:
Sub VeDaGon(PointsArray As Variant) Dim sh As Shape Set sh = ActiveSheet.Shapes.AddPolyline(PointsArray) With sh.Line .Weight = 1 .ForeColor.RGB = RGB(0, 0, 0) End With sh.Fill.Visible = msoFalse
End Sub
PointsArray là một mảng một chiều chứa các cặp (x, y) liên tiếp, ví dụ Array(100,100, 150,100, 150,120, 100,120, 100,100).
3.4. Vẽ vòng tròn (Oval) – Dùng cho ống tròn, móc
Sub VeVongTron(left As Double, top As Double, diameter As Double) Dim sh As Shape Set sh = ActiveSheet.Shapes.AddShape(msoShapeOval, left, top, diameter, diameter) With sh.Line .Weight = 1 .ForeColor.RGB = RGB(0, 0, 0) End With sh.Fill.Visible = msoFalse
End Sub
3.5. Gắn nhãn (TextBox)
Sub VeNha(txt As String, left As Double, top As Double) Dim sh As Shape Set sh = ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, left, top, 50, 20) sh.TextFrame.Characters.Text = txt sh.Line.Visible = msoFalse sh.Fill.Visible = msoFalse
End Sub
4. Tạo Mẫu Hình Thép Tiêu Chuẩn
4.1. I-beam (Dầm I)
Một I-beam bao gồm:
- Flange (cánh): Hai thanh ngang trên và dưới.
- Web (thân): Thanh đứng nối cánh.
Giả sử kích thước I-beam: B × H × t_f × t_w (bề rộng cánh, chiều cao tổng, dày cánh, dày thân).
Bước 1: Tính kích thước các phần bằng công thức Excel (ô C2, D2,…).
B = 200 // mm
H = 100
t_f = 10
t_w = 6
Scale = $B$2 // ví dụ 0.5
Bước 2: Chuyển sang points:
B_pt = B 2.8346 Scale
H_pt = H 2.8346 Scale
t_f_pt = t_f 2.8346 Scale
t_w_pt = t_w 2.8346 Scale
Bước 3: Vẽ bằng VBA:
Sub VeIBeam(left As Double, top As Double, B As Double, H As Double, tf As Double, tw As Double) Dim sh As Shape 'Flange trên Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, left, top, B, tf) sh.Line.Weight = 1: sh.Fill.Visible = msoFalse 'Flange dưới Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, left, top + H - tf, B, tf) sh.Line.Weight = 1: sh.Fill.Visible = msoFalse 'Web Dim webLeft As Double webLeft = left + (B - tw) / 2 Set sh = ActiveSheet.Shapes.AddShape(msoShapeRectangle, webLeft, top + tf, tw, H - 2 tf) sh.Line.Weight = 1: sh.Fill.Visible = msoFalse
End Sub
Gọi: VeIBeam 100, 50, B_pt, H_pt, tf_pt, tw_pt.
4.2. H-beam (Cột H)
H-beam tương tự I-beam nhưng cánh rộng hơn. Thực hiện như trên, chỉ thay đổi B thành B_H.
4.3. Ống tròn (Pipe)
Sử dụng AddShape với msoShapeOval. Độ dày tường được thể hiện bằng hai vòng tròn: vòng ngoài và vòng trong, hoặc vẽ một vòng tròn và dùng Line.Weight để mô phỏng độ dày (không chính xác). Đối với độ chính xác, vẽ hai hình oval:
Sub VeOngTron(left As Double, top As Double, D As Double, t As Double) Dim outerR As Double, innerR As Double outerR = D / 2 innerR = outerR - t 'Vòng ngoài Call VeVongTron(left, top, D) 'Vòng trong (được tạo bằng shape rectangle và set as hole? hoặc dùng line) 'Đơn giản: vẽ một vòng tròn màu trắng trên nền Dim sh As Shape Set sh = ActiveSheet.Shapes.AddShape(msoShapeOval, left + t, top + t, D - 2 t, D - 2 t) sh.Line.Weight = 1 sh.Fill.Visible = msoFalse
End Sub
4.4. Móc (Hook)
Móc thường là một đoạn tròn + đoạn thẳng. Vẽ bằng Freeform:
Sub VeMoc(left As Double, top As Double, diam As Double, length As Double) Dim pts(1 To 8) As Double 'Bán kính Dim r As Double: r = diam / 2 ' Điểm đầu vòng tròn (giả sử bắt đầu từ góc trái) pts(0) = left + r: pts(1) = top pts(2) = left + r: pts(3) = top + diam pts(4) = left + r + length: pts(5) = top + diam pts(6) = left + r + length: pts(7) = top Call VeDaGon(pts)
End Sub
5. Xây Dựng Bản Vẽ Kết Cấu Thép Đơn Giản

Có thể bạn quan tâm: Cách Vẽ Thép Cột Nhà Chuẩn Chuẩn – Hướng Dẫn Chi Tiết Từ A Đến Z
5.1. Bố trí khung tổng thể
Giả sử chúng ta muốn vẽ một khung 2D gồm:
- 2 cột H-beam (độ cao 3000 mm).
- 1 dầm I-beam (độ dài 6000 mm) nối giữa hai cột.
Bước 1: Xác định vị trí gốc (origin)
- Đặt gốc (0,0) tại góc dưới bên trái của khung.
- Trong Excel, gốc thường là ô A1, nhưng shape có vị trí tính bằng points từ góc trái trên của sheet. Để đồng nhất, chúng ta đặt offsetX và offsetY (ví dụ 50 points) để tạo lề.
Bước 2: Tính toán tọa độ
| Thành phần | X (mm) | Y (mm) | X_pt | Y_pt |
|---|---|---|---|---|
| Cột trái | 0 | 0 | offsetX | offsetY + (Chiều cao khung – chiều cao cột) |
| Cột phải | 6000 | 0 | offsetX + 6000scale | offsetY + (Chiều cao khung – chiều cao cột) |
| Dầm | 0 | 3000 | offsetX | offsetY |
Lưu ý: Y trong Excel tăng xuống dưới, vì vậy cần đảo ngược nếu cần.
Bước 3: Vẽ các thành phần
Sub VeKhung() Dim scale As Double: scale = Range("B2").Value 'Scale từ ô B2 Dim offX As Double: offX = 50 Dim offY As Double: offY = 400 'đặt lề trên 'Kích thước cột H-beam Dim Bc As Double, Hc As Double, tfc As Double, twc As Double Bc = 300: Hc = 3000: tfc = 12: twc = 8 'Chuyển sang point Dim Bc_pt, Hc_pt, tfc_pt, twc_pt As Double Bc_pt = Bc 2.8346 scale Hc_pt = Hc 2.8346 scale tfc_pt = tfc 2.8346 scale twc_pt = twc 2.8346 scale 'Vẽ cột trái Call VeHBeam(offX, offY + (6000 2.8346 scale - Hc_pt), Bc_pt, Hc_pt, tfc_pt, twc_pt) 'Vẽ cột phải (dịch X) Dim offX2 As Double offX2 = offX + 6000 2.8346 scale Call VeHBeam(offX2, offY + (6000 2.8346 scale - Hc_pt), Bc_pt, Hc_pt, tfc_pt, twc_pt) 'Vẽ dầm I-beam Dim Bd As Double, Hd As Double, tfd As Double, twd As Double Bd = 200: Hd = 100: tfd = 10: twd = 6 Dim Bd_pt, Hd_pt, tfd_pt, twd_pt As Double Bd_pt = Bd 2.8346 scale Hd_pt = Hd 2.8346 scale tfd_pt = tfd 2.8346 scale twd_pt = twd 2.8346 scale 'Dầm nằm ngang, vị trí Y = offY + (Chiều cao khung - Hc) Dim damY As Double damY = offY + (6000 2.8346 scale - Hc_pt) 'đặt trên đầu cột Call VeIBeam(offX, damY, Bd_pt, Hd_pt, tfd_pt, twd_pt)
End Sub
Sau khi chạy VeKhung, bạn sẽ có khung 2D đơn giản gồm 2 cột và 1 dầm.
5.2. Thêm các chi tiết phụ
5.2.1. Móc treo dầm
Giả sử dầm được treo bằng móc Ø20×30 ở mỗi đầu. Tính vị trí:
- Móc trái: X = offX + (B_cột/2) – (đường kính móc/2)
- Móc phải: X = offX2 + (B_cột/2) – (đường kính móc/2)
Sub VeMoCTrenDam() Dim diam As Double: diam = 20 Dim len As Double: len = 30 Dim diam_pt As Double, len_pt As Double diam_pt = diam 2.8346 scale len_pt = len 2.8346 scale 'Móc trái Dim xLeft As Double: xLeft = offX + (Bc_pt / 2) - (diam_pt / 2) Dim yLeft As Double: yLeft = damY - len_pt 'móc treo lên trên dầm Call VeMoc(xLeft, yLeft, diam_pt, len_pt) 'Móc phải Dim xRight As Double: xRight = offX2 + (Bc_pt / 2) - (diam_pt / 2) Dim yRight As Double: yRight = damY - len_pt Call VeMoc(xRight, yRight, diam_pt, len_pt)
End Sub
5.2.2. Gắn nhãn và ký hiệu
Sử dụng hàm VeNha để đặt ký hiệu như C1, C2, D1.
Sub VeNhaKieu() Call VeNha("C1", offX, offY + (6000 2.8346 scale - Hc_pt) - 20) Call VeNha("C2", offX2, offY + (6000 2.8346 scale - Hc_pt) - 20) Call VeNha("D1", offX + (6000 2.8346 scale) / 2 - 10, damY - 30)
End Sub
6. Tự Động Hóa Quá Trình Vẽ Bằng VBA
6.1. Thiết Kế Giao Diện Nhập Dữ Liệu
- Tạo một UserForm có các textbox cho:
- Độ dài dầm (mm)
- Chiều cao cột (mm)
- Kích thước I-beam (B, H, tf, tw)
- Kích thước H-beam (B, H, tf, tw)
-
Tỷ lệ (scale)
-
Khi người dùng nhấn OK, macro sẽ đọc giá trị, tính toán và gọi các hàm vẽ đã viết.
6.2. Ví dụ mã UserForm
Private Sub btnOK_Click() Dim LenDam As Double, Hcot As Double Dim B_I As Double, H_I As Double, tf_I As Double, tw_I As Double Dim B_H As Double, H_H As Double, tf_H As Double, tw_H As Double Dim Scale As Double LenDam = CDbl(Me.txtLenDam.Text) Hcot = CDbl(Me.txtHcot.Text) B_I = CDbl(Me.txtBI.Text) : H_I = CDbl(Me.txtHI.Text) tf_I = CDbl(Me.txtTFI.Text) : tw_I = CDbl(Me.txtTWI.Text) B_H = CDbl(Me.txtBH.Text) : H_H = CDbl(Me.txtHH.Text) tf_H = CDbl(Me.txtTFH.Text) : tw_H = CDbl(Me.txtTWH.Text) Scale = CDbl(Me.txtScale.Text) 'Gán vào sheet để các hàm khác dùng With Worksheets("VẽThép") .Range("B5").Value = LenDam .Range("B6").Value = Hcot .Range("B7").Value = B_I .Range("B8").Value = H_I .Range("B9").Value = tf_I .Range("B10").Value = tw_I .Range("B11").Value = B_H .Range("B12").Value = H_H .Range("B13").Value = tf_H .Range("B14").Value = tw_H .Range("B2").Value = Scale End With Call VeKhungTuDuLieu Unload Me
End Sub
6.3. Hàm VeKhungTuDuLieu
Sub VeKhungTuDuLieu() Dim ws As Worksheet: Set ws = Worksheets("VẽThép") Dim scale As Double: scale = ws.Range("B2").Value Dim LenDam As Double: LenDam = ws.Range("B5").Value Dim Hcot As Double: Hcot = ws.Range("B6").Value 'Lấy kích thước I-beam Dim B_I As Double, H_I As Double, tf_I As Double, tw_I As Double B_I = ws.Range("B7").Value: H_I = ws.Range("B8").Value tf_I = ws.Range("B9").Value: tw_I = ws.Range("B10").Value 'Lấy kích thước H-beam Dim B_H As Double, H_H As Double, tf_H As Double, tw_H As Double B_H = ws.Range("B11").Value: H_H = ws.Range("B12").Value tf_H = ws.Range("B13").Value: tw_H = ws.Range("B14").Value 'Chuyển đổi sang points Dim B_I_pt As Double, H_I_pt As Double, tf_I_pt As Double, tw_I_pt As Double B_I_pt = B_I 2.8346 scale H_I_pt = H_I 2.8346 scale tf_I_pt = tf_I 2.8346 scale tw_I_pt = tw_I 2.8346 scale Dim B_H_pt As Double, H_H_pt As Double, tf_H_pt As Double, tw_H_pt As Double B_H_pt = B_H 2.8346 scale H_H_pt = H_H 2.8346 scale tf_H_pt = tf_H 2.8346 scale tw_H_pt = tw_H 2.8346 scale 'Đặt offset Dim offX As Double: offX = 50 Dim offY As Double: offY = 400 'Vẽ cột trái và phải Call VeHBeam(offX, offY + (LenDam 2.8346 scale - H_H_pt), B_H_pt, H_H_pt, tf_H_pt, tw_H_pt) Call VeHBeam(offX + LenDam 2.8346 scale, offY + (LenDam 2.8346 scale - H_H_pt), B_H_pt, H_H_pt, tf_H_pt, tw_H_pt) 'Vẽ dầm Dim damY As Double damY = offY + (LenDam 2.8346 scale - H_H_pt) 'đặt lên đầu cột Call VeIBeam(offX, damY, B_I_pt, H_I_pt, tf_I_pt, tw_I_pt) 'Thêm mô tả Call VeNha("C1", offX, offY + (LenDam 2.8346 scale - H_H_pt) - 20) Call VeNha("C2", offX + LenDam 2.8346 scale, offY + (LenDam 2.8346 scale - H_H_pt) - 20) Call VeNha("D1", offX + LenDam 2.8346 scale / 2 - 10, damY - 30)
End Sub
Sau khi chạy UserForm, toàn bộ bản vẽ sẽ được tạo tự động dựa trên dữ liệu nhập.
7. Tối Ưu Hóa Bản Vẽ
7.1. Định dạng màu sắc và độ dày đường
- Đường viền: Đặt
.Line.Weight = 1.5cho các thành phần chính. - Màu: Sử dụng
RGB(0,0,0)cho đen, hoặcRGB(0,102,204)cho màu xanh kỹ thuật.
With sh.Line .Weight = 1.5 .ForeColor.RGB = RGB(0, 102, 204)
End With
7.2. Nhóm các shape
Để dễ di chuyển toàn bộ khung, nhóm các shape lại:
Sub NhomTatCa() Dim shColl As ShapeRange Set shColl = ActiveSheet.Shapes.Range(Array("Shape 1", "Shape 2", "Shape 3")) 'tên thực tế shColl.Group
End Sub
Bạn có thể đặt Tên cho mỗi shape khi tạo (sh.Name = "CộtTrái"), sau đó dùng mảng tên để nhóm.
7.3. Thêm lớp (Layer) giả lập
Excel không hỗ trợ layer, nhưng bạn có thể đặt ZOrder để xác định thứ tự hiển thị:
sh.ZOrder msoSendToBack 'đặt vào nền
sh.ZOrder msoBringToFront 'đặt lên trên
7.4. Chú giải và bảng ký hiệu

Có thể bạn quan tâm: Cách Vẽ Thân Máy Solidworks: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
-
Tạo một textbox ở góc phải hoặc dưới bản vẽ, liệt kê các ký hiệu:
C1 – Cột trái C2 – Cột phải D1 – Dầm chính M1, M2 – Móc treo -
Sử dụng Conditional Formatting để tự động thay đổi màu khi giá trị trong bảng dữ liệu thay đổi (ví dụ, nếu tải trọng > giới hạn, tô đỏ).
8. Xuất Bản Vẽ
8.1. Xuất ra PDF
Sub XuatPDF() Dim ws As Worksheet Set ws = Worksheets("VẽThép") ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\BanVe_Thep.pdf", _ Quality:=xlQualityStandard, IncludeDocProperties:=True, _ IgnorePrintAreas:=False, OpenAfterPublish:=True
End Sub
8.2. Lưu dưới dạng hình ảnh (PNG)
Sub LuuAnh() Dim rng As Range Set rng = Worksheets("VẽThép").UsedRange rng.CopyPicture Appearance:=xlScreen, Format:=xlPicture Dim cht As ChartObject Set cht = Worksheets("VẽThép").ChartObjects.Add(Left:=rng.Left, Top:=rng.Top, Width:=rng.Width, Height:=rng.Height) cht.Chart.Paste cht.Chart.Export Filename:=ThisWorkbook.Path & "\BanVe_Thep.png", FilterName:="PNG" cht.Delete
End Sub
9. Một Số Lưu Ý Và Mẹo Hay
- Giữ bảng dữ liệu sạch: Đặt các giá trị trong một bảng riêng, tránh thay đổi trực tiếp trên sheet vẽ để không làm hỏng shape.
- Sử dụng tên shape: Khi tạo shape, đặt tên có ý nghĩa (
sh.Name = "CộtTrái"). Giúp tìm, nhóm, chỉnh sửa nhanh. - Kiểm tra tỷ lệ: Nếu bản vẽ quá lớn, Excel có thể cắt bớt khi in. Kiểm tra
Page Layout → Scale to Fit. - Sao lưu macro: Khi làm việc với VBA, luôn lưu file dưới dạng .xlsm để giữ macro.
- Sử dụng
Application.ScreenUpdating = Falsetrong các macro lớn để tăng tốc. - Nếu cần độ chính xác hơn, cân nhắc xuất dữ liệu sang phần mềm CAD bằng cách tạo file DXF qua VBA (có thư viện bên thứ ba).
10. Kết Luận
Việc vẽ thép trên Excel không chỉ là một kỹ năng “độc đáo” mà còn là một giải pháp thực tế cho những ai cần bản vẽ nhanh, tích hợp tính toán và chi phí thấp. Bằng cách tận dụng các công cụ shape, công thức tính toán và khả năng tự động hoá của VBA, chúng ta có thể:
- Tạo các mẫu thép tiêu chuẩn (I‑beam, H‑beam, ống).
- Xây dựng các khung kết cấu đơn giản hoặc trung cấp.
- Thêm chi tiết phụ (móc, hàn, ký hiệu) và chú giải.
- Tự động hoá toàn bộ quy trình từ nhập dữ liệu tới xuất PDF/PNG.
Mặc dù Excel không thay thế hoàn toàn các phần mềm CAD chuyên nghiệp, nhưng với độ linh hoạt, khả năng tính toán nội bộ và chi phí không đáng kể, nó là một công cụ hỗ trợ mạnh mẽ cho kỹ sư, nhà thiết kế và sinh viên trong giai đoạn sơ khởi hoặc khi cần tạo báo cáo kỹ thuật kèm bản vẽ.
Hy vọng bài viết trên đã cung cấp đầy đủ kiến thức và các bước thực hành chi tiết để bạn có thể tự tin vẽ thép trên Excel, từ những bản vẽ đơn giản cho tới những mô hình phức tạp hơn bằng cách mở rộng các hàm và logic VBA. Hãy thử nghiệm, tùy biến và chia sẻ những cải tiến của mình – vì Excel luôn có tiềm năng vô hạn khi được khai thác đúng cách!
