máy bơm nước hỏa tiễn công ty in ấn https://duan-knparadise.com/ Bơm nước hỏa tiễn bóp da nam Túi nilon PP cong ty in bieu mau
Mỗi tuần một hàm trong Excel! - Page 2 - Diễn đàn của các kỹ sư kết cấu Việt Nam










































































Features
Go Back   Diễn đàn của các kỹ sư kết cấu Việt Nam > ỨNG DỤNG TIN HỌC TRONG THIẾT KẾ XÂY DỰNG > Phần mềm thiết kế do thành viên giới thiệu
Tên thành viên
Mật mã
Tin HOT Thông tin BQT diễn đàn

Result  Reload Thống Kê - Diễn đàn của các kỹ sư kết cấu Việt Nam
All Forums | Thông báo | Văn Bản Pháp Luật | Văn Hóa Văn Nghệ Giao Lưu
Please wait...
Please wait...
Trả lời
Ðiều Chỉnh Xếp Bài
Unread 24-11-2004   #21
niceshot
Thành viên
 
Tham gia ngày: Oct 2004
Bài gởi: 45
Thanks: 0
Thanked 34 Times in 5 Posts
Default

Trích:
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!
File Kèm Theo
File Type: zip Test.zip (7.0 KB, 1046 lần tải)
niceshot vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following User Says Thank You to niceshot For This Useful Post:
vip0327 (12-08-2010)
Unread 25-11-2004   #22
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default

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.
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following User Says Thank You to PMXD For This Useful Post:
levanduy (21-01-2011)
Unread 25-11-2004   #23
niceshot
Thành viên
 
Tham gia ngày: Oct 2004
Bài gởi: 45
Thanks: 0
Thanked 34 Times in 5 Posts
Default

Trích:
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!
niceshot vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 03-12-2004   #24
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default 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
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following User Says Thank You to PMXD For This Useful Post:
club7 (11-05-2011)
Unread 03-12-2004   #25
Thuatdv
Thành viên
 
Thuatdv's Avatar
 
Tham gia ngày: Oct 2004
Nơi Cư Ngụ: "Đại Cồ Việt"
Bài gởi: 95
Thanks: 0
Thanked 41 Times in 11 Posts
Smile 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
Thuatdv vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 04-12-2004   #26
CNPM
Moderator
 
CNPM's Avatar
 
Tham gia ngày: Oct 2004
Bài gởi: 236
Thanks: 18
Thanked 112 Times in 33 Posts
Send a message via Yahoo to CNPM Send a message via Skype™ to CNPM
Default 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
CNPM vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following User Says Thank You to CNPM For This Useful Post:
kstu89 (17-04-2013)
Unread 04-12-2004   #27
CNPM
Moderator
 
CNPM's Avatar
 
Tham gia ngày: Oct 2004
Bài gởi: 236
Thanks: 18
Thanked 112 Times in 33 Posts
Send a message via Yahoo to CNPM Send a message via Skype™ to CNPM
Default Ttvn

Về vụ TTVN hiện tôi có rất nhiều bài viết về vụ này. Xin các bạn đừng phán xét vội, hãy chờ các tin khác từ www.vnn.vn hoăc www.vnexpress.net. Nếu các bài viết có tính chính trị. Xin anh Huy hãy xóa bó đi. Thanks.
CNPM vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 06-12-2004   #28
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default

To CNPM:
Rất cảm ơn CNPM đã góp ý xây dựng cho bài viết của tôi. Tôi sẽ cố gắng giải thích ý nghĩa của các dòng lệnh trong hàm khi post bài để anh em trong diễn đàn dễ dàng tiếp nhận hơn.
Nhân dây, tôi cũng rất mong anh em nào quan tâm đến VBA, khi đọc các hàm của tôi nếu có chỗ nào khó hiểu thì cứ Post bài để hỏi, tôi sẽ trả lời trong phạm vị kahr năng của tôi.
Chúc các bạn thành công
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 06-12-2004   #29
phu_ho
Thành viên nhiệt huyết
 
phu_ho's Avatar
 
Tham gia ngày: Aug 2004
Bài gởi: 716
Thanks: 3
Thanked 456 Times in 224 Posts
Default

Xin hoan nghênh nhiệt liệt các bác mỗi tuần lại ủng hộ một chương trình Tôi sẽ thử, lúc nào không hiểu gì sẽ nhờ các bác giải thich dùm nhé

Xin góp ý một chút : cho phần chú thích, ngoài việc giải thích tên biến, các bác nên cho thêm một dòng giải thích cái hàm các bác đang tính (tức là gõ nguyên cái công thức hoặc reference của nó), thì có lẽ dễ theo dõi hơn.
phu_ho vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 06-12-2004   #30
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default Thắc mắc tí tẹo

Hôm nay vào Ketcau.com mới để ý kỹ, một số bài trên diễn đàn có mấy ông sao vàng vàng đẹp ghê trên dòng tiêu đề. Nhìn lại bài của mình chẳng thấy ông sao nào, lạ ghê. Anh Huy trả lời giúp em cái nhẩy
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 07-12-2004   #31
huycdc
Trưởng ban Quản trị
 
huycdc's Avatar
 
Tham gia ngày: Aug 2004
Nơi Cư Ngụ: 37 Lê Đại Hành - Hà Nôi
Bài gởi: 2,301
Thanks: 228
Thanked 5,217 Times in 840 Posts
Default

to Việt Anh:
anh cũng như chú, chẳng đẻ ý đến mấy cái sao vàng đó; chú nhắc anh mới tìm hiểu thì hoá ra nó dùng để̉ chấm điểm bài viết; Sau đó, anh chấm ngày thì thấy nó hiệṇ lên như hình vẽ đính kèm .
Theo tôi, mọi người thấy bài nào hay thì có thể phê điểm cho bài viết .Càng nhiều người cho điểm thì số lượng sao vàng càng nhiều, điều đó sẽ làm cho các tác giả thấy vui hơn và nhiệt tình viết hơn .
Nhân tiện đây, tôi cũng đề nghị mọi người sau khi download được những phần mềm hoặc đoạn code hay hay, tiện ích thì cũng nên có ý kiến phản hồi về sự hay, dở và cũng nên có lời CẢM ƠN tác giả hoặc người đã chia sẻ thông tin một chút . Nhiều khi cứ DOWNLOAD "bùm bụp" mà chẳng được lời cảm ơn cũng không được hay lắm !
Hình Ðính Kèm
tam.JPG  
__________________
Phạm Như Huy - Trưởng ban QT ketcau.com - Cty CP Tư vấn đầu tư và TKXD Việt Nam (CDC). Tel. 04.2.216.217.1; - Email: admin@ketcau.com.

thay đổi nội dung bởi: huycdc, 07-12-2004 lúc 10:11 AM
huycdc vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 07-12-2004   #32
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default Ham Excel Thu 4 Va Thu 5

Chào các anh em trong diễn đàn kết cấu! Hôm nay tôi xin giới thiệu đến các anh em hai hàm siêu nhỏ nhưng khả năng của nó thì không nhỏ chút nào, hơn nữa nó lại rất hay dùng trong khi lập trình. Cũng xin chú ý với mọi người, hai hàm này thuần túy là phục vụ lập trình chứ không dùng trong các bảng tính toán của Excel. Đó là hàm Timmax và hàm Timmin
'=====================================================
1- Ý nghĩa của hàm:Tìm giá trị lớn nhất(nhỏ nhất) của các số trong một mảng (mảng có thể có kích thước bất kỳ).
2- Các tham số trong hàm: Thamso- Đây là mảng của các số thực hoặc số nguyên, số phần tử trong mảng là không giới hạn.
3- Nội dung chính của hàm
'====================Hàm Timmax
Function TimMax(thamso As Variant)
Dim i As Integer
TimMax = 0
For i = 0 To UBound(thamso)
If thamso(i) > TimMax Then
TimMax = thamso(i)
End If
Next
End Function

'=====================Hàm Timmin
Function TimMin(thamso As Variant)
Dim i As Integer
TimMin = thamso(LBound(thamso))
For i = LBound(thamso) To UBound(thamso)
If thamso(i) < TimMin Then
TimMin = thamso(i)
End If
Next
End Function

'===========Ví dụ về việc sử dụng hàm Timmax và Timmin
' Khai bao cac bien
Dim a as long, b as long, c as long
Dim Max,Min
' Gan cac gia tri cho bien
a=2:b=3:c=5

Max=Timmax(array(a,b,c))
Min=Timmin(array(a,b,c))
'====================================================
Đôi điều bình luận về 2 hàm trên:
Trong quá trình tôi lập trình, hai hàm này xuất hiện với tần suất tương đối lớn, chắc chỉ sau mấy hàm toán học thông thường như +, -, x, : khai căn, lũy thừa, trị tuyệt đối....
Đây cũng là một trong những kinh nghiệm căn bản nhất khi lập trình: Những vấn đề được xử lý thường xuyên thì nên xây dựng thành một hàm.
Chúc các bạn thành công
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following 6 Users Say Thank You to PMXD For This Useful Post:
club7 (11-05-2011), ksphamtien (17-10-2014), levanduy (21-01-2011), linhvuduy288 (23-11-2010), quangspkt06 (03-07-2011), trieuksxd99 (09-10-2010)
Unread 15-12-2004   #33
dnl
Thành viên
 
Tham gia ngày: Nov 2004
Bài gởi: 35
Thanks: 0
Thanked 2 Times in 2 Posts
Default

Cảm ơn bác PMXD nhiều, em ứng dụng các hàm của bác rất tốt. Nếu có thể bác viết cho anh em hàm tính cột lệch tâm xiên được không?
dnl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 19-12-2004   #34
dnl
Thành viên
 
Tham gia ngày: Nov 2004
Bài gởi: 35
Thanks: 0
Thanked 2 Times in 2 Posts
Default

Bac PMXD ơi! Bác oải quá rồi à????
dnl vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 05-01-2005   #35
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default Tiếp tục post bài

Chào các bạn!
Sau một thời gian không đăng thêm hàm VBA nào trên diễn đàn, PMXD tôi thấy không khí có vẻ lại lắng xuống. Hôm nay, để hâm lại không khí trong những ngày đầu năm mới, PMXD tôi xin đăng hàm Tính thép cột theo TCVN để anh em cùng tham khảo.
'=====================================================
1- Tên hàm: Facot
2- Các tham số chính
M- Mô men (Kgm)
N- Lực dọc (Kg)
b- Bề rộng tiết diện (m)
h- Chiều cao tiết diện (m)
ao- Chiều dày lớp bảo vệ cốt thép
l - Chiều dài (thực tế) cột
Mdh- Thành phần momen dài hạn
Ndh- Thành phần lực dọc dài hạn
MBT- Mác bê tông (nếu ko nhập thì giá trị mặc định là 250)
KieuCotThep- Loại cốt thép (nếu ko nhập thì giá trị mặc định là "AII")
Kieulienket- Hình thức liên kết cua cột
= 1 : hai đầu ngàm
= 2 : hai đầu khớp
= 3 : 1 đầu ngàm, một đầu khớp
= 4 : 1 đầu ngàm, 1 đầu tự do
3- Thuật toán tổng thể của hàm
- Tính toán các thông số ban đầu
- Giả thiết giá trị hàm lượng cốt thép (Muy) ban đầu
- Tính toán giá trị Muy thực tế
- So sánh, tính lặp cho đến khi Muy giả thiết xấp xỉ Muy tính toán
- Tính diện tích cốt thép theo giá trị Muy cuối cùng
- So sánh với diện tích thép tính theo bài toán kéo (nén) đúng tâm
- Lấy giá trị Max của hai trường hợp

4- Nội dung của hàm

Function FaCot(ByVal M As Double, ByVal N As Double, ByVal b As Double, h As Double, _
ByVal ao As Double, ByVal l As Double, Optional Mdh = 0, Optional Ndh = 0, Optional MBT = 250, Optional KieuCotThep = "AII", Optional KieuLienKet = 1)

'============================Don vi tinh toan Kg,m
Dim Lo As Double 'Chieu dai tinh toan cua cau kien(m)
Dim ho As Double
Dim Muy As Double, nuy As Double, MuyGt As Double, NuyMin As Double
Dim Eo As Double, e As Double, eogh As Double, X As Double
Dim s As Double, Nth As Double
Dim Ja As Double, Jb As Double
Dim Phi As Double
Dim Kdh As Double
Dim MuyMin As Double

Dim Rn As Double, Rk As Double, Eb As Double, Ra As Double, Rad As Double, Ea As Double

Dim Fat As Double, HamLuongCot As Double

Dim Fadungtam As Double

If M <> 0 Then Kdh = 1 + Mdh / M

'==============================Xac dinh chieu dai tinh toan cua cot
Select Case KieuLienKet
Case 1 ' Hai dau ngam
Lo = 0.7 * l
Case 2 ' Hai dau khop

Case 3 'Dau ngam dau khop

Case 4 ' Dau ngam va Dau tu do

End Select
'==============================Xac dinh cac thong so cua be tong va thep

BeTong MBT, Rn, Rk, Eb
CotThep KieuCotThep, Ra, Rad, Ea

ho = h - ao
Phi = PhiUD(Lo, b, "R")
FaCot = 0: Fat = 0

'======================
MuyMin = TimMax(Array(HamLuongCot * 100, MuyMinVa(Lo, b, h, 0)))
If N = 0 Then
FaCot = 0: Fat = 0
ElseIf M = 0 And N < 0 Then
'================================Tinh toan cau kien chiu nen trung tam tiet dien chu nhat
N = Abs(N)
FaCot = ((N / Phi - Rn * b * h)) / Ra
Fat = ((N / Phi - Rn * b * h)) / Ra
Muy = 100 * (FaCot + Fat) / (b * ho)
'==========================================================================
ElseIf M <> 0 And N < 0 Then
'==================================Tinh toan cau kien chiu nen lech tam tiet dien chu nhat
M = Abs(M)
N = Abs(N)

'===== Tinh cho truong hop bo qua Momen
Fadungtam = ((N / Phi - Rn * b * h)) / Ra

'===============================
MuyGt = 2 * MuyMin
Muy = MuyGt
Do
MuyGt = (MuyGt + Muy) / 2
If MuyGt < 0 Then Exit Do
Jb = b * h ^ 3 / 12
Ja = 0.01 * MuyGt * b * (h - ao) * (0.5 * h - ao) * (0.5 * h - ao)

'===================================Tinh toan do lech tam eo
If b > 0.25 And h / 25 > 0.02 Then
Eo = (M / N + h / 25)
ElseIf b > 0.25 And h / 25 < 0.02 Then
Eo = (M / N + 0.02)
ElseIf b < 0.25 And h / 25 > 0.015 Then
Eo = (M / N + h / 25)
ElseIf b < 0.25 And h / 25 < 0.015 Then
Eo = (M / N + 0.015)
End If

'================================ Tinh he so anh huong den do lech tam
If Eo < 0.05 * h Then
s = 0.84
ElseIf 0.05 * h <= Eo < 5 * h Then
s = 0.11 / (0.1 + Eo / h) + 0.1
Else
s = 0.122
End If


Nth = 6.4 * ((s * Jb * Eb / Kdh) + Ea * Ja) / (Lo * Lo)
nuy = 1 / (1 - (N / Nth))
If nuy < 0 Then FaCot = "ThiÕu thÐp": Exit Function
eogh = 0.4 * (1.25 * h - Anpha(MBT) * ho)
X = N / Rn / b
If X < Anpha(MBT) * (h - ao) Then
'====================================Tinh toan lech tam lon

If X < 2 * ao Then
FaCot = N * (nuy * Eo - 0.5 * h + ao) / Ra / (ho - ao)
ElseIf X > 2 * ao And X < Anpha(MBT) * ho Then
e = nuy * Eo + 0.5 * h - ao
FaCot = N * (e - ho + 0.5 * X) / (Ra * ho - Ra * ao)
Else
GoTo TinhTheoLechTamBe
End If
Else
TinhTheoLechTamBe:
'=====================================Tinh toan lech tam be
If nuy * Eo <= 0.2 * ho Then
X = h - (1.8 + 0.5 * h / ho - 1.4 * Anpha(MBT)) * Eo
Else
X = 1.8 * (eogh - Eo) + Anpha(MBT) * ho
End If
e = 0.5 * h + nuy * Eo - ao 'Khoang cach tu luc doc den trong tam cot thep chiu keo

FaCot = ((N * e - Rn * b * X * (ho - 0.5 * X)) / Ra / (ho - ao))
End If
'====================================Kiem tra ham luong cot thep
Muy = 200 * FaCot / (b * ho)
Loop Until Abs(Muy - MuyGt) < 0.05
Fat = FaCot
ElseIf M = 0 And N > 0 Then
'===================================Tinh toan cau kien chiu keo trung tam
M = Abs(M)
N = Abs(N)
FaCot = 0.5 * N / Ra
Fat = 0.5 * N / Ra
Muy = 100 * (FaCot + Fat) / (b * ho)
ElseIf M <> 0 And N > 0 Then
M = Abs(M)
N = Abs(N)
Eo = M / N
If Eo <= 0.5 * h - ao Then
'===================================Tinh toan cau kien chiu keo lech tam be
Fat = N * (0.5 * h - Eo - ao) / Ra / (ho - ao)
FaCot = N * (0.5 * h + Eo - ao) / Ra / (ho - ao)
Fat = TimMax(Array(Fat, FaCot))
FaCot = TimMax(Array(Fat, FaCot))
Muy = 100 * (FaCot + Fat) / (b * ho)

Else
'==================================Tinh toan cau kien chiu keo lech tam lon
X = Anpha(MBT) * ho
Fat = (N * (Eo + 0.5 * h - ao) - Anpha(MBT) * (1 - 0.5 * Anpha(MBT)) * Rn * b * ho * ho) / Ra / (ho - ao)
FaCot = (N + Anpha(MBT) * Rn * b * ho + Ra * Fat) / Ra
Fat = TimMax(Array(Fat, FaCot))
FaCot = TimMax(Array(Fat, FaCot))
Muy = 100 * (FaCot + Fat) / (b * ho)
End If
End If
FaCot = TimMax(Array(FaCot, Fadungtam))
If Muy < 1 Then
Muy = 1
Fat = Muy * b * ho / 200
FaCot = Muy * b * ho / 200
Fat = Fat * 10 ^ 4
FaCot = FaCot * 10 ^ 4
Else
FaCot = FaCot * 10 ^ 4
Fat = Fat * 10 ^ 4
End If
End Function
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
The Following 2 Users Say Thank You to PMXD For This Useful Post:
dxgiang (14-10-2011), quangspkt06 (03-07-2011)
Unread 22-01-2005   #36
maituan
Thành viên mới
 
maituan's Avatar
 
Tham gia ngày: Jan 2005
Bài gởi: 2
Thanks: 0
Thanked 0 Times in 0 Posts
Default

Đoạn code này không chạy được vì thiếu khai báo cho các trường hợp mác BT và mác thép.
maituan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 08-02-2005   #37
ttkh
Thành viên
 
Tham gia ngày: Aug 2004
Bài gởi: 36
Thanks: 0
Thanked 6 Times in 4 Posts
Default Ðề: Mỗi tuần một hàm trong Excel!

Trích:
Nguyên văn bởi PMXD
Chào các anh em trong diễn đàn!
Từ ngày hôm nay, tôi sẽ cố gắng post mỗi tuần một hàm Excel mà tôi đã từng dùng để tính toán thiết kế. Ai ủng hộ tôi xin hãy lên tiếng cho diễn đàn them khí thế!

'==================HÀM SỐ 1===========================
' NỘI SUY MỘT BẢNG THEO GIÁ TRỊ
'====================================================

Function TraBang2Chieu(ByVal Hang, ByVal Cot, VungChon As Range)
Dim i As Long, j As Long
Dim TangAnPha
Dim NoiSuy1 As Double, NoiSuy2 As Double

For i = 1 To UBound(VungChon.Value, 2) ' Theo phuong ngang
If Hang = VungChon(1, i) Then
For j = 1 To UBound(VungChon.Value, 1) - 1
If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) <= 0 Then
TangAnPha = (VungChon(j + 1, i) - VungChon(j, i)) / (VungChon(j + 1, 1) - VungChon(j, 1))
TraBang2Chieu = VungChon(j, i) + (Cot - VungChon(j, 1)) * TangAnPha
GoTo Thoat:
End If
Next j
ElseIf (Hang - VungChon(1, i)) * (Hang - VungChon(1, i + 1)) < 0 Then
For j = 1 To UBound(VungChon.Value, 1) - 1
If (Cot - VungChon(j, 1)) * (Cot - VungChon(j + 1, 1)) < 0 Then
TangAnPha = (VungChon(j, i + 1) - VungChon(j, i)) / (VungChon(1, i + 1) - VungChon(1, i))
NoiSuy1 = VungChon(j, i) + (Hang - VungChon(1, i)) * TangAnPha

TangAnPha = (VungChon(j + 1, i + 1) - VungChon(j + 1, i)) / (VungChon(1, i + 1) - VungChon(1, i))
NoiSuy2 = VungChon(j + 1, i) + (Hang - VungChon(1, i)) * TangAnPha

TangAnPha = (NoiSuy2 - NoiSuy1) / (VungChon(j + 1, 1) - VungChon(j, 1))
TraBang2Chieu = NoiSuy1 + (Cot - VungChon(j, 1)) * TangAnPha
GoTo Thoat:
End If
Next j
End If
Next i

Thoat:
'TraBang = UBound(VungChon.Value, 2)
End Function

'=====================================================

Mời các bác Copy hàm này vào Excel và sử dụng theo từng bước như sau:

1- Mở Excel
2- Nhấn Ctrl+F11
3- Insert 1 Module trong môi trường VBA
4- Copy hàm bên trên vào
5- Sử dụng như 1 hàm Excel thông thường với 3 tham số:

+ Giá trị của hàng
+ Giá trị của cột
+ Vùng giá trị của bảng

Ghi chú: Bác nào vẫn còn lơ mơ thì cứ A lô nhé
'===============================

Nguyễn Việt Anh
Phòng KCXD- IBST
047544277
Cho em hoi :
3- Insert 1 Module trong môi trường VBA
là sao? Em không hiểu lắm.Anh có thể chỉ cụ thề hơn. Em chưa biết gì về cái này lắm.
ttkh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 10-02-2005   #38
daucuchuoi
Thành viên
 
Tham gia ngày: Jan 2005
Bài gởi: 44
Thanks: 0
Thanked 10 Times in 6 Posts
Default Ðề: Mỗi tuần một hàm trong Excel!

Cám ơn PMXD đã viêt nhiều hàm cho Excel. Nhưng thật lòng mà nói, mong PMXD đừng giận, các hàm viết bằng VB rất khó dùng. Mặt khác, các hàm này dễ bị các chương trình diệt virut như BKAV hiểu nhầm nên diệt nghéo luôn.
Cũng các hàm này có thể viết bằng các hàm chuẩn của Excel.
Như hàm tra bảng nội suy chỉ cần hàm VLOOKUP hoặc HLOOKUP là được.
Tôi sẽ dành thời gian viết lại các hàm của PMXD từ VB sang hàm chuẩn của Excel.
daucuchuoi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 11-02-2005   #39
tdhtkcd
Thành viên
 
tdhtkcd's Avatar
 
Tham gia ngày: Dec 2004
Nơi Cư Ngụ: Hà Nội
Bài gởi: 55
Thanks: 5
Thanked 5 Times in 5 Posts
Send a message via Yahoo to tdhtkcd
Default Ðề: Mỗi tuần một hàm trong Excel!

Trích:
Nguyên văn bởi ttkh
Cho em hoi :
3- Insert 1 Module trong môi trường VBA
là sao? Em không hiểu lắm.Anh có thể chỉ cụ thề hơn. Em chưa biết gì về cái này lắm.
Nếu bạn làm việc với VB rồi thì cái này dễ hiểu lắm.Về tham khảo qua VB là bạn sẽ làm được ngay thôi ,đừng ngại
tdhtkcd vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Unread 12-02-2005   #40
PMXD
Moderator
 
PMXD's Avatar
 
Tham gia ngày: Sep 2004
Bài gởi: 205
Thanks: 0
Thanked 115 Times in 30 Posts
Default Ðề: Mỗi tuần một hàm trong Excel!

Những VBA của tôi khó dùng lắm sao
Tôi mở chủ đề này để thảo luận về lập trình trong Excel mà. Có thể một số bạn cho rằng các hàm tôi đã Upload lên có thể viết lại bằng các hàm huẩn của Excel, điều đó cũng đúng thôi. Đã có câu nói là "Mọi con đường đều dẫn đến thành Rome mà". Tuy nhiên, nếu có khi nào mà các bạn ko thể dùng hàm chuẩn của Excel đã lập ứng dụng của các bạn thì gọi tôi nhé
Các chương trình viết bằng VBA khi quét Virus bằng công cụ của anh Nguyễn Tử Quảng thường bị clean luôn. Cái đó muốn khắc phục, các bạn cứ Zip nó lại là ngon lành ngay à. Các chương trình Scan Virus mới hiện nay đều đã tránh được tình trạng này rồi.
Chúc các bạn một năm mới an khang tịnh vượng, chúc diễn đàn sang năm mới có nhiều phát triển.
__________________
Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
Email : info@cncc.vn
PMXD vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền sử dụng ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Mở

Chuyển đến



Múi giờ GMT. Hiện tại là 04:17 PM.


DIỄN ĐÀN http://ketcau.com/forum NƠI HỘI TỤ CỦA CÁC KỸ SƯ KẾT CÂU VIỆT NAM
WWW.KETCAU.COM - CẦU NỐI CỦA CÁC KỸ SƯ KẾT CẤU CÔNG TRÌNH, ĐỊA KỸ THUẬT VIỆT NAM. DIỄN ĐÀN ĐƯỢC MUA BẢN QUYỀN CỦA JELSOFT ENTERPRISES Ltd.