Ứng dụng VBA để giải 1 số bài toán trong Địa kỹ thuật (ĐKT)

Liên hệ QC

PhanTuHuong

VBA & VB.NET for Excel & AutoCad
Thành viên danh dự
Tham gia
13/6/06
Bài viết
7,121
Được thích
24,279
Chào các bạn!
Hiện nay, Excel được sử dụng rất rộng rãi trong nhiều lĩnh vực. Riêng trong ĐKT, các biểu thí nghiệm trong phòng, ngoài trời, các bảng tính, thiết kế và tính toán các loại móng,... đều có thể thực hiện trong Excel. Tuy nhiên, các sản phẩm phần lớn hiện nay đều mang tính thủ công và phụ thuộc rất nhiều vào trình độ của mỗi người.
Địa kỹ thuật là 1 ngành khoa học liên quan đến thiết kế nền móng công trinh và phân tích tính chất của đất đá dưới nền đó. Để hiểu 1 cách đơn giản thì các nhà ĐKT phải làm sáng tỏ loại đất đá dưới nền móng công trình (xây dựng dân dụng, giao thông, thuỷ lợi,công trình ngầm,...). Từ đó có thể đưa ra phương án móng phù hợp cả kỹ thuật và kinh tế :-= , đảm bảo cho công trình làm việc ổn định, lâu dài (Ví dụ nhà cấp 4 ở VN có thể sử dụng đến trên ...25 năm :{{ :-= !)
 
Theo quan điểm của ngày trước, Excel không xử lý thống kê một cách tự động được, nhưng bây giờ thì hoàn toàn có thể. Việc sử dụng các hàm tự tạo (Function), chương trình con (Sub) đã nâng cao hiệu quả sử dụng của Excel.
Việc tính sức chịu tải quy ước Ro của đất hiện nay phải trải qua rất nhiều bước, nhưng với VBA thì công việc này hết sức dễ dàng. Để tạo hàm này, các bạn thực hiện các bước như sau:
- Vào menu\Tools\Macro\Visual Basic Editor. Cửa sổ Visual Basic Editor hiện ra.
- Vào menu\Insert\Module.
- Copy đoạn này vào:
Mã:
Function Ro(Khoiluongtt, C, Gocmasat) as single
  'Goc ma sat trong da chuyen sang so thap phan
  'Tinh he so A
    A = 3.14 * 0.25 / (1 / Tan(Gocmasat * 3.14 / 180) + Gocmasat * 3.14 / 180 - 1.57)
  'Tinh he so B
    B = 1 + A / 0.25
  'Tinh he so C
    D = A / 0.25 / Tan(Gocmasat * 3.14 / 180)
  ' Xac dinh suc chiu tai quy uoc cua dat (kG/cm2)
    Ro = (A + B) * Khoiluongtt / 10 + C * D
End Function
- Sau đó đóng cửa sổ Visual Basic Editor lại.
- Vào Menu/Insert/Function. Chọn tên hàm Ro trong User defined. Bạn chỉ cần khai báo một số thông số như các hàm có sẵn.
 
Lần chỉnh sửa cuối:
Chào bạn loisude!

Thỉnh thoảng mới vào ketcau thôi vì thấy có vẻ ít bạn trao đổi về lĩnh vực ĐCCT. Tôi muốn các bạn tự nghiên cứu để lập ra các sản phẩm thì hay hơn là sử dụng của người khác. Những vấn đề liên quan như hàm nội suy, hàm tự tạo tôi đã post lên cả rồi mà.

Tôi đang nâng cấp xử lý thống kê với số lượng mẫu lớn khoảng trên 300 mẫu thay vì 75 mẫu hiện nay.
 
Lần chỉnh sửa cuối:
Với những gì tôi post lên, các bạn ngành ĐCCT-ĐKT có thể áp dụng để lập được các "chương trình" thí nghiệm trong phòng như cắt nén, thành phần hạt hay thí nghiệm ngoài trời, thậm chí cả hình trụ hố khoan trong Excel. --=0

Nên tự nghiên cứu thì mới nâng cao trình độ của mình được, không nên ỷ lại những cái có sẵn do người khác lập cho. Tuy vất vả 1 chút nhưng sẽ học được khối điều hay đấy
 
loisude đã viết:
Huong oi. ban up file excel nay len luon di (tren ketcau co chua vay?) thanks
Thầy em hãy dấu nghề lắm sợ sinh viên vô down mất công sức của thầy mà ko chịu suy nghĩ. Thầy thông cảm cho bọn em,chứ kiến thức được học mới bỉ là 1% nhỏ bé so với của thầy. Do vậy dù có ra trường nhưng chắc chắn vẫn cần thầy giúp đỡ,em hy vọng những cái thầy nói trên forum làm sao cho tất cả bọn em đều có thể sử dụng đượcộcMng muỗn duy nhất thầy cho ăn cơm luôn ko cần vô bếp-=.,,
 
anh17d4 đã viết:
Thầy em hãy dấu nghề lắm sợ sinh viên vô down mất công sức của thầy mà ko chịu suy nghĩ. Thầy thông cảm cho bọn em,chứ kiến thức được học mới bỉ là 1% nhỏ bé so với của thầy. Do vậy dù có ra trường nhưng chắc chắn vẫn cần thầy giúp đỡ,em hy vọng những cái thầy nói trên forum làm sao cho tất cả bọn em đều có thể sử dụng đượcộcMng muỗn duy nhất thầy cho ăn cơm luôn ko cần vô bếp-=.,,

Không phải tôi dấu nghề đâu, những kiến thức chia sẻ trên đây chính là những phần ứng dụng của tôi trong việc xây dựng các "chương trình" thuộc lĩnh vực ĐCCT-ĐKT. Các em nên đi sâu học hỏi, còn rất nhiều thứ tôi không thể biết được. Hy vọng sẽ có người trò mà hơn thầy, cùng cộng tác với diễn đàn để chia sẻ kiến thức với các bạn :-= .
Tôi xin giới thiệu bài viết dưới đây để các bạn có thể hình dung bao quát hơn về các công việc có thể và sẽ làm được khi dùng VBA.
 

File đính kèm

  • UngdungVBA.zip
    431.3 KB · Đọc: 2,003
Lần chỉnh sửa cuối:
Em đang làm bài thí nghiệm cơ học đất gồm rây sàng rây rửa lắng đọng , vẽ biểu đồ thành phần hạt thí nghiệm đầm chặt, thí nghiệm cắt, thí nghiệm nén cố kết . Thầy có thể upload một số file lên cho em tham khảo được không ạ? Em mới học excel nên thấy mấy cái file thầy làm đó nhìn hoảng quá , có suy nghĩ đến khi ra trường chắc không làm nổi cái file đó. Mong thầy giúp đỡ cho em tham khảo cách tính toán và cách vẽ biểu đồ . Cảm ơn thầy.
 
Em có thể tải về phương pháp vẽ biểu đồ ở đây:

http://www.giaiphapexcel.com/forum/showthread.php?t=393

Mấy bài toán như bạn nói không phải là khó, các kiến thức đã được truyền tải lên diễn đàn rồi. Bài toán khó nhất bây giờ chíng là nén cố kết. Tôi đang nghiên cứu, chỉnh sửa (do người khác lập) cho hoàn thiện rồi mới post lên sau.

Học Excel không khó đâu, chịu khó đầu tư 1 chút, bây giờ CNTT, Internet phát triển, sách vở thì nhiều,... nên học nhanh lắm. Mục tiêu là sắm cho các bạn cái cần để câu cá chứ không phải cho sẵn con cá. Hy vọng các bạn hiểu mong muốn của tôi.
 
Thầy nói thế em cũng đồng ý. Do em mới học mà thấy cái hình thầy post lên nó quá hay nên xin về tham khảo. Em sẽ tự làm có gì mong thầy chỉ thêm cho trong quá trình thực hiện. Do thời gian nộp bài báo cáo cũng gần kề mà em thì mới biết đến trang web này nên cũng chưa học được gì.
 
To phantuhuong:
Em cũng đã lập (có thể coi là gần hoàn thiện) chương trình tính toán xử lý số liệu thí nghiệm... Riêng về phần thí nghiệm nén cố kết em thấy chọn điểm P - là điểm cong nhất trên đồ thị giữa hệ số rỗng (e) và áp lực nén (P) là khó nhất (em mới chỉ xác định tương đối thôi) chưa tìm được thuật toán để tự động chọn.

LunCK.jpg


PcCoket-1.jpg



Mong được anh góp ý và chia sẻ!
 
Lần chỉnh sửa cuối:
Cái như em lập là tốt rồi, quan trọng nhất là tính tự động hóa khi xác định các chỉ tiêu của nén cố kết thôi. Cái anh quan tâm nhất là nội suy trên đường cong để tính toán mà vẫn chưa tìm được. Hiện bây giờ vẫn chỉ là bán thủ công thôi :-= :.,
 
PhanTuHuong đã viết:
- Đầu vào: dạng CSDL

TPH2.jpg


TPH.jpg


- Kết quả:

TPH3.jpg

Cho mình hỏi code để từ form nhập các số liệu đó nó lại hiển thị thông tin trên từng ô tính của excel. Tức là cách làm cho nhập dữ liệu từ form nó lại thể hiện trên bảng tính.
Xin giải thích câu hỏi thứ 2 là làm thế nào để vẽ được các đồ thị như bạn nvson đã làm bằng excel?(cụ thể hỏi vẽ đồ thị các bảng thành phần hạt, cắt và nén cố kết?) Mong mọi người giải thích . Nếu có thể thì làm giúp ví dụ. Cảm ơn!
 
Để tạo form vào dữ kiệu thì bạn tham khảo ở đây:

http://www.giaiphapexcel.com/forum/showthread.php?t=652

Còn muốn hiểu hơn về biểu đồ thì bạn cứ hỏi trực tiếp người tạo ra (anh nvson), anh ấy sẽ giúp cho.
Còn những kiến thức liên quan đến ĐCCT thì mời bạn đọc các chủ đề trong Excel và kỹ thuật.
 
Xin lỗi vì mình cũng từ bên kết cấu sang đây chưa biết là trong diễn đàn có bài viết này. Mình hỏi chung những vấn đề thấy chưa hiểu được chứ đâu biết liên lạc anh nvson như thế nào? Mà link bạn đưa cho mình là cách thể hiện đồ thị khi nhập từ form. Mình muốn khi nhập vào nhà ở ông x thì nó lại hiện lên trên ô tính excel đang còn để trống . Ví dụ trước đó là : Tên công trình : ............. Khi nhập trên form thì nó điền vào ô ..... ấy. Mong bạn giúp cho .

Bạn cứ vào đường link ở trên và đọc kỹ các bài đã post nhé --=0
 
Chỉnh sửa lần cuối bởi điều hành viên:
Trong diễn đàn đã có đề cập đến các vấn đề đó rồi. Anh nên xem lại đầy đủ các bài viết trong box Excel Kỹ Thuật là có thể tự làm được rồi. Anh cứ tìm hiểu đi có gì không làm được thì anh lại yêu cầu lại lần thứ 2 đến lúc đó mọi người trong diễn đàn sẽ giúp. Mọi người mong muốn từ những ý tưởng, những bài hướng dẫn đưa ra được các thành viên khác sử dụng có hiệu quả để áp dụng trong công việc của mình chứ không sử dụng cái đã làm sẵn của người khác. Chúc anh thành công.
 
Cho tôi hỏi câu hỏi này nữa : Tôi muốn vẽ đường cấp phối hạt bằng excel biểu diễn trên biểu đồ nửa logarit với trục hoành là logD và trục tung là % trọng lượng lọt qua rây thì làm thế nào?
 
Từ trước đến giờ tôi chỉ dùng Excel cho việc xử lý dữ liệu (Kế toán, thống kê,...) nhưng về kỹ thuật chưa bao giờ. Nhìn các ứng dụng các bác làm tôi thấy rất tuyệt! Mong các bác tiếp tục trao đổi thảo luận và nếu có thể thì gửi kèm chương trình file cùng hướng dẫn đẻ mọi người cùng học.
 
Anh cũng không cần phải upfile lên làm gì nếu thấy không cần thiết. Tôi chỉ nhờ anh chỉ cách vẽ các biểu đồ dạng đó bằng phần mềm excel để tự vẽ cho riêng mình. Ví dụ như cái biểu đồ kia và cái này không biết vẽ bằng cách nào?

PhanTuHuong đã viết:
 
Bạn có thể tải hướng dẫn vẽ biểu đồ quan hệ XY ở dưới đây về nghiên cứu

http://www.giaiphapexcel.com/forum/showthread.php?t=393

Thực ra, việc vẽ các biểu đồ rất đơn giản, quan trọng là cách trình bày cho đẹp thôi.
Để xác định chỉ tiêu sức cắt C, phi thì bạn tìm hiểu thêm các hàm liên quan đến phương pháp bình phương bé nhất (đã có trong mục Excel và KT). Hàm chuyển đổi từ góc dạng thập phân ra độ và ngược lại cũng đã có rồi.

Chúc bạn thành công!
 
Ứng dụng VBA trong Excel

Em đang viết một bài tính toán về tường chắn đất bằng BTCT có dùng VBA trong Excel tình cờ đọc được bài viết của thầy em thấy khá hay, tuy nhiên hiện nay em đang vướng mắc là không đưa được chữ có dấu tiếng việt lên dòng thông báo. Nhân tiện em hỏi thầy đã sử dụng font gì cho chương trình của mình và có cần can thiệp hoặc đổi lại font của hệ thống windows không? Em mong thầy chỉ giúp và cám ơn thầy rất nhiều..........*****
 
Web KT
Back
Top Bottom