Thông báo

Collapse
No announcement yet.

Mỗi tuần một hàm trong Excel!

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • CNPM
    replied
    Mã nguồn mở

    Cuộc thi TTVN đã có rất nhiều bài viết các bạn có thể đọc tại đây để biết thêm chi tiết.

    Vấn đề này thật bức thiết đố với những nhà lập trình tin học. Mời kích vào mục sau để xim thêm chi tiết.
    >>> mục 1
    >>> Mục 2
    >>> Mục 3
    kích vào đây để đọc bài trả lời


    Cám ơn bác Thuật đã quan tâm. Tôi nghĩ các bạn muốn biết nhiều về VBA trong Excel và trong Autocad thì việc đầu tiên các bạn phải có kiến thức cơ bản về "toán học rời rạc". Một môn cực kỳ khô khan nhưng tất có ích cho việc lập trình. thứ hai, Vì là VBA nên muốn học nó bạn phải biết sơ qua về lập trình VB, nếu biết sâu thì càng tốt. Biết được hai thứ đó thì việc lập trình của bạn đối với VBA thật là đơn giản. Bạn chỉ cần đọc help trong một tuần là có thể làm được những gì bạn muốn. Bạn có thể down bản mã nguồn mở TCVN3.0 do thầy Hoàng Chính Nhân - bộ môn công nghệ phần mềm - trường ĐHXD cùng với một số học trò của thầy viết do đồng nghiệp của tôi post lên trong mục BTCT của ketcau.com để tham khảo. khi đọc tất cả những thứ đó cộng với việc đọc các bài viết trong mục này, làm vài ba hàm nhỏ là bạn sẽ vững tay ngay thôi. Công việc thật là đơn giản.

    Nhân đây cũng thay mặt thầy Hòa cảm ơn bác Thuật đã hỏi thăm sức khoẻ thầy Hòa. Thầy hiện nay vẫn khoẻ và rất nhàn, cuộc sống cực kỳ thanh bạch. Thầy thường xuyên lên bộ môn chơi với các bạn trẻ. Có bài nào hay trong diễn đàn tôi đều đọc cho thầy nghe. Tôi sẽ chuyển lời hỏi thăm của bác đến Thầy.

    Góp ý cùng PMXD.
    CNPM sắp tới không thể tham gia diễn đàn thường xuyên được, có lẽ phải hai tháng nữa. Do vậy xin góp ý cùng PMXD về mục "Mỗi tuần post một hàm excel" như sau :

    1. Nhiều bạn đọc sẽ không hiểu được ý nghĩa của các hàm mình post. đơn cử như hàm UBound và LBound, và hàm cuont (của tôi). Tôi dám chắc rằng ít ai hiểu hết ít nghĩa và mối liên quan gữa 3 hàm này. Do vậy sau mỗi hàm bác nên có vài dòng giải thích về Hàm trong bài post của mình. Mà theo tôi cái này cực kỳ quan trọng.

    2. Nhìn mấy bài bác post tôi cũng thấy hoa mắt. Vậy nên chăng có cách nào đó giúp người đọc dễ tiếp cận hơn. Cái này tùy bác thôi. Tôi bé tuổi nên không dám góp ý (hê hê).

    Chúc vui vẻ.
    __________________
    CNPM

    Leave a comment:


  • Thuatdv
    replied
    Nên khuyến khích share và sử dụng những mã nguồn của những chương trình cơ bản

    Bạn PMXD và cả CNPM mỗi tuần duy trì post được một hàm trong Excel cho anh em sử dụng như vậy thì quá tốt còn gì! Tôi nghĩ nhiều người đang học và sử dụng nó sẽ thấy rất có ích? Chỉ mất vài phút copy mà có được luôn cả code và hướng dẫn sử dụng thì còn gì tốt bằng! Tôi thì thú thực là cũng chưa có nhu cầu để sử dụng VBA, nhưng hy vọng khi nào cần đến sẽ cậy nhờ đến các bạn!!!

    Hồi ở VN tôi lại hay dùng Fortran, mà lúc mới bắt đầu học thì cũng phải "cơm nắm" đi theo Thầy Hoà để học đấy! Theo tôi được biết thì hồi đó Thầy Hòa là người rất siêu về cái món này! Không biết tình hình sức khoẻ của Thầy bây giờ như thế nào rồi? Nói chung cũng mất khá nhiều công sức... để thuê máy vi tính đen trắng của trung tâm tin học và mua một đống ổ đĩa A để lưu dữ liệu (vì máy hồi đó không có ổ cứng)!!! Nhiều hôm khi bước chân vào phòng máy thì trời vẫn còn nắng chang chang, nhưng khi chui ra khỏi phòng thì trời đã tối om, thấy hoa hết cả mắt mũi! Lọ mọ như vậy sau khỏang một thời gian cũng làm xong được cái chương trình tính toán nội lực cho kết cấu khung phẳng bằng phương pháp PTHH, run được ra kết quả hẳn hoi đấy! Nghĩ lại hồi còn trẻ thấy làm việc hăng thế, chẳng kể gì đến công sức bỏ ra gì cả!!!

    Tôi nghĩ là chúng ta nên khuyến khích để mọi người share cho nhau sử dụng những mã nguồn sources của những chương trình tính toán cơ bản. Làm được như vậy sẽ tiết kiệm được khá nhiều thời gian, vì những người đi sau nếu có ý tưởng gì mới thì chỉ cần viết thêm một chút là được, thay vì phải viết lại toàn bộ chương trình? Ở nước ngoài họ cũng đang phổ biến làm như vậy. Nhưng có điều là nếu người nào sử dụng phần mã nguồn mở nào thì phải ghi rõ ràng nguồn gốc của nó là từ đâu và phần mình làm được là gi, chứ không nên để xảy ra tình trạng kiện cáo như thế này mệt lắm!!!
    http://www.petitiononline.com/01122004/petition.html

    Leave a comment:


  • PMXD
    replied
    Ham Excel thu 3

    Chào các bạn!
    Tôi đã viết một hàm mới trong Excel gửi cho các bạn từ hôm thứ 4, sau khi gởi, tôi quê không kiểm tra lại, vậy mà không hiểu sao chẳng thấy show lên đây. Anh Huy xem giúp lại nhé!

    Hôm nay tôi sẽ gởi cho các bạn hàm tính cốt thép trong dầm BTCT tiết diện chữ nhật

    1- Tên hàm: Fadam
    2- Các tham số trong hàm
    b :Bề rộng tiết diện (m)
    h :Chiều cao tiết diện (m)
    M : Mô men uốn (Kgm)
    MBT: Mác bê tông (măc định là 300)
    LCT :Loại cốt thép (mặc định là AII)
    3- Các hàm phụ trợ
    Hàm BeTong: Tính toán các thông số của bê tông
    Hàm CotThep: Tính toán các thông số của cốt thép
    4- Nôi dung chính của hàm
    '=====================================================
    Function FaDam(ByVal b As Double, ByVal h As Double, ByVal M As Double, Optional MBT = 300, Optional LCT = "AII")
    Dim Rn As Double, Rk As Double, Eb As Double
    Dim Ra As Double, Rad As Double, Ea As Double

    Dim i As Long, X As Double, ho As Double, Delta As Double, x1 As Double, x2 As Double
    Dim Anpha_o As Double, A1 As Double
    Dim a As Double

    BeTong MBT, Rn, Rk, Eb
    CotThep LCT, Ra, Rad, Ea
    'Doi don vi
    Rn = Rn / 10 ^ 4: Rk = Rk / 10 ^ 2
    Ra = Ra / 10 ^ 4: Rad = Rad / 10 ^ 2

    Anpha_o = 0.62

    b = b * 100
    h = h * 100 ho = h - a

    ho = h - a
    M = Abs(M * 100)
    If M <= 1 Then FaDam = "CÊu t¹o": Exit Function
    TinhLaiThepDuong:
    Delta = (Rn * b * ho) ^ 2 - 2 * Rn * b * M
    If Delta < 0 Then
    FaDam = "CÊu t¹o"
    Exit Function
    End If
    x1 = (-Rn * b * ho + Sqr(Delta)) / (-Rn * b)
    x2 = (-Rn * b * ho - Sqr(Delta)) / (-Rn * b)
    If x1 > 0 And x2 > 0 Then
    If x2 < Anpha_o * ho Then
    X = x2
    ElseIf x1 < Anpha_o * ho Then
    X = x1
    End If
    End If


    FaDam = Rn * b * X / Ra

    End Function
    '=====================================================
    2 hàm phụ trợ

    '=====================================================
    Private Sub BeTong(ByVal MBT As Long, Rn As Double, Rk As Double, Eb As Double)
    ' ===========================Don vi tinh toan la Kg-m====================
    If MBT = 0 Then MBT = 250
    Select Case MBT
    Case 100
    Eb = 1.7 * 10 ^ 9
    Case 150
    Rn = 650000
    Rk = 60000
    Eb = 2.1 * 10 ^ 9
    Case 200
    Rn = 900000
    Rk = 75000
    Eb = 2.4 * 10 ^ 9
    Case 250
    Rn = 1100000
    Rk = 83000
    Eb = 2.65 * 10 ^ 9
    Case 300
    Rn = 1300000
    Rk = 100000
    Eb = 2.9 * 10 ^ 9
    Case 350
    Rn = 1550000
    Rk = 110000
    Eb = 3.1 * 10 ^ 9
    Case 400
    Eb = 3.3 * 10 ^ 9
    Case 500
    Eb = 3.6 * 10 ^ 9
    Case 600
    Eb = 3.8 * 10 ^ 9
    End Select
    End Sub


    Private Sub CotThep(ByVal LoaiCotThep As String, Ra As Double, Rad As Double, Ea As Double)
    'don vi kg,m
    Select Case LoaiCotThep

    Case "CI"
    Ra = 2 * 10 ^ 7
    Rad = 1.6 * 10 ^ 7
    Ea = 2.1 * 10 ^ 6
    Case "CII"
    Ra = 2.6 * 10 ^ 7
    Rad = 2.1 * 10 ^ 7
    Ea = 2.1 * 10 ^ 6
    Case "AI"
    Ra = 2.1 * 10 ^ 7
    Rad = 1.7 * 10 ^ 7
    Ea = 2.1 * 10 ^ 6
    Case "AII"
    Ra = 2.7 * 10 ^ 7
    Rad = 2.15 * 10 ^ 7
    Ea = 2.1 * 10 ^ 6
    Case "AIII"
    Ra = 3.6 * 10 ^ 7
    Rad = 2.8 * 10 ^ 7
    Ea = 2.1 * 10 ^ 6
    End Select

    If Ra = 0 Then Ra = 2.7 * 10 ^ 7: Rad = 2.15 * 10 ^ 7: Ea = 2.1 * 10 ^ 6
    End Sub
    '=====================================================
    Chúc các bạn thành công

    Leave a comment:


  • niceshot
    replied
    Nguyên văn bởi PMXD
    To NiceShot
    Rất vui khi có NiceShot tham gia Post bài cùng, nhưng tôi có vài ý kiến về hàm tính cột của bạn như thế này:
    1- Bạn chưa đưa thép loại C vào trong tính toán
    2- Giá trị muygt không được gán giá trị ban đầu
    3- Thường thì người ta giả thiết giá trị muygt ban đầu rồi tính toán, sau đó tính lặp đến khi thỏa mãn điều kiện muytt xấp xỉ muygt thì dừng lại. Tuy nhiên trong hàm của bạn chẳng thấy một vòng lặp Do, While hay For gì cả.
    Tuy nhiên, tôi cũng rất mong muốn các bạn tiếp tục hưởng ứng và post bài cùng tôi trong chủ đề này.
    Ngày xưa SV viết, đem mấy cái ví dụ trong tính toán nhà công nghiệp (bêtông 2) vào thấy cũng đúng đúng nên thấy không tính toán vòng lặp cho muigt. Thực ra mình chả học cái VBA này tử tế nên toàn lấy ví dụ của bọn nó ra rồi thay theo ý mình. Không có cơ bản nó thế đấy!

    Leave a comment:


  • PMXD
    replied
    To NiceShot
    Rất vui khi có NiceShot tham gia Post bài cùng, nhưng tôi có vài ý kiến về hàm tính cột của bạn như thế này:
    1- Bạn chưa đưa thép loại C vào trong tính toán
    2- Giá trị muygt không được gán giá trị ban đầu
    3- Thường thì người ta giả thiết giá trị muygt ban đầu rồi tính toán, sau đó tính lặp đến khi thỏa mãn điều kiện muytt xấp xỉ muygt thì dừng lại. Tuy nhiên trong hàm của bạn chẳng thấy một vòng lặp Do, While hay For gì cả.
    Tuy nhiên, tôi cũng rất mong muốn các bạn tiếp tục hưởng ứng và post bài cùng tôi trong chủ đề này.

    Leave a comment:


  • niceshot
    replied
    Nguyên văn bởi Gary killer
    các anh có thể post luôn cả file excel ko? tải về dùng cho đỡ lằng nhằng
    Load ca'i addin nay vao excel là ok!
    Attached Files

    Leave a comment:


  • Gary killer
    replied
    các anh có thể post luôn cả file excel ko? tải về dùng cho đỡ lằng nhằng

    Leave a comment:


  • niceshot
    replied
    Hàm tính toán thép cột chịu nén lệch tâm

    Cũng đú làm một hàm tính toán thép cột chịu nén lệch tâm viết từ hồi còn sinh viên.
    Giải thích các biến:
    momen1 là momen tính toán (tm)
    momen2 là momen dài hạn (tm)
    axial1 là lực dọc tính toán (t)
    axial2 là lực dọc dài hạn (t)
    chieurong là bề rộng cột (cm)
    chieucao là chiều cao cột (cm)
    lopbaove là lớp bảo vệ thép (cm)
    chieudai là độ dài của cột dùng để tính lệch tâm (cm)
    macbt là mác bêtông 200, 250, 350, 400
    macthep là mác thép AI, AII, AIII
    muigt là hàm lượng cốt thép giả thiết (%)
    Bác nào thử chạy xem. Tôi hỗi xưa test trên cuốn tính toán nhà công nghiệp BTCT thấy cũng đúng.

    -----------------------------------------------------------------


    Function thepcot(momen1 As Double, momen2 As Double, axial1 As Double, axial2 As Double, chieurong As Double, chieucao As Double, lopbv As Double, chieudai As Double, macbt As Integer, macthep As String, muigt As Double) As Double

    Dim hzero, lzero, Ja, Jb, ezero, S, Kdh, Nth, neta, ezerogh, dolechtam, giatri_x, giatri_x_p As Double

    If macbt = 200 Then
    Rn = 90
    anfa = 0.62
    Azero = anfa * (1 - 0.5 * anfa)
    Eb = 240000
    ElseIf macbt = 250 Then
    Rn = 110
    anfa = 0.58
    Azero = anfa * (1 - 0.5 * anfa)
    Eb = 265000
    ElseIf macbt = 300 Then
    Rn = 130
    anfa = 0.58
    Azero = anfa * (1 - 0.5 * anfa)
    Eb = 290000
    ElseIf macbt = 350 Then
    Rn = 150
    anfa = 0.55
    Azero = anfa * (1 - 0.5 * anfa)
    Eb = 310000
    Else
    Rn = 200
    anfa = 0.62
    Azero = anfa * (1 - 0.5 * anfa)
    Eb = 240000
    End If
    Ea = 2100000
    If macthep = "AI" Then
    Ra = 2100
    ElseIf macthep = "AII" Then
    Ra = 2700
    ElseIf macthep = "AIII" Then
    Ra = 3600
    Else
    Ra = 2700
    End If

    'Than chuong trinh
    hzero = chieucao - lopbv
    lzero = chieudai * 0.7
    Ja = muigt / 100 * chieurong * hzero * (0.5 * chieucao - lopbv) ^ 2
    Jb = chieurong * chieucao ^ 3 / 12
    If chieucao / 25 < 2 Then
    ezero = 100 * Abs(momen1) / axial1 + 2
    Else
    ezero = 100 * Abs(momen1) / axial1 + chieucao / 25
    End If

    If ezero / chieucao < 0.05 Then
    S = 0.84
    ElseIf ezero / chieucao > 5 Then
    S = 0.122
    Else
    S = 0.11 / (0.1 + ezero / chieucao) + 0.1
    End If

    If momen1 * momen2 < 0 Then
    Kdh = 1 + (-Abs(momen2) * 100 + axial2 * (0.5 * chieucao - lopbv)) / (Abs(momen1) * 100 + axial1 * (0.5 * chieucao - lopbv))
    Else
    Kdh = 1 + (Abs(momen2) * 100 + axial2 * (0.5 * chieucao - lopbv)) / (Abs(momen1) * 100 + axial1 * (0.5 * chieucao - lopbv))
    End If
    If Kdh < 1 Then
    Kdh = 1
    End If

    Nth = 6.4 / lzero ^ 2 * (S * Eb * Jb / Kdh + Ea * Ja) / 1000
    neta = 1 / (1 - axial1 / Nth)
    dolechtam = neta * ezero + 0.5 * chieucao - lopbv

    ezerogh = 0.4 * (1.25 * chieucao - anfa * hzero)

    giatri_x = axial1 * 1000 / chieurong / Rn

    If giatri_x > 2 * lopbv And giatri_x <= anfa * hzero Then
    thepcot = axial1 * 1000 * (dolechtam - hzero + 0.5 * giatri_x) / Ra / (hzero - lopbv)

    ElseIf giatri_x < 2 * lopbv Then

    dolechtam_p = dolechtam - hzero + lopbv
    thepcot = axial1 * 1000 * dolechtam_p / Ra / (hzero - lopbv)
    Else
    If ezero > ezerogh Then
    giatri_x = anfa * hzero
    thepcot = (axial1 * 1000 * dolechtam - Azero * Rn * chieurong * hzero ^ 2) / Ra / (hzero - lopbv)
    Else
    giatri_x = 1.8 * (ezerogh - ezero) + anfa * hzero
    thepcot = (axial1 * 1000 * dolechtam - Rn * chieurong * giatri_x * (hzero - 0.5 * giatri_x)) / Ra / (hzero - lopbv)

    End If
    End If
    End Function

    Leave a comment:


  • PMXD
    replied
    Hi every body!
    Từ hôm Post hàm Excel Nội suy đến bây giờ mới có một người phản hồi kết quả, Dù sao PMXD tôi cũng thấy hài lóng rồi. Hôm nay, như đã hứa, tôi xin đăng một hàm Excel mới phục vụ cho việc tính toán nội lực bản (theo giáo trình BTCT).
    '==========================Giải thích các thông số
    Tên hàm:
    Mban
    Các tham số:
    P: Lực phân bố trên bản sàn (T/m2)
    L1: Chiều dài cạnh 1 (m)
    L2: Chiều dài cạnh 2 (m)
    Mtrave: Loại Mô men được trả về
    Mtrave=1 => M11
    Mtrave=2 => M12
    Mtrave=3 => M21
    Mtrave=4 => M22
    Mtrave=5 => M1
    Mtrave=6 => M2
    (Các giá tri M1, M2, M11, M12, M21, M22 xin xem ở hình vẽ kèm theo)

    Thanh1,Thanh2,Thanh3,Thanh4: Thuộc tính dùng để kiểm tra xem có dầm ở các cạnh của bản hay không.Nếu người dùng không vào các tham số này thì hàm sẽ tự hiểu là có dầm.
    '===========================Nội dung hàm
    Enum Mtrave
    TV_M11 = 1
    TV_M12 = 2
    TV_M21 = 3
    TV_M22 = 4
    TV_M1 = 5
    TV_M2 = 6
    End Enum

    Function Mban(ByVal P As Double, ByVal L1 As Double, L2 As Double, ByVal Mtrave As Mtrave, Optional Thanh1 = True, Optional Thanh2 = True, Optional Thanh3 = True, Optional Thanh4 = True)


    Dim r As Double
    Dim TeTa As Double
    Dim A1 As Double, B1 As Double, A2 As Double, B2 As Double
    Dim M1 As Double, M11 As Double, M12 As Double
    Dim M2 As Double, M21 As Double, M22 As Double

    Dim MauSo As Double

    If L1 > L2 Then
    r = L1 / L2

    If r >= 1 And r < 1.5 Then
    TeTa = 1 + (r - 1) * (0.5 - 1) / (1.5 - 1)
    A1 = IIf(Thanh1 = True, 1.2 + (r - 1) * (1.2 - 1) / (1.5 - 1), 0)
    B1 = IIf(Thanh3 = True, 1.2 + (r - 1) * (1.2 - 1) / (1.5 - 1), 0)

    A2 = IIf(Thanh4 = True, 1 + (r - 1) * (1.8 - 1) / (1.5 - 1), 0)
    B2 = IIf(Thanh2 = True, 1 + (r - 1) * (1.8 - 1) / (1.5 - 1), 0)
    ElseIf r >= 1.5 And r < 2 Then
    TeTa = 0.6 + (r - 1.5) * (0.3 - 0.6) / (2 - 0.5)
    A1 = IIf(Thanh1 = True, 1, 0)
    B1 = IIf(Thanh3 = True, 1, 0)

    A2 = IIf(Thanh4 = True, 0.8 + (r - 1) * (0.5 - 0.8) / (1.5 - 1), 0)
    B2 = IIf(Thanh2 = True, 0.8 + (r - 1) * (0.5 - 0.8) / (1.5 - 1), 0)
    End If
    MauSo = (2 + A1 + B1) * L1 + (2 * TeTa + A2 + B2) * L2
    M2 = P * L1 ^ 2 * (3 * L1 - L1) / 12 / MauSo 'He Don vi la Kg-m
    M1 = TeTa * M2

    M11 = A2 * M2
    M12 = B2 * M2
    M21 = A1 * M2
    M22 = B1 * M2
    Else
    r = L2 / L1

    If r >= 1 And r < 1.5 Then
    TeTa = 1 + (r - 1) * (0.5 - 1) / (1.5 - 1)
    A1 = IIf(Thanh2 = True, 1.2 + (r - 1) * (1.2 - 1) / (1.5 - 1), 0)
    B1 = IIf(Thanh4 = True, 1.2 + (r - 1) * (1.2 - 1) / (1.5 - 1), 0)

    A2 = IIf(Thanh1 = True, 1 + (r - 1) * (1.8 - 1) / (1.5 - 1), 0)
    B2 = IIf(Thanh3 = True, 1 + (r - 1) * (1.8 - 1) / (1.5 - 1), 0)
    ElseIf r >= 1.5 And r < 2 Then
    TeTa = 0.6 + (r - 1.5) * (0.3 - 0.6) / (2 - 0.5)
    A1 = IIf(Thanh2 = True, 1, 0)
    B1 = IIf(Thanh4 = True, 1, 0)

    A2 = IIf(Thanh1 = True, 0.8 + (r - 1) * (0.5 - 0.8) / (1.5 - 1), 0)
    B2 = IIf(Thanh3 = True, 0.8 + (r - 1) * (0.5 - 0.8) / (1.5 - 1), 0)
    End If
    MauSo = (2 + A1 + B1) * L2 + (2 * TeTa + A2 + B2) * L1
    M1 = P * L1 ^ 2 * (3 * L2 - L1) / 12 / MauSo 'He Don vi la Kg-m
    M2 = TeTa * M1
    M11 = A1 * M1
    M12 = B1 * M1
    M21 = A2 * M1
    M22 = B2 * M1
    End If
    Select Case Mtrave
    Case TV_M1
    Mban = M1
    Case TV_M11
    Mban = M11
    Case TV_M12
    Mban = M12
    Case TV_M2
    Mban = M2
    Case TV_M21
    Mban = M21
    Case TV_M22
    Mban = M22
    End Select
    End Function


    '===========================Chúc vui vẻ

    To Garry Killer:

    Em hỏi anh hàm Ubound nghĩa là gì phải không? Hàm Ubound là hàm trả về số thứ tự của phần tử cuối cùng trong mảng.
    Ví dụ, khi ta khai báo mảng Vietanh(0 to 5) thì Ubound(VietAnh)=5
    Cũng cần chú ý nếu ta khai báo VietAnh(2 to 5) thì Ubound(VietAnh) cũng =5.
    Attached Files

    Leave a comment:


  • Gary killer
    replied
    Nguyên văn bởi PMXD
    Sorry mọi người!
    Hôm nay đáng ra là ngày tôi Post hàm thứ 2 của VBA trong Excel, nhưng từ sáng đến giờ đi hội thảo Kết cấu thép ở Melia Hotel nên chưa Post được. Sáng ngày mai tôi sẽ Post lên một hàm mới, anh em cố gắng chờ đợi nhé.
    Mà mọi người trong diễn đàn sao không có câu hỏi gì cho vấn đề này nhỉ, cả cái bảng Excel tôi Post lên hôm trước anh em có dùng được không? Nếu có ai quan tâm thì lên tiếng nhé, tất cả vì sự phát triển chung thôi mà.
    Em đã dùng thử để làm bảng tra Ktd, kết quả thật mỹ mãn. Cảm ơn anh PMXD nhiều. Ah cho em hỏi hàm "UBound" để làm gì ah? Em có mở file help đọc nhưng trình độ TA hạn hẹp quá nên chưa hiểu hi`hi`...:d

    Leave a comment:


  • PMXD
    replied
    Sorry mọi người!
    Hôm nay đáng ra là ngày tôi Post hàm thứ 2 của VBA trong Excel, nhưng từ sáng đến giờ đi hội thảo Kết cấu thép ở Melia Hotel nên chưa Post được. Sáng ngày mai tôi sẽ Post lên một hàm mới, anh em cố gắng chờ đợi nhé.
    Mà mọi người trong diễn đàn sao không có câu hỏi gì cho vấn đề này nhỉ, cả cái bảng Excel tôi Post lên hôm trước anh em có dùng được không? Nếu có ai quan tâm thì lên tiếng nhé, tất cả vì sự phát triển chung thôi mà.

    Leave a comment:


  • CNPM
    replied
    Tôi có mỗi quyển Programming VBA with AutoCAD không có sách tiếng việt.

    Leave a comment:


  • ButKim
    replied
    Chào các bác

    Sao cái font tiếng việt nó lỗi quá, Dùng IE thì lúc đánh được tiếng việt lúc lại không đánh được. Dùng các trình duyệt khác như My IE, Mozoilla Fireox thì bó tay vì không đánh được tiếng việt.

    Em cũng rất muốn học VBA nhưng trình độ còn hạn chế quá. Em kể cho các bác nghe chuyện em tiếp cận với VBA trong Excel như thế nào nhé. Ngày xưa khi em còn học đại học. Em thường lên thư viện trường mình (ĐHXD) kiếm quyển PC world, trong đó có những ví dụ như hai bác CNPM và PMXD viết, ngày đó tôi đem nó vào góc phòng, rồi quay đi quay lại không thấy ai là xé lấy tờ đó, đút vô túi áo, mang về nhà đánh vô excel và chạy thử. Và dần dần tui cũng học được một ít. Nay thấy trên diễn đàn có mục này hay quá, cảm ơn máy bro đã san sẻ kiến thức của mình cho mọi người.

    Thực ra trong diễn đàn có rất ít người post bài, vì những người vừa mới ra trường kinh nghiệm không có nhiều, mặc dù rất thích trang Web nhưng biết post gì bây giờ, chỉ còn biết lẳng lặng chờ các bài viết của bro, đọc và suy ngẫm. Một cách đánh giá "số người quan tâm đến chủ một đề" một cách rất đơn giản đó là đọc số lần truy cập đến chủ đề, số lần tải các file đính kèm. Chứ không phải không có ai nói gì thì đồng nghĩa với việc chủ đề này ít người quan tâm bác PMXD ạ.

    Tôi rất thích chuyên mục này và mong các bro post nhiều hơn nữa. Nếu có thế PMXD và CNPM cho em biết tên một số sách viết về VBA trong CAD cũng như trong Excel, có tiếng việt thì tốt quá, còn không thì TA cũng được. Cảm ơn các bác nhiều.
    -----------------------
    Chúc mọi người vui vẻ.
    -----------------------

    Leave a comment:


  • PMXD
    replied
    To CNPM:
    Anh thấy chú cũng hiểu nhiều về VBA đấy, chú cứ post VBA cho AutoCad đi, mảng đó cũng nhiều cái hay lắm. Hiện nay các công việc vẽ vời anh cũng đã viết được khá nhiều bằng VBA for Cad rồi. Nếu có điều kiện chúng ta sẽ trao đổi thêm nhé.
    Nhân đây, tôi cũng xin kể một câu chuyện ngoài lề về quá trình tôi tiếp cận với VBA for CAd để anh em Relax.
    Ngày đó, khi mới ra trường, trong tay chỉ có chút ít kiến thức cơ bản của trường đào tạo cộng thêm vài kỹ năng lập trình VB. Tôi thiết nghĩ phải làm thế nào tạo cho mình một thế mạnh riêng trong công việc. Và cuối cùng, tôi đã quyết định nghiên cứu về lĩnh vực tự: động thiết kế với AutoCad. Nói như vậy nghe có vẻ ghê gớm chứ thực ra là lập trình để vẽ với AutoCad. Với cách nghĩ như vậy, tôi đã cất công tìm hiểu các phương pháp để thực hiện và tổng kết lại gồm các phương pháp sau:
    1. Viết bằng ngôn Lisp: Phương pháp này đơn giản, dùng được cho mọi Version của Cad, dễ học và cũng thuận tiện. Tuy nhiên nó không thể lập được những ứng dụng lớn và còn nhiều hạn chế khác. Do vậy tôi cũng không đi sâu tiếp để nghiên cứu nó.
    2. Viết bằng ngôn ngữ C++ để tạo ra các file *.arx: Đây là cách chuyên nghiệp nhất(theo ý kiến của riêng tôi) để viết một ứng dụng chạy trong Cad. Nó cho phép người lập trình can thiệp rất sâu vào các đối tượng của Cad, tốc độ chạy chương trình thì miễn chê. Cũng chính vì vậy, việc học nó cũng như sử dụng thành thạo là rất khó khăn. Tôi đã từng đổ mồ hôi viết một đoạn Arx để vẽ một đường thẳng trong CAd, nghĩ lại vẫn thấy khiếp.
    3. Viết bằng VBA(Visual Basic for Application): Cuối cùng thì tôi cũng lựa chọn phương án này vì dù sao VB cũng là công cụ ruột của tôi. Đọc các tài liệu về VBA trong AutoCad tôi đã thấy việc sử dụng nó tương đối thuận tiện, cho phép lập các ứng dụng lớn, tốc độ cũng không đến nỗi nào.
    Tuy nhiên, mọi chuyện không chỉ đơn giản như vậy, lí do chính vì thời đó vẫn đang thịnh hành Cad14. Mà phiên bản này chưa được hỗ trợ VBA nhiều, đặc biệt là môi trường lập trình. Do đó, khi tôi lập VBA cho Cad14 tôi phải lập từ bên ngoài và "Điều khiển" Cad chạy từ xa. Tôi đã mất 1 năm(không hề nói sai) để dùng VB điều khiển Cad vẽ một đoạn thẳng có tọa độ từ (0,0,0) đến tọa độ (100,0,0). Nghĩ lại thấy cũng tội nghiệp cho bản thân, giá như ngày đó có Cad2000 thì chắc không mất nhiều thời gian đến vậy(Các bác nên biết rằng VBA chỉ support cho Cad2000 trở lên). Tuy nhiên, đó cũng là bước đánh dấu thời điểm tôi đến với VBA, và cũng chẳng có gì đáng tiếc khi ta bỏ công sức cho sự hiểu biết phải không các bác.
    Thôi đến giờ cơm rồi, để lúc khác tiếp tục nhé, ở Viện tôi xuống chậm chân là hết cơm, đói bụng=> Kết cấu không thể bền vững được.

    Leave a comment:


  • CNPM
    replied
    To Anh Huy

    Anh hỏi khó quá, em sẽ cố gắng nhưng kiếm cho em ít việc làm tạm kiếm sống đã, hihi. Có PMXD rồi, em chuyển sang VBA trong CAD vậy
    Có ai cần Sap 9.03 thì liên hệ với tôi nhé, lấy rẻ 2 cốc cafe thôi. Hoặc đến chõ anh Huy lấy cũng được, anh Huy nhểy.

    Leave a comment:

deneme bonusu veren siteler deneme bonusu deneme bonusu veren siteler
bahis siteleri
hd sex video
Mobilbahis
antalya escort bayan
gaziantep escort
gaziantep escort
bonus veren siteler
pinbahis pinbahis dizitune.com
bostanci escort pendik escort
İstanbul Escort
Car Fuck XXX Мужик отчаянно долбит в жопу шмеля sexo gay gratis xxxx
betbonusking.com deneme bonusu
deneme bonusu veren siteler deneme bonusu veren siteler bonus veren siteler
ümraniye escort sancaktepe escort
quixproc.com
Small tits girlfriend fucking pussy xxx com hindi Beatriz is young a new in porn Real adult sex with teen babe xxx
casino siteleri
deneme bonusu veren siteler
alanya escort
mersin escort alanya escort gaziantep escort
deneme bonusu veren siteler deneme bonusu veren siteler
buy.fans
mobilbahis rokubet
bahis siteleri
deneme bonusu veren siteler
bonus veren siteler bonus veren siteler
deneme bonusu bonus veren siteler
deneme bonusu veren siteler
deneme bonusu veren siteler
deneme bonusu
redriverlanes.com
casino siteleri
bodrum escort
streameast
deneme bonusu veren siteler
alanya escort gaziantep escort gaziantep escort gaziantep escort
bahis siteleri
casibom betturkey
Working...
X