Nhiều loại ngôn ngữ lập trình được tìm thấy và được sử dụng vô cùng phổ biến để hỗ trợ cá nhân cũng như doanh nghiệp. Bạn đã biết đến VBA hay Python, so sánh VBA và Python để tìm ra ngôn ngữ hỗ trợ tốt nhất trong phân tích dữ liệu.

Ngoài phân tích dữ liệu bằng công cụ Excel, hiện nay còn tồn tại nhiều công cụ phân tích dữ liệu phổ biến. Trong vài năm trở lại đây, VBA và ngôn ngữ Python nhanh chóng trở thành sự lựa chọn của nhiều người vì sự gia tăng của trí tuệ nhân tạo. Nếu bạn cũng làm việc trong ngành phân tích dữ liệu, chắc không lạ lẫm gì với hai công cụ này. Vậy hãy thử tìm hiểu và so sánh VBA và Python nhé!

I. VBA là gì? 

Trước tiên, bạn hiểu VBA là gì? VBA là từ viết tắt của Visual Basic for Applications - một ngôn ngữ được phát triển và sử dụng cho các chương trình Microsoft Office như Excel, Word, Powerpoint,... Về cơ bản thì VBA chính là sự phát triển của ngôn ngữ lập trình Visual Basic do Microsoft phát triển vào những năm 90 nhằm cho phép các chương trình nội bộ giao tiếp với nhau. 

Trong kỹ năng tin học máy tính, để so sánh VBA và Python, Microsoft Excel là công cụ phổ biến nhất hiện nay dùng để phân tích dữ liệu bởi nó thân thiện với người dùng và được cài đặt sẵn cho PC. Nhờ vào các nhóm chức năng trong chương trình mà người dùng có thể thực hiện nhiều phép tính khác nhau một cách hiệu quả, thao tác khác như tác bảng tính để báo cáo ngân sách hàng tháng, theo dõi chi phí, sắp xếp dữ liệu. 

1

VBA là gì?

Từ định nghĩa trên về VBA là gì, chúng ta có thể nói Excel hay VBA không phải là một chương trình độc lập. VBA được coi là ngôn ngữ được sử dụng để tự động hóa các tác vụ trong phần mềm Excel. Bên cạnh đó, khi so sánh VBA và Python, VBA cũng cung cấp một môi trường cho phép người dùng viết mã code để phân tích dữ liệu, từ đó xây dựng chức năng của riêng mình, tự động hóa nhiều tác vụ và phát triển mã tùy chỉnh

II. Lợi ích của việc sử dụng VBA là gì?

Khái niệm VBA là gì phổ biến với những người sử dụng Excel bởi đây là một ngôn ngữ linh hoạt, không hề gây cản trở hay khó khăn cho những người mới bắt đầu, cú pháp mã cũng tương tự tên gọi tiếng Anh của nó giúp bạn dễ dàng học và thực hành. 

1. VBA giúp tự động hóa công việc

Như đã tìm hiểu về VBA là gì, các tác vụ trong Excel khá nhanh chóng, tự động hóa khiến cho VBA trở nên vô cùng hữu ích. Nó có thể loại bỏ những thao tác lặp lại và thay thế bằng Macro. Bất cứ điều gì có thể làm trong Excel thì chúng đều có thể được tự động hóa bằng VBA. 

VBA khi so sánh VBA và Python cũng cho phép bạn được thực hiện lặp đi lặp lại các tác vụ theo cùng một cách mà không mắc lỗi nào. Nó cũng thực hiện nhiều tác vụ nhanh hơn so với cách làm thủ công. Nhờ có VBA mà bạn có thể tiết kiệm được thời gian và tránh được nhiều lỗi. 

2. VBA thân thiện với người dùng 

VBA được Microsoft tạo ra để đi kèm với những ứng dụng hay phần mềm của mình, vì vậy mà mã trong VBA khá trực quan. Không gồm các dấu ngoặc, cụm từ dài bắt buộc phải ghi nhớ. Bạn chỉ cần viết những gì mà bạn muốn làm.

2

VBA thân thiện với người dùng

Ví dụ “Rang(“A1:C7”), Clearcontents” - nếu bạn đã quen thuộc với Excel thì có thể đoán được mã này yêu cầu Excel xóa nội dung của mọi ô từ A1 đến C7.Vì tính thân thiện của với người dùng mà VBA có thể giúp bạn dễ dàng sử dụng ngay cả khi mới bắt đầu, chưa có kinh nghiệm lập trình. 

3. Cộng đồng người dùng VBA lớn

Với khái niệm VBA là gì, bạn có thể thấy hiện nay có nhiều tài liệu và diễn đàn trợ giúp bạn làm bất cứ điều gì bạn muốn với VBA. Nó cũng như một ngôn ngữ lập trình nhập môn của Microsoft nên nó có một cộng đồng người dùng mạnh mẽ. 

Nếu là người theo học VBA và Excel thì bạn cũng thấy đây là một lợi thế lớn cho quá trình tự học của bạn vì bạn có thể hỏi ý kiến, tham khảo của bất cứ nguồn nào. Nếu so sánh VBA và Python về đặc điểm này thì VBA có phần nhỉnh hơn.

III. Nhược điểm của VBA là gì?

Như đã bàn luận ở trên về VBA là gì thì VBA không được xem là một ngôn ngữ lập trình độc lập vì vậy nó chỉ có thể chạy trong một ứng dụng tích hợp khác. Ngôn ngữ VBA tích hợp nhiều vào Excel và chương trình Microsoft khác. Và điều này vừa mang lại những ảnh hưởng tốt và những ảnh hưởng xấu.

VBA bị hạn chế với các ứng dụng Office khi so sánh VBA và Python. Sẽ rất phù hợp khi những người khác không cần thêm phần mềm bổ sung nào ngoại từ Excel để sử dụng Macro. Tuy nhiên, nó giới hạn các chứng năng của VBA vì bạn chỉ có thể thao tác các chương trình hay ứng dụng web khác với VBA. 

IV. Python là gì? 

Để so sánh VBA và Python, bạn cũng cần hiểu Python là gì? Python được gọi là một ngôn ngữ lập trình đa năng, cấp cao và vô cùng linh hoạt với mã nguồn mở. Nó nhanh chóng được sử dụng phổ biến vì khả năng xử lý nhiều tác vụ. 

Cú pháp của Python sử dụng từ khóa tiếng Anh nên bạn có thể dễ dàng đọc và hiểu nó. Đó cũng là lý do vì sao Python thân thiện với người dùng. Kể từ khi khái niệm Python là gì ra đời và phổ biến hơn, nhu cầu tuyển dụng các nhà phát triển Python cũng tăng vọt. Điều này đồng nghĩa với việc mức lương cho các vị trí công việc liên quan đến Python cũng không tệ. 

13

Python là gì?

Nhiều ông lớn trong ngành công nghệ như Instagram, Facebook, Google đều sử dụng Python trong các ứng dụng của họ. Điều này đã đã chứng minh cho ta thấy được Python là một ngôn ngữ lập trình đáng tin cậy và có thể là ngôn ngữ trong tương lai. 

Như đã đề cập ở trên về Python là gì thì Python được xem là một ngôn ngữ đa mục đích. Không giống như những ngôn ngữ dành cho miền, Python có thể được dùng cho nhiều ứng dụng khác nhau khi so sánh VBA và Python. 

Ví dụ như chúng ta sử dụng HTML và CSS để xây dựng hay thiết kế website và chúng ta có thể dùng Python để phát triển website, phát triển phần mềm hay ứng dụng cho thiết bị di động. Có thể thấy, Python là gì được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau. 

Xem thêm: Ngôn ngữ lập trình là gì? Top 5 ngôn ngữ lập trình đáng học nhất năm 2021 

V. Ưu điểm khi dùng Python là gì?

Để trở thành một trong những ngôn ngữ lập trình được dùng phổ biến nhất hiện nay, Python sở hữu những ưu điểm nhất định mà chỉ có ngôn ngữ lập tình này mới có. Ngôn ngữ lập trình được tạo ra nhằm hỗ trợ con người làm việc với dữ liệu thuận tiện hơn, vì vậy với từng loại dữ liệu mà người dùng có thể dùng nhiều loại ngôn ngữ khác nhau. Vậy với những ưu điểm của Python khi so sánh VBA và Python thì Python có gì?

1. Python rất dễ học 

Thông tin về Python là gì cho chúng ta biết Python khá thân thiện với người dùng dù là người mới bắt đầu sử dụng và bạn sẽ dễ bắt đầu với nó. khi so sánh VBA và Python, bạn sẽ thấy cú pháp của Python khá ngắn gọn và cách đọc mã cũng như đọc tiếng Anh, vừa dễ học vừa dễ hiểu. Python cũng được coi là ngôn ngữ lập trình đơn giản nhất so với nhiều ngôn ngữ lập trình khác hiện nay. Vì vậy, lập trình Python không khó để chúng ta có thể bắt đầu học hỏi và nghiên cứu. 

2. Thư viện tài liệu Python phong phú

Thông qua những tìm hiểu về lập trình Python là gì, Python có một thư viện rộng mở chứa mã cho nhiều mục đích sử dụng khác nhau như trình duyệt web, thao tác hình ảnh, cơ sở dữ liệu, email,... Những thư viện này giúp bạn thực hiện các tác vụ về phân tích dữ liệu hay xem xét dữ liệu phức tạp một cách dễ dàng. 

4

Ưu điểm khi dùng Python là gì

Khi nhắc đến khoa học dữ liệu, lập trình Python có NumPy cho các thao tác khoa học cơ bản, Pandas cho thao tác và phân tích dữ liệu, Matplotlib giúp trực quan hóa dữ liệu và Seaborn giúp trực quan hóa dữ liệu thống kê. 

3. Python là mã nguồn mở 

Có thể thấy lập trình Python là một công cụ có sẵn miễn phí để tải xuống. Bên cạnh đó, nó còn là mã nguồn mở. Điều này có nghĩa là bạn dễ dàng tải xuống mã nguồn của Python và thực hiện các thay đổi cũng như sử dụng mã Python đã được điều chỉnh. Điều này khá hữu ích khi bạn muốn dùng lại mã Python và tiết kiệm được thời gian xây dựng ứng dụng mới khi so sánh VBA và Python.

4. Python được hỗ trợ tốt 

Ngôn ngữ lập trình Python được dùng phổ biến trong giới công nghệ và học thuật nên có một cộng đồng lớn đã được hình thành đằng sau nó. Bạn luôn có thể chuyển sang Stack Overflow, tài liệu hay mã do người dùng đóng góp để được trợ giúp. Bên cạnh đó, khi so sánh VBA và Python, Python đã tiếp tục giữ vị trí đứng đầu trong 4 năm liên tiếp ở vị trí ngôn ngữ lập trình được yêu thích nhất năm 2020. 

VI. Nhược điểm của Python là gì?

Trên thực tế, không có ngôn ngữ nào là hoàn hảo, vì vậy nếu VBA tồn tại những nhược điểm nhất định thì Python cũng không ngoại lệ. Mặc dù được sử dụng khá phổ biến tại thời điểm hiện tại, không thể không nhắc đến những thiếu sót hay nhược điểm của ngôn ngữ lập trình Python đối với người dùng khi so sánh VBA và Python

1. Mức tiêu thụ bộ nhớ của Python cao 

Lập trình Python là kiểu dữ liệu linh hoạt nên mức tiêu thụ bộ nhớ cao hơn so với những ngôn ngữ khác. Điều này cũng đồng nghĩa với việc Python không phải là lựa chọn phù hợp cho những tác vụ đòi hỏi bộ nhớ cao. Ngoài ra, với bất kỳ dự án nào khi so sánh VBA và Python thì bạn sẽ cần theo dõi mức tiêu thụ bộ nhớ và cần tuân theo một số phương pháp viết mã để tránh những vấn đề tiềm ẩn về bộ nhớ. 

2. Thơi gian thực thi trong Python chậm

Python cũng được xem là một ngôn ngữ thông dịch khi so sánh VBA và Python. Nó có nghĩa là mã Python được thực hiện bằng cách dùng các hướng dẫn trực tiếp thay vì biên dịch thành lệnh ngôn ngữ máy. Hành vi này thường kéo dài thời gian thực thi. 

5

Nhược điểm của Python là gì

Ví dụ như ngôn ngữ C là một ngôn ngữ biên dịch, nên nó không tốn nhiều thời gian để kiểm tra mã nguồn và nhanh chóng chuyển nó thành lệnh CPU. Vì vậy mà mã được biết bằng ngôn ngữ C thường thực thi nhanh hơn Python. 

3. Python đơn giản 

Hiểu về ngôn ngữ lập trình Python là gì thì đây là một ngôn ngữ lập trình đơn giản nhưng sự đơn giản này cũng gây ra một số thiệt hại. Nó khá dễ đọc, cú pháp cũng rõ ràng, ngắn gọn, dễ hiểu. Điều này khiến cho các lập trình viên quen với Python khi so sánh VBA và Python đến mức họ cảm thấy những ngôn ngữ lập trình khác như ngôn ngữ lập trình Java là không cần thiết. 

Thực tế, bất lợi này là do chính con người tạo ra, vì nhiều người dễ bị thu hút bởi sự dễ hiểu của Python hơn so với những ngôn ngữ lập trình phức tạp hơn. Vì vậy, khi so sánh VBA và Python thì đây không được xem là lỗi của ngôn ngữ. 

VII. So sánh VBA và Python

1. Phân biệt chữ hoa chữ thường

Khi so sánh VBA và Python, một điều dễ dàng thấy được là Python phân biệt giữa chữ hoa và chữ thường. Điều này tức là các đoạn mã như r.Value và r.value là hai lệnh khác nhau. Vì vậy, trong ngôn ngữ lập trình Python thì bạn cần chú ý đến từng trường hợp bạn sử dụng trong mã của mình. 

Ngược lại, khi học VBA, bạn sẽ thấy nó không phân biệt chữ hoa hay chữ thường vì vậy 2 đoạn mã trên sẽ được xử lý tương tự nhau. Nếu trong quá trình thực hiện, có thao tác gì đó không hoạt động như mong đợi thì bạn có thể kiểm tra tệp nhật ký PyXLL. Bạn có thể tìm thấy mọi trường hợp ngoại lệ chưa được ghi nhận ở đây và nếu bạn đã cố gắng truy cập vào một thuộc tính chưa được ghi nhận thì có thể thấy một Attribute Error ngoại lệ. 

2. Gọi tên phương thức  

Khi so sánh VBA và Python, ta thấy trong lập trình Python, dấu ngoặc đơn () được dùng để gọi tên một phương thức. Khi không thêm dấu ngoặc đơn khi lập trình Python thì phương thức không được gọi, vì vậy, điều quan trọng là nắm rõ thuộc tính tương ứng với phương thức và thuộc tính nào có giá trị sẵn bằng tham chiếu. Còn trong VBA, chúng có thể được lược qua. 

6

Gọi tên phương thức khi so sánh VBA và Python

Ví dụ như phương thức Select trên Range là một phương thức và vì vậy phải dùng dấu ngoặc đơn trong Python, tuy nhiên có thể bỏ qua khi học VBA. Việc truy cập thuộc tính mà không yêu cầu thêm dấu ngoặc đơn trong VBA có thể dẫn đến kết quả bất ngờ. 

Xem thêm: Script là gì? Có điểm gì khác giữa script với ngôn ngữ lập trình?

3. Named Arguments (Đối số được đặt tên)  

VBA khi so sánh VBA và Python, các đối số được đặt tên hay Named Arguments được dùng với mã Name := Value. Tuy nhiên, trong lập trình Python, cú pháp có phần khác đi và chỉ dùng dấu = thay vì dấu :-. Vì vậy, trong VBA, bạn có thể viết dưới dạng:

7

Và trong Python, bạn điều chỉnh lại dưới dạng:

8

Khác biệt về đối số được đặt tên khi so sánh VBA va Python

4. Thuộc tính khi so sánh VBA và Python

Thao tác truy cập một thuộc tính từ một đối tượng khi so sánh VBA và Python được nhận thấy khá tương tự nhau. Ví dụ để tìm nạp thuộc tính ActiveSheet từ một đối tượng, bạn có thể thực hiện trong VBA như sau:

9

Trong lập trình Python, cú pháp lại được dùng như sau:

10

Thuộc tính khi so sánh VBA và Python

5. Thuộc tính với đối số

Về đối số khi so sánh VBA và Python có phần không giống nhau. Khi học VBA, bạn sẽ thấy sự phân biệt giữa phương thức và thuộc tính thường không rõ ràng vì các thuộc tính có thể lấy đối số. Tuy nhiên, trong Python, một thuộc tính sẽ không bao giờ nhận đối số. 

Ví dụ về các tài sản Range.Offset - một tài sản có đối số tùy chọn. Khi so sánh VBA và Python, nếu thuộc tính được gọi mà không có đối số thì nó được hiểu đơn giản là trả về cùng một đối tượng Range (phạm vi). 

Xem thêm: Data Modeling là gì? Cách áp dụng mô hình hoá dữ liệu trong doanh nghiệp

6. Đối tượng ngầm và 'With'  

Khi học mã VBA hay so sánh VBA và Python, mã thường được viết trên một đối tượng nào đó như Workbook hay Sheet. Đối tượng đó được dùng ngầm khi viết mã VBA. Nếu sử dụng câu lệnh “With...End”, đích của câu lệnh ‘With’ sẽ trở thành đối tượng ngầm định. 

Nếu một thuộc tính không được tìm thấy trong đối tượng ngầm hiện tại thì thuộc tính tiếp theo sẽ được dùng để thử khi học VBA. Trong Python không tồn tại đối tượng ngầm định nên nếu bạn muốn tham chiếu phải chỉ định đối tượng cụ thể. Sự khác biệt rõ ràng khi so sánh VBA và Python. Ví dụ cụ thể về đoạn mã khi so sánh VBA và Python được dùng trong VBA để thay đổi một phạm vi:

11

Sự khác biệt về đối tượng ngầm khi so sánh VBA và Python

Để viết được cùng một mã bằng Python, bạn cần chỉ rõ đối tượng:

12

Đối tượng được chỉ rõ trong Python

7. Bộ sưu tập - Lập chỉ mục trong Collection

Một sự khác biệt khác cũng khá quan trọng khi so sánh VBA và Python. VBA dùng dấu ngoặc đơn để gọi phương thức hay lập chỉ mục vào các Collections nhưng trong Python, dấu ngoặc vuông được dùng để chỉ mục vào các Collections. Khi lập chỉ mục vào các bộ sưu tập Excel thì cần cẩn thận vì Excel sử dụng độ lệch chỉ mục là 1, trong khi Python sử dụng 0.  Điều này cũng có nghĩa là khi lấy mục đầu tiên trong bộ sưu tập Python bình thường, bán sẽ sử dụng chỉ mục 0 trong khi bạn phải sử dụng 1 khi truy cập các bộ sưu tập từ Excel. 

VIII. So sánh VBA và Python trong việc phân tích dữ liệu: Cái nào tốt hơn?

Khi đã xem xét cả hai ngôn ngữ lập trình này thì phát hiện ra chúng có những ưu và nhược điểm riêng. Vậy những ưu nhược điểm này hỗ trợ như thế nào trong hoạt động data analysis

Có thể thấy rõ ràng khi so sánh VBA và Python, cả hai ngôn ngữ này đều là ngôn ngữ thông dịch cấp cao. Ngôn ngữ Python dùng cho mục đích chung, trong khi ngôn ngữ thứ hai dành cho miền. Ngôn ngữ lập trình Python là mã nguồn mở nên cho phép mọi người có thể thay đổi mã nguồn theo nhiều cách. Ngược lại thì học VBA sẽ thấy đây là ngôn ngữ độc quyền của Microsoft, nó không phải mã nguồn mở nên cũng không thể điều chỉnh trên nhiều công cụ. 

Điểm chung và điểm khác nhau khi so sánh VBA và Python sẽ giúp bạn nắm được tổng quan 2 loại ngôn ngữ lập trình này. Khi mới bắt đầu hoạt động phân tích database, ngôn ngữ lập trình Python dường như được yêu thích trong khi VBA không phát huy được tác dụng cho các nhà phân tích dữ liệu có tham vọng lớn. 

So sánh VBA và Python trong việc phân tích dữ liệu

So sánh VBA và Python trong việc phân tích dữ liệu

Nếu không phát huy được tiềm năng thì ngôn ngữ lập trình Python không thể trở nên phổ biến với tốc độ nhanh như vậy trong vài năm qua và được dự đoán còn phát triển hơn nữa. Thêm vào đó, Python cũng có nhiều thư viện hữu ích cho nhiều mục đích như phân tích dữ liệu, phát triển website,...

Khi so sánh VBA và Python, bạn sẽ thấy một trong nhiều lý do chính khiến Python được ưa thích hơn VBA vì khả năng tích hợp tốt hơn với các chương trình khác nhau. Bạn có thể nhập và xuất nhiều loại định dạng tệp khác nhau trong Python. Mã nguồn mở cho phép bạn chỉnh sửa để tương thích với nhiều công cụ, từ đó xử lý tập dữ liệu lớn hơn so với VBA. Khi học VBA và Python, bạn sẽ thấy Python mở ra nhiều hướng dẫn cũng như diễn đàn hỗ trợ bạn trong những tình huống bạn gặp khó khăn hay muốn nâng cao kiến thức của mình. 

Xem thêm: Silo dữ liệu là gì? Cách giải quyết silo data cho doanh nghiệp

Tóm lại, khi so sánh VBA và Python, bạn sẽ thấy được Python thân thiện với người mới bắt đầu và bạn dễ dàng chinh phục được nó nhờ vào nguồn tài liệu phong phú. Nếu bạn gặp lỗi nào không thể giải quyết thì có thể truy cập thư viện để tìm hiểu thêm. Nhìn chung thì cả hai ngôn ngữ này đều thực hiện tốt nhiệm vụ của mình. Bạn có thể dùng VBA trong nhiều trường hợp tuy nhiên không phải tất cả vì chức năng trong Excel cũng bị giới hạn. 

IX. Kết luận

Với những thông tin từ tổng quan đến chi tiết về hai ngôn ngữ lập trình Python và VBA, chắc hẳn bạn cũng có nhận định về chúng. Tùy vào mục đích và trường hợp sử dụng mà bạn có thể tận dụng hai loại ngôn ngữ lập trình này. Khi so sánh VBA và Python, bạn cũng đã có được ưu và nhược điểm của nó, vì vậy không quá khó để phát triển chúng theo hướng của bạn.