Giúp em vẽ hình bằng excel với (1 người xem)

Liên hệ QC

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

Thầy ơi chỉ giùm em cách xây dựng 1 tiết diện trên excel mà khi thây đổi kích cở thì td thay đổi theo với thầy. boss lên 2 ngày rồi mà chưa thấy tl gì hết>>:)
 
Thầy ơi chỉ giùm em cách xây dựng 1 tiết diện trên excel mà khi thây đổi kích cở thì td thay đổi theo với thầy. boss lên 2 ngày rồi mà chưa thấy tl gì hết>>:)

Có phải hình của bạn luôn luôn là dạng chữ I như trong file không? Nếu đúng thể thì còn có thể làm được (bằng VBA)... Còn nếu có thêm những dạng hình nào khác, bạn vui lòng đưa lên đây 1 lượt đi
 
Hình này với hình chử I đấy thầy . Cảm ơn thầy nhiều.
 

File đính kèm

Chữ I cũng vẽ bằng đồ thị luôn, đã có bài viết nhưng link cũ tìm chưa ra.
 
Ọc. vậy thầy giúp em tiết diện chữ I đi , hình kia khỏi vậy.@@

Thử code vầy xem:
PHP:
Sub DrawI(ByVal Target As Range, ByVal dH As Double, ByVal dW As Double, _
          ByVal dThick1 As Double, ByVal dThick2 As Double)
  Dim shp1 As Shape, shp2 As Shape, shp3 As Shape
  Dim dTop1 As Double, dTop2 As Double, dTop3 As Double
  Dim dLeft1 As Double, dLeft2 As Double, dLeft3 As Double
  On Error Resume Next
  dTop1 = Target.Top: dLeft1 = Target.Left
  dTop2 = dTop1 + dThick1: dLeft2 = dLeft1 + dW / 2 - dThick2 / 2
  dTop3 = dTop1 + dH - dThick1: dLeft3 = dLeft1
  With Target.Parent
    .Shapes("tmpShape1").Delete
    .Shapes("tmpShape2").Delete
    .Shapes("tmpShape3").Delete
    Set shp1 = .Shapes.AddShape(1, dLeft1, dTop1, dW, dThick1)
    Set shp2 = .Shapes.AddShape(1, dLeft2, dTop2, dThick2, dH - 2 * dThick1)
    Set shp3 = .Shapes.AddShape(1, dLeft3, dTop3, dW, dThick1)
  End With
  shp1.Name = "tmpShape1"
  shp2.Name = "tmpShape2"
  shp3.Name = "tmpShape3"
End Sub
Mã:
Sub Main()
  Dim h As Double, a As Double, ts As Double, s As Double, [B][COLOR=#ff0000]ratio As Double[/COLOR][/B]
  Dim Target As Range
  Set Target = Range("B2")
  [COLOR=#ff0000][B]ratio = 1 / 3[/B][/COLOR]
  h = Range("G7").Value * ratio
  a = Range("G6").Value * ratio
  ts = Range("G8").Value * ratio
  s = Range("G9").Value * ratio
  DrawI Target, h, a, ts, s
End Sub
Cho các code trên vào 1 Module, xong chạy sub Main là được rồi
Chú ý: Biến ratio là tỉ lệ, muốn phóng to hay thu nhỏ, hãy chỉnh lại giá trị của biến này nhé
 

File đính kèm

Web KT

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

Back
Top Bottom