Xin hướng dẫn cách tự học VBA

Liên hệ QC
Dạ! Thứ gì cũng đâu có 100% được. Nữ khoa học gia đâu phải ít, cũng không phải dạng vừa nhưng xem ra so với nam thì ... ít quá. Phụ nữ kém tính logic (em nhắc lại: không cả nắm 100%) nên mấy cái môn như IT thì thua hẳn.
Theo thống kê tôi biết thì nó ngược lại. Nữ có đầu óc tổ chức và lô gic hơn. Nam có đầu óc sáng tạo và nghệ thuật hơn.
Nói cách khác, nữ có nửa óc bên trái hoạt động mạnh hơn và nam có nửa bên phải mạnh hơn.

Về cái chuyện "ít/nhiều" thì tùy theo thống kê của bạn tính theo kiểu nào?
Ví dụ lập trình:
1. tính số tuyệt đối phụ nữ khả năng lập trình cấp cao (A) so với nam (B)? A / B = rất nhỏ hơn 1
2. Hay tính số tỷ lệ phụ nữ đạt cấp cao lập trình trên số phụ nữ học lập trình (X%); đem con số tỷ lệ ấy so với con số tỷ lệ bên nam (Y%)? X% / Y%
Tôi chắc chắn là cách tính 2 sẽ cho ra con số khá lớn hơn 1.
 
Lần chỉnh sửa cuối:
Thớt có nói mình là dân kế toán. Vì vậy có hai con đường chọn lựa:

1. nếu muốn cả đời chỉ trông chừng mấy cái tài khoản, dùng Excel để tổng hợp dữ liệu và báo cáo thì biết Excel cộng một chút xíu VBA là đủ rồi. Những cái gì cao hơn thì lên diễn đàn hỏi. GPE có nhiều người sẵn sàng làm từ a đến z.

2. nếu nhìn tương lai xa, có thể nằm trong vị trí quản lý tài chính, ấn định ngân sách, vv... thì cũng chả cần học VBA. Chiều hướng mới của công cụ quản lý bây giờ là Power BI hoặc mấy cái tương tự.

Cả hai con đường đều cho thấy không cần phải tốn một giọt nước mắt để học. Cái cần học nhất là hiểu rõ vấn đề của mình và trình bày vấn đề lên GPE (hay diễn đàn tương tự). Một khi vấn đề được trình bày rõ ràng thì sẽ có người giải nhanh và hay hơn cả mình tự giải.
Máy mình không dùng được Power BI nên không rành, nhưng mình có cảm giác Power BI khó dùng hơn VBA nên khó học hơn VBA
 
Chào các bác,

Em là dân kế toán, kiến thức excel cơ bản cũng tạm để dùng trong công việc. Đợt này rảnh rảnh em mày mò tự học VBA mà thấy khó quá, mỗi lần xem vid hướng dẫn về VBA mà ko hiểu chữ nào, vừa ngồi học vừa khóc một dòng sông. Mà phải cái tính bướng, càng khó càng muốn học cho thông.
Hôm nay vô tình lạc vào diễn đàn em rất mong được các cao thủ đi trước chỉ điểm giúp em, để tự học thì em nên bắt đầu từ đâu, có sách hay tài liệu nào dành cho người mới bắt đầu chưa biết gì như em không ạ?

Em xin chân thành cảm ơn ạ
Tôi thử nghiệm viết function VBA lần đầu tiên cách đây 20 năm nhờ đọc một bài viết về tạo hàm riêng trong Excel trên tạp chí PC-World . Lúc đó tôi mới tiếp cận lập trình đâu đó được hơn 1-2 tháng (Pascal) nên chả biết ứng dụng VBA làm cái gì trong Office nên tôi đành nghĩ ra bài tập để mà làm bằng cách viết mấy cái hàm toán học bằng VBA chẳng hạn tính diện tích tam giác, giải phương trình bậc 1-2... Phải mấy năm sau tôi mới biết "record macro" và nhờ những code minh họa trong macro tôi mới biết tương tác với Office như thế nào bằng VBA.

Rút ra kinh nghiệm từ bản thân, tôi thấy muốn học được VBA trước tiên là phải tập giải quyết những vấn đề nhỏ (chẳng hạn phải viết được một số hàm toán học) để thành thục mấy kỹ năng code cơ bản. Sau đó kết hợp với code trong các macro thì sẽ giải quyết được phần lớn các nhu cầu sau này.
 
Hi hi.... . . . . đam mê và ngiên cứu thoi (Chứ làm công việc cụ thể không ai chấp nhận hàm hoặc code của chị viết ra đâu)
Bởi vì (Kể cả hàm hoặc code của chị viết đúng hay sai mà khi chưa có kiểm định của cơ quan có thẩm quyền)
Ở đây có những vấn đề sau, ta có thể gặp:
(1) Viết chỉ cho ta xài trong công việc
Hoàn toàn ta có thể lấy dữ liệu từ phần mềm của CQ (cơ quan) thành 1 file Excel thô & xử lý nó bỡi những gì ta tự viết ra để nó trở thành cái ta mong muốn
(1.1) Bạn có thể thực hiện điều trên cho bạn hữu gần xa hay nhóm người nào đó để lấy thù lao hay lấy 'le'; Thậm chí B/C sáng kiến

(2) Trong kế toán thì mình mù mờ nhưng trong quản lý cônghệ ở các xí nghiệp thì . . . có thể chủ quan, nhưng đa số vẫn còn là mãnh đất màu mỡ để VBA hoạt động trong bổ xung, hỗ trợ trong công tác quản lí dữ liệu (cho to tác!)

. . . . ..
[Mình chỉ viết lại chuyện đã qua ~ 15 năm mà thôi & cảm ơn vì đã đọc!]
 
Ở đây có những vấn đề sau, ta có thể gặp:
(1) Viết chỉ cho ta xài trong công việc
Hoàn toàn ta có thể lấy dữ liệu từ phần mềm của CQ (cơ quan) thành 1 file Excel thô & xử lý nó bỡi những gì ta tự viết ra để nó trở thành cái ta mong muốn
(1.1) Bạn có thể thực hiện điều trên cho bạn hữu gần xa hay nhóm người nào đó để lấy thù lao hay lấy 'le'; Thậm chí B/C sáng kiến

(2) Trong kế toán thì mình mù mờ nhưng trong quản lý cônghệ ở các xí nghiệp thì . . . có thể chủ quan, nhưng đa số vẫn còn là mãnh đất màu mỡ để VBA hoạt động trong bổ xung, hỗ trợ trong công tác quản lí dữ liệu (cho to tác!)

. . . . ..
[Mình chỉ viết lại chuyện đã qua ~ 15 năm mà thôi & cảm ơn vì đã đọc!]
Vâng ạ, cháu rất mê và nghiện VBA nhưng lại không có đầu óc sáng tạo Bác oi.
Cháu toàn nhờ các Bác với các anh chị trên diễn đàn viết giúp (Cháu rất xấu hổ)
Một số hàm và code của các Bác rất chuẩn thế mà khi mang kết quả cho họ xem thì họ không đồng ý Bác oi.
 
VBA vẫn còn nhiều mảnh đất để hoạt động mà, trong doanh nghiệp có rất nhiều những công việc nhỏ dành cho một nhóm nhỏ làm mà, do quy mô không lớn nên chủ doanh nghiệp đâu thể đầu tư thuê viết phần mềm được.
Mình cũng thích mò VBA lắm nhưng nó biết mình còn mình không biết nó :gathering:. Muốn tự học thì chẳng biết học kiểu gì mua sách xong đọc xong lại quên vì chẳng có bài tập tương ứng lý thuyết để làm thử (học hàm trongexcel còn có nhiều bài tậpđểứng dụng). Quanhđi quẩn lại biết mỗi record macrođể ghi lại thao tác,đọc một số code không quá phức tạp thì còn biết thayđổi do vùng dữ liệu thayđổi cho phù hợp với bài của mình. Còn bảo viết mộtđoạn từđầuđến cuối là chịu :''".
Mà nhân đây cho mình hỏi mọi người có bị lỗi như trên không nhỉ thỉnh thoảng tự nhiên viết bài trên đây nó cứ bị mất dấu cách khá là khó chịu toàn phải thêm dấu cách sau (bài này mình không sửa để hỏi, mình dùng Unikey để gõ tiếng Việt)
 
Bỡi nếu họ đồng ý có nghĩa là ghế của họ đang bị thiếu đi 1 chân;
Đừng đưa cho họ những cái mình đang có;Để họ đưa cho mình những cái họ đang cần, càng khẩn thiết càng tốt
Bài đã được tự động gộp:

Một số hàm và code của các Bác rất chuẩn thế mà khi mang kết quả cho họ xem thì họ không đồng ý Bác oi.
. . . . .
 
VBA vẫn còn nhiều mảnh đất để hoạt động mà, trong doanh nghiệp có rất nhiều những công việc nhỏ dành cho một nhóm nhỏ làm mà, do quy mô không lớn nên chủ doanh nghiệp đâu thể đầu tư thuê viết phần mềm được.
Mình cũng thích mò VBA lắm nhưng nó biết mình còn mình không biết nó :gathering:. Muốn tự học thì chẳng biết học kiểu gì mua sách xong đọc xong lại quên vì chẳng có bài tập tương ứng lý thuyết để làm thử (học hàm trongexcel còn có nhiều bài tậpđểứng dụng). Quanhđi quẩn lại biết mỗi record macrođể ghi lại thao tác,đọc một số code không quá phức tạp thì còn biết thayđổi do vùng dữ liệu thayđổi cho phù hợp với bài của mình. Còn bảo viết mộtđoạn từđầuđến cuối là chịu :''".
Mà nhân đây cho mình hỏi mọi người có bị lỗi như trên không nhỉ thỉnh thoảng tự nhiên viết bài trên đây nó cứ bị mất dấu cách khá là khó chịu toàn phải thêm dấu cách sau (bài này mình không sửa để hỏi, mình dùng Unikey để gõ tiếng Việt)
Bạn đừng lấy chuột dời con trỏ đi hoặc đừng chèn mặt cười, cứ đánh 1 lèo thì không bị mất dấu cách.
 
Mình cũng là dân kế toán, lúc ra trường năm 2009 vào diễn đàn này mới nghe tới VBA, cũng đam mê từ đó nhưng chủ yếu chỉ biết những gì để vận dụng vào công việc thôi chứ ko giỏi như mấy anh chị trên diễn đàn. Bạn muốn học thì cứ mua sách trên diễn đàn về đọc rồi nghiền ngẫm thôi. Cũng giống như anh Maika nói, bạn cứ vận dụng vào viết cho riêng bạn 1 file, ko biết cái gì thì nghiên cứu cái đó, đến khi biết rồi thì qua cái khác. Mỗi ngày đăng nhập vào diễn đàn xem các bình luận cũng là cách để học, nhiều cái để học lắm, cái nào liên quan hoặc cần cho bạn thì đánh dấu lại để đó khi nào cần thì mở ra xem. Diễn đàn chia sẻ hết rồi chịu khó đọc thôi là giỏi, còn hiểu nhiều hay ít tùy vào mỗi người, mỗi công việc mà vận dụng. Chỉ góp ý bạn cách học vậy thôi.
 
VBA chỉ có thực hành, thực hành và thực hành. Mình kiểu tay mơ vào học nên cứ tìm bài tập làm, khi làm kiểu gì cũng vướng, cũng sai. Sai thì tìm lý thuyết đọc và suy ngẫm nguyên nhân. Mình thích học ngược vậy chứ nói thật giờ đem một tập tài liệu ra ngồi đọc thì sách biết mình chứ mình không biết nó. Rồi cái ngày qua ngày thì kiểu gì cái não nó cũng gấp cũng nhăn nhăn hơn ngày trước. (Chỉ kiểu này hay bị các thầy mắng lắm nè :D )
 
VBA dù có thô thiển cũng là 1 ngôn ngữ & chúng ta học ngoại ngữ làm sao thì cứ tương ứng mà làm!
Iêu cầu phải trãi qua các bước
Đọc
Nghe
Nói
Viết
Dịch đứng
Dịch chạy
. . . . .
 
Lần chỉnh sửa cuối:
Chào các bác,

Em là dân kế toán, kiến thức excel cơ bản cũng tạm để dùng trong công việc. Đợt này rảnh rảnh em mày mò tự học VBA mà thấy khó quá, mỗi lần xem vid hướng dẫn về VBA mà ko hiểu chữ nào, vừa ngồi học vừa khóc một dòng sông. Mà phải cái tính bướng, càng khó càng muốn học cho thông.
Hôm nay vô tình lạc vào diễn đàn em rất mong được các cao thủ đi trước chỉ điểm giúp em, để tự học thì em nên bắt đầu từ đâu, có sách hay tài liệu nào dành cho người mới bắt đầu chưa biết gì như em không ạ?

Em xin chân thành cảm ơn ạ
Bạn biết về thuật toán và cấu trúc dữ liệu không.Nếu biết thì mới học được VBA vì VBA chỉ là ngôn ngữ để diễn giải thuật toán của mình thôi.
 
Chào các bác,

Em là dân kế toán, kiến thức excel cơ bản cũng tạm để dùng trong công việc. Đợt này rảnh rảnh em mày mò tự học VBA mà thấy khó quá, mỗi lần xem vid hướng dẫn về VBA mà ko hiểu chữ nào, vừa ngồi học vừa khóc một dòng sông. Mà phải cái tính bướng, càng khó càng muốn học cho thông.
Hôm nay vô tình lạc vào diễn đàn em rất mong được các cao thủ đi trước chỉ điểm giúp em, để tự học thì em nên bắt đầu từ đâu, có sách hay tài liệu nào dành cho người mới bắt đầu chưa biết gì như em không ạ?

Em xin chân thành cảm ơn ạ
Lên mạng Youtube, facebook, wed.... sau đó mày mò kết hợp tham khảo thêm 3 cuốn sách của GPE (phần 1, 2, 3), đảm bảo tốc độ học VBA nhanh nếu bạn có ý chí.
Chúc bạn may mắn!
/*-*/Hữu đẹp trai!
 
VBA chỉ có thực hành, thực hành và thực hành. Mình kiểu tay mơ vào học nên cứ tìm bài tập làm, khi làm kiểu gì cũng vướng, cũng sai. Sai thì tìm lý thuyết đọc và suy ngẫm nguyên nhân. Mình thích học ngược vậy chứ nói thật giờ đem một tập tài liệu ra ngồi đọc thì sách biết mình chứ mình không biết nó. Rồi cái ngày qua ngày thì kiểu gì cái não nó cũng gấp cũng nhăn nhăn hơn ngày trước. (Chỉ kiểu này hay bị các thầy mắng lắm nè :D )
Lên GPE lấy mấy chủ đề người ta hỏi về VBA để tập viết code. Viết không được thì cố mà viết, cùng lắm mà không thể viết được thì lấy code giải trong chủ đề đó về "ngâm kíu". Học kiểu đó cũng được lắm.

Tôi học dictionary từ GPE cũng theo cách đó. Cứ lấy nguyên đoạn code về tùy biến dùng cho dữ liệu của mình đến khi nào ra kết quả thì thôi. Dùng khoảng 10 dữ liệu khác nhau là thành thục.
 
Lên GPE lấy mấy chủ đề người ta hỏi về VBA để tập viết code. Viết không được thì cố mà viết, cùng lắm mà không thể viết được thì lấy code giải trong chủ đề đó về "ngâm kíu". Học kiểu đó cũng được lắm.

Tôi học dictionary từ GPE cũng theo cách đó. Cứ lấy nguyên đoạn code về tùy biến dùng cho dữ liệu của mình đến khi nào ra kết quả thì thôi. Dùng khoảng 10 dữ liệu khác nhau là thành thục.
Em học mò từ chiều đến giờ đoạn code bác @Hoàng Tuấn 868 viết cho mà đau đầu quá, đúng thật tự học VBA này không kiên trì thì không được bác ạ. Cứ tưởng học khó ai ngờ khó thật, khó vật vã vật vờ, khó lờ đờ con mắt, khó vắt cả lên đầu, khó từ đầu đến cuối ......
Bài đã được tự động gộp:

Bạn biết về thuật toán và cấu trúc dữ liệu không.Nếu biết thì mới học được VBA vì VBA chỉ là ngôn ngữ để diễn giải thuật toán của mình thôi.
Ơ....giờ em mới biết cái vụ này ạ. Nếu học thuật toán đấy trên mạng có không bác nhỉ ?
 
Em học mò từ chiều đến giờ đoạn code bác @Hoàng Tuấn 868 viết cho mà đau đầu quá, đúng thật tự học VBA này không kiên trì thì không được bác ạ. Cứ tưởng học khó ai ngờ khó thật, khó vật vã vật vờ, khó lờ đờ con mắt, khó vắt cả lên đầu, khó từ đầu đến cuối ......
Bạn bấm F8 chạy từng bước. Cứ đến dòng lệnh nào tác động đến sheet là lật trang tính ra xem nó tác động ra sao. Ghi chú lại ngay trong dòng code đó luôn
 
Cái vụ F8 mà "thần kỳ" mà mãi sau này mình mới biết (việc Debug là cơ bản của người học lập trình, thế lúc đầu gần như kg có ý thức về việc đó).
Trước chỉ biết bấm, kết quả sao thì nhận vậy, hoặc khi lỗi nó báo thì mới biết.
 
Học VBA thế nào: Cứ học từng bước từng bước, hiểu đến đâu chắc đến đó, khó đến đâu hỏi tới đó (nhớ là trước khi hỏi, mình phải học đi học lại 3 lần rồi, và biết mình hỏi cái gì, vấn đề là gì, và ... cách trình bày câu hỏi)

Và dần dần sẽ tiến thôi, nếu cứ áp dụng quy luật 3 tiếng / ngày dành cho VBA , .. thì tôi nghĩ 1 đến 2 tháng sẽ có trình độ đủ dùng... (tất nhiên có những người sẽ bỏ sớm trước khi đủ thời gian trên --> thì họ sẽ hoặc là còn lâu mới đạt, ...hoặc là cần từ từ thời gian 1 năm 2 năm và lâu hơn nữa sẽ đạt)


Cái vụ F8 mà "thần kỳ" mà mãi sau này mình mới biết (việc Debug là cơ bản của người học lập trình, thế lúc đầu gần như kg có ý thức về việc đó).
Trước chỉ biết bấm, kết quả sao thì nhận vậy, hoặc khi lỗi nó báo thì mới biết.
F8 , Debug.Print, Msgbox... vv
Vì đôi khi sai thuật toán mới là khó nhận ra nhất (cần kiểm tra kết quả từng bước)
 
Web KT
Back
Top Bottom