QUẢNG CÁO ĐẦU TRANG

Collapse

Thông báo

Collapse
No announcement yet.

Để sử dụng Excel hiệu quả hơn

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

  • Để sử dụng Excel hiệu quả hơn

    Chào các bạn!
    Excel là một chương trình với khả năng tính toán rất lớn, tuy nhiên để sử dụng "tàm tạm" thì rất nhanh (chắc khoảng dăm ba buổi gì đó), còn nếu thực sự tìm hiểu để sử dụng hết các tính năng mà bác Microsoft cung cấp chắc cũng rất mệt. Tôi xin giới thiệu ở trong bài viết này 1 vài điều tôi biết và thấy khá hiệu qủa.

    1. Sử dụng macro để lập thêm các hàm:


    -Trong Excel có các hàm tính toán có thể đáp ứng được các yêu cầu tính toán của chúng ta, tuy nhiên để đạt được kết quả nhiều khi phải viết những công thức rất phức tạp, cồng kềnh,... khi đó bạn nên sử dụng các hàm lập thêm để các công thức bớt cồng kềnh, dễ kiểm soát hơn. Để lập thêm hàm ta làm như sau:

    B1: Mở Excel, vào menu Tool -> Macro -> Visual Basic Editor (hoặc nhấn Alt_F11), khi đó cửa sổ Microsoft Visual Basic sẽ mở ra giống như hình dưới. (Nếu muốn tắt hay hiện 1 cửa sổ nào đó bạn vào menu view và chọn cửa sổ thích hợp, thông thường ta làm việc với cửa sổ Code).

    B2: Vào menu Insert -> Module
    B3: Trong cửa sổ Code bên tay trái, bạn viết các hàm lập thêm. (Ví dụ tôi viết hàm f_As tính diện tích thép khi biết đường kính, số lượng.)
    B4:Ghi lại macro vừa viết, trở lại màn hình Excel ta có thể sử dụng hàm vừa lập như một hàm của Excel.
    B5: Do các hàm lập thêm cũng là một dạng macro nên khi quét virus bạn cần cẩn thận khi chọn chế độ "All file", "All macro" vì có thể macro của bạn bị "chém" nhầm. (Theo tôi thấy các chương trình diệt virus như NAV, McAfee… quét thì không có vấn đề gì, còn "bác" BKAV nhà ta đã có lần "xin" của tôi vài macro rồi.)
    B6: Có gì hay ho lên mạng post cho mọi người cùng biết.
    Tôi gửi kèm theo 1 file chứa vài cái macro tôi lập làm ví dụ và để mọi người tham khảo.
    (Note: Ngôn ngữ để viết các Fuction trên là ngôn ngữ Visual Basic, bạn nào chưa có thì tìm 1 quyển sách hướng dẫn sử dụng VB về đọc, cũng rất nhanh).

    2. Đặt tên/Sử dụng tên


    Những tình huống khi chúng ta sử dụng nhiều lần dữ liệu trong một ô, thay vì phải nhập đầy đủ địa chỉ ô đó ta có thể đặt tên cho ô đó và gọi ra khi cần. Để đặt tên ta làm như sau:
    Vào menu Insert -> Name -> Define …
    Bảng Define Name hiện lên, trong mục "Name in workbook" bạn nhập vào tên của ô dữ liệu (Tên này nên đặt theo hướng gợi nhớ hay các tên đã thành quy ước quen thuộc để thuận tiện cho việc sử dụng, ví dụ: Mác bê tông -> MBT; h, a, Rn…)
    Trong mục "Refers to" bạn chọn ô chứa dữ liệu, và nhấn "add". Muốn định nghĩa thêm tên bạn lại nhập tên và chọn 1 ô khác, sau đó nhấn "OK".
    Sau khi định nghĩa xong, bất kỳ khi nào bạn cần sử dụng dữ liệu trong ô đã được đặt tên bạn chỉ cần nhập tên ô đó vào là được.
    Việc sử dụng tên không những làm cho các biểu thức gọn hơn, dễ theo dõi hơn, mà còn giúp Excel truy xuất nhanh hơn (Hình như thế…).


    Tôi có tải hình theo nhưng không hiểu làm thế nào để các hình chèn vào chỗ mình muốn đươc. Bác Admin đâu rổi? không thấy bác hướng dẫn gì cả, có phải ai cũng giỏi món mạng mẹo này đâu.
    Attached Files
    Last edited by revzmoon; 01-11-2004, 01:07 AM. Lý do: Không làm sao cho các hình đúng vị trí!!!!!!

  • #2
    (Chuyện ngoài lề sân cỏ)
    Thú thật để có được những điều đơn giản như trên tôi đã tốn khá nhiều công sức, và cả cay đắng nữa!!!!
    Thực chất tôi đã nghe nói tới hàm lập thêm này từ lúc còn sinh viên, tôi đã hỏi thầy giáo dậy tin học của tôi, khi đó thầy cũng chỉ cho các SV copy file có macro thầy đã viết về dùng còn hỏi thầy làm thế nào thì thầy không nói cho, còn nói để thầy bán bản quyền ???!!!

    Khi ra trường, tôi có đến 1 đơn vị thiết kế khác có bạn tôi làm ở đó, thấy họ (lại) sử dụng các hàm lập thêm, tôi hỏi và khi đó họ (lại) không nói. Tôi đem chuyện này kể với 1 người bạn, họ tiết lộ cho tôi 1 chút: "Viết bằng ngôn ngữ VB".
    Tôi đã đi tìm rất nhiều sách dậy VB, đọc, nhưng không thấy quyển nào nói về việc viết thêm các hàm cho Excel cả. Tôi đành tự mầy mò, và đến lúc (tình cờ??!!) tôi biết được những điều trên (một tí xíu, rất nhỏ của VB) tôi tự hỏi tại sao những người khác và cả thầy giáo của tôi lại không cho tôi biết điều đó, họ đã buộc tôi tốn rất nhiều công sức để làm một điều mà lẽ ra không cần (Em xin lỗi thầy, nhưng thú thực em cũng không thoải mái lắm, có lẽ thầy nói cho sinh viên thì tốt hơn…)???

    Liệu đó có phải là điều như có người nói: "Người Việt Nam hơi nhỏ nhen, sợ người khác biết thì họ sẽ giỏi hơn mình???"

    Ghi chú


    • #3
      Tình trạng của bro lúc đó rất giống với em hiện nay. Bao giờ hỏi cũng chỉ nhận được một câu trả lời duy nhất "Em về nghiên cứu thêm đi". Thế là lại phải mất vài tối ngồi đọc file help mãi mới ra được 1 vấn đề nhỏ bằng cái móng tay "lệnh sendkeys sử dụng như thế nào" ặc ặc... trong khi nếu được một ai đó giảng cho mình thì mất tới không quá 1 phút. Thế rồi trong các chú sinh viên trong khóa sau lại có chú đi theo vết xe đổ của mình. Đành rằng khi mình tự tìm tòi thì khả năng tự mình giải quyết vấn đề sẽ tăng lên, nhưng nó sẽ dẫn đến khả năng làm việc theo nhóm sẽ đi xuống, thậm trí không có. Không biết có phải bi quan quá không chứ em thấy các phần mềm của VN lập tuy có hay thật nhưng về mức độ đồ sộ thì chắc chẳng bao giờ bằng được chương trình của nước ngoài cả. VD: PM Nova của Hài Hòa và Softdesk, khi sử dụng mọi người sẽ thấy ngay, chỉ mỗi tội là các form và tiêu chuẩn chuẩn của nó không giống ở VN mà thôi. Em nghĩ là nếu phần mềm của các thầy viết ra mà lớn (chẳng hạn như MASCAD của mấy anh CDC & CIC) thì em nghĩ có thể giữ bản quyền, chứ còn mấy hàm macro hay mấy file excel nhỏ nhỏ mà cũng không cho thì quả là.... Bây giờ chỉ thích làm việc với mấy thầy trẻ thôi, tính tình thoải mái, giúp đỡ nhiệt tình...hehe

      Ah nhân đây xin hỏi mấy anh đã bao giờ Excel tính sai chưa ah? Không hiểu hôm nọ em làm cái gì mà bây giờ 1 + 1 = 5 (bó tay). Trong Word khi dùng Formular đôi khi cũng bị hiện tượng này. Bro nào biết chỉ giúp nhé.

      ah quên, còn một vấn đề nữa. Em thấy mấy file excel tính sàn - móng gì đó post lên có phần bảng tra, thấy sử dụng hàm lookup có vẻ hơi dài dòng quá. Em nghĩ là có thể thay nó bằng 1 vòng lặp while.. do trong VB thôi -> kq sẽ không cần những ô tính nháp trung gian nữa mà lấy được luôn kết quả cần tìm.
      Cầu xây xong đã lâu không thấy tôi về đưa dâu....

      Ghi chú


      • #4
        Nguyên văn bởi revzmoon
        (Chuyện ngoài lề sân cỏ)
        Liệu đó có phải là điều như có người nói: "Người Việt Nam hơi nhỏ nhen, sợ người khác biết thì họ sẽ giỏi hơn mình???"
        >>> Thế à, sao bác khóa mã nguần lại. Bác nói thế rồi mà lại khóa mã nguồn thì tôi cũng cảm thấy khó hiểu quá.
        >>> Cái quan trọng nhất trong VBA trong excel không phải ở chỗ mở được cửa sổ lập trình. Quan trọng là ở chỗ thuật toán lập trình, cách Truy suất dữ liệu trên các worksheet. Các tạo Addin.
        >>> Sách hướng dẫn thì có đấy chứ. Bạn mua quyển Excel inside mà đọc. Trong đó một số ví dụ đấy. Đọc hết quển đó là thành cao thủ luôn thôi. Cần gì thì hỏi bác NiceShot ấy. Bác ấy cũng là cao thủ VBA đấy !

        Ghi chú


        • #5
          Buồn quá

          Có lé cần phải mở lớp dạy VBA cho anh em SV ngành xây dựng thôi, tôi thấy vấn đề này khá thiết thực mà anh em cũng cảm thấy bức bối lắm rồi. Nếu lớp này được tổ chức, tôi sẽ cố gáng đem hết những "ngóc ngách" của VBA để truyền đạt cho mọi người.
          Công ty Cổ phần kỹ thuật công trình- Thương mại C.N.C.C
          Email : cncc.jsc@gmail.com

          Ghi chú


          • #6
            Nguyên văn bởi PMXD
            Có lé cần phải mở lớp dạy VBA cho anh em SV ngành xây dựng thôi, tôi thấy vấn đề này khá thiết thực mà anh em cũng cảm thấy bức bối lắm rồi. Nếu lớp này được tổ chức, tôi sẽ cố gáng đem hết những "ngóc ngách" của VBA để truyền đạt cho mọi người.
            bác PMXD oi, bác là khóa bao nhiêu? lớp nào thế? đang có việc liên quan đến VBA nhờ bác tư vấn cái. Ngồi đọc sách lâu quá. Mà bao h bác mở lớp thì cho em đăng ký nhé (nếu có thể em tự ứng cử chức lớp trưởng luôn :d).

            Tiếng Việt của diễn đàn tốt quá. Hoan hô bác admin. Cho em hỏi máy của em cài cái gì để dùng tiếng việt như thế này trong word? hiện em đang dung vietkey2000, lỗi lên lỗi xuống hic hic.....
            Cầu xây xong đã lâu không thấy tôi về đưa dâu....

            Ghi chú


            • #7
              He he Bác nào muốn coi mã của mấy chương trình excel bị khoá liên hệ em cỡ nào cũng mở được he he.
              [COLOR=RoyalBlue]

              Ghi chú


              • #8
                Anh REZMOON nói đúng đấy em hỏi mấy thầy chỉ sơ sơ, mà đọc sách tiếng việt cũng chả có, đành ngồi đọc mấy cuốn e-book excel để hiểu đôi khi mất cả buổi vấn đề nhỏ xíu.
                Ah em mới mò mấy bảng của tụi nước ngoài phát hiện mấy cái có thể mọi người biết rồi nhưng chả thấy trong mấy bảng tiếng việt không cọ
                Đó là sử dụng mấy nút form trong mục View/Toolbar để cho bảng tính có vẽ hitech tí.
                Ví dụ bảng tính sàn,cột,dâm.. có chổ nhập mác bêtông, thép cho ra cường độ thay vì phải tự tay nhập theo em ta tạo cái form dùng chuột nhấp thấy tiện hơn. Để tạo ta vào form chọn combo box xong các bác tạo ra nó. Nhấp phải vào biểu tượng chọn control nó sẽ có 2 ô input và cell link ở ô input ta chọn những ô mà ta đã lập sẵn trong bảng ví dụ AI,AII,AIII.. trong ô cell link chọn ô bất kì thì khi ứng với các giá trị ta chọn trong combo box thì tại ô cell link sẽ cho giá trị theo thứ tự từ trên xuống dưới ví du AI ứng gtrị 1, AII ứng là 2.... Thì khi đó chỉ cần lập trình liên kết ô cell link là được. Nói chung sử dụng form rất tiện
                Và mấy ô đó để ngoài cũng hơi kì các bác hide nó là ok.He he vụ hide này em mò cũng khá lâu.
                Hi vọng mọi người có gì hay chỉ bảo với
                Theo em nguyên tắc lập trình càng đơn giản càng tốt nhưng hiệu quả , chứ không đem kiếm vàng chém ruồi.
                [COLOR=RoyalBlue]

                Ghi chú


                • #9
                  >>> Chú ĐứcXD có phá được password acces, Excel, VBA,... của bộ office 2003 không, anh chưa unprotect nó được. Thế mới cú chứ. Phá một file mà nó bắt anh ngồi đợi cả buổi sáng, cuối cùng ra pass sai.
                  >>> Chú nói cũng rất đúng, chỉ cần sử dụng hết các tính năng của excel như forms, chart, các hàm solver, seek,... chưa cần sử dụng đến VBA đã quá mạnh rồi. Dạo này bận quá, không thì viết bài được, chứ chủ đề này rất hay, hẹn khi khác sẽ bàn cùng chú ĐứcXD cái vụ lập bảng tính không cần VBA này.
                  >>> Mà đọc sách làm quái gì nhiều, down mấy bảng tính ngon ngon về, phá password, ngồi ngắm nó nửa tiếng là giỏi thui. Chứ đọc Ebook toét mắt ra mà lại tiến bộ châm. Mà có ai thích đọc thì đến chỗ tôi mà lấy sách excel thì nhiều lắm : "excel bible 2003, mastering excel 2003, programming VBA with excel 2003,...", Vì dung lượng lớn quá nên không gửi lên mạng đc, dial up mà. Mỗi quyển đều có đĩa CD sample đi cùng nên dung lượng hơi lớn.
                  Last edited by CNPM; 04-11-2004, 01:40 PM.

                  Ghi chú


                  • #10
                    He he em phá được đấy bác up thử 1 file lên xem nào
                    [COLOR=RoyalBlue]

                    Ghi chú


                    • #11
                      Các bạn có cái tutorial nào để làm mấy cái macro trong excel cho mình xin được không ? hoặc một file mẫu cũng được. Đại khái mình có một loạt các cột số liệu, và mình muốn làm vài phép cộng trừ nhân chia trên các cột này và vẽ ra mấy cái curves. Đơn giản thế thôi

                      Xin cảm ơn trước.
                      Does engineering need science?

                      Ghi chú


                      • #12
                        Nguyên văn bởi ducxd
                        Ví dụ bảng tính sàn,cột,dâm.. có chổ nhập mác bêtông, thép cho ra cường độ thay vì phải tự tay nhập theo em ta tạo cái form dùng chuột nhấp thấy tiện hơn. Để tạo ta vào form chọn combo box xong các bác tạo ra nó. Nhấp phải vào biểu tượng chọn control nó sẽ có 2 ô input và cell link ở ô input ta chọn những ô mà ta đã lập sẵn trong bảng ví dụ AI,AII,AIII.. trong ô cell link chọn ô bất kì thì khi ứng với các giá trị ta chọn trong combo box thì tại ô cell link sẽ cho giá trị theo thứ tự từ trên xuống dưới ví du AI ứng gtrị 1, AII ứng là 2.... Thì khi đó chỉ cần lập trình liên kết ô cell link là được. Nói chung sử dụng form rất tiện
                        Và mấy ô đó để ngoài cũng hơi kì các bác hide nó là ok.He he vụ hide này em mò cũng khá lâu.
                        Chào ducxd!
                        Mình cũng có biết về cái món form, combo box gì gì đó, và như trong bài viết của mình có nói là giới thiệu (chỉ) một số cách để sử dụng Excel hiệu quả hơn thôi, đâu có tham vọng nói được hết ) Tất nhiên mỗi cái có một thế mạnh riêng, đúng không? Mình nghĩ nhân tiện ducxd post lên một bài nho nhỏ về form (chi tiết hơn một chút) để cho anh em tiện theo dõi.
                        Còn quả thật cũng xin lỗi anh em về việc khoá mã hôm trước. Mình thấy tất cả các giải thuật trong đó không có gì là phức tạp nên cũng không để ý, lúc post bài chỉ attach vào mà không bỏ mã đi! . Nếu có bạn nào có ý định lấy file không khoá code mình sẵn sàng up lại (nhưng xem ra là không cần thiết thì phải )

                        Ghi chú


                        • #13
                          Mới down đc chương trình này dùng để bẻ khóa mấy cai VBA trong excel + word. Đã dùng thử với mấy file excel mọi người post lên, kết quả mĩ mãn. Mọi người dùng thử xem thế nào nhé
                          Attached Files
                          Cầu xây xong đã lâu không thấy tôi về đưa dâu....

                          Ghi chú


                          • #14
                            Excel tutorial

                            Nguyên văn bởi phu_ho
                            Các bạn có cái tutorial nào để làm mấy cái macro trong excel cho mình xin được không ? hoặc một file mẫu cũng được. Đại khái mình có một loạt các cột số liệu, và mình muốn làm vài phép cộng trừ nhân chia trên các cột này và vẽ ra mấy cái curves. Đơn giản thế thôi

                            Xin cảm ơn trước.
                            Bạn chịu khó đọc tiếng anh nhé. Tiếng Việt thì chịu thôi, không có đâu

                            Ghi chú


                            • #15
                              Cảm ơn CNPM nhiều nhiều. Để lúc nào tôi có thời gian tôi sẽ làm thử xem, nếu có gì không làm được sẽ lại hỏi bạn nhé
                              Does engineering need science?

                              Ghi chú

                              Working...
                              X