Loạt bài học VBA bằng video cho người mới bắt đầu

tuhocvba

Administrator
Thành viên BQT
Làm sao để mọi người nhanh chóng tiếp cận VBA trong khi kiến thức VBA thì quá nhiều, là điều mà mình luôn trăn trở.
Loạt video dạy VBA cho người mới bắt đầu dưới đây sẽ tái hiện lại quá trình tiếp cận VBA của mình từ lúc bắt đầu chưa biết gì cho tới khi code được một chương trình được coi là hoàn chỉnh, có thể ứng dụng trong công việc.

Các bạn theo dõi video, có bất cứ vấn đề thắc mắc nào thì reply trong topic này nhé.

Link:
Mã:
https://www.youtube.com/watch?v=rUwg2-gDRRc&list=PLCeKJ_XakmdmO0TXErVG3oyQT66lXPOnA
 
Sửa lần cuối:
T

thanhphuongvip

Guest
Ad làm bài giảng về mảng đi ad, phần này khó hiểu nhất, trừu tượng lắm luôn, mình có tham khảo một số video trên youtube nhưng chưa hiểu lắm. Cảm ơn Ad!
 

Euler

Administrator
Thành viên BQT
Ad làm bài giảng về mảng đi ad, phần này khó hiểu nhất, trừu tượng lắm luôn, mình có tham khảo một số video trên youtube nhưng chưa hiểu lắm. Cảm ơn Ad!
Bạn ơi ,trong video số 10 có bài về mảng rồi đó bạn.
Bạn cần đăng nhập để thấy hình ảnh


Cứ bình tĩnh xem hết trong list video đi đã bạn ơi. Mỗi video đều giải quyết một bài toán thực tế nào đó, rất hữu ích. Chúc bạn vui và sớm trưởng thành.
 

tuhocvba

Administrator
Thành viên BQT
Ad làm bài giảng về mảng đi ad, phần này khó hiểu nhất, trừu tượng lắm luôn, mình có tham khảo một số video trên youtube nhưng chưa hiểu lắm. Cảm ơn Ad!
Không chỉ video, mà ở topic này cũng đã trình bày về mảng. Bạn có thể tham khảo:
Mình tránh trình bày dài dòng hoặc đi vào các vấn đề phức tạp dẫn tới khó tưởng tượng, vì vậy hi vọng với topic như thế này thì sẽ giúp bạn hiểu hơn về mảng.
 
B

buiquangthuan

Guest
để em đánh dấu bài này lại. Mai mốt coi lại có khi có ích. Cám ơn BQT vì những thông tin hữu ích ạ
 

anhkhoai1088

Yêu THVBA
Làm sao để mọi người nhanh chóng tiếp cận VBA trong khi kiến thức VBA thì quá nhiều, là điều mà mình luôn trăn trở.
Loạt video dạy VBA cho người mới bắt đầu dưới đây sẽ tái hiện lại quá trình tiếp cận VBA của mình từ lúc bắt đầu chưa biết gì cho tới khi code được một chương trình được coi là hoàn chỉnh, có thể ứng dụng trong công việc.

Các bạn theo dõi video, có bất cứ vấn đề thắc mắc nào thì reply trong topic này nhé.

Link:
Mã:
https://www.youtube.com/watch?v=rUwg2-gDRRc&list=PLCeKJ_XakmdmO0TXErVG3oyQT66lXPOnA
hello ad. ad có bài nào tạo macro để đặt hàng không ah?
 

tuhocvba

Administrator
Thành viên BQT
Bạn nên nói rõ yêu cầu:
Đặt hàng ở đâu?
Thao tác người dùng như thế nào?
Data input là gì?
Output muốn thể hiện ra sao?
Hãy tạo chủ đề mới và nói rõ ý tưởng của mình.
Dựa vào thông tin ngắn ngủi này, mình không biết trả lời ra sao.
 
B

Bandit

Guest
Em vừa truy cập vào, có toàn bộ 35 Video, đã nhấn Like rồi nhưng vẫn muốn Comment để cám ơn AD 1 lần nữa.
 

tuhocvba

Administrator
Thành viên BQT
Kiến thức của bạn còn yếu quá. Thử học qua loạt video này xem sao.
@theanh
 
D

Deleted member 151

Guest
Cảm ơn ad, bài viết bổ ích quá
 

manhbh

Yêu THVBA
Cảm ơn Ad đã bỏ công sức ra làm video hướng dẫn cho mọi người, nội dung rất hay ạ
 

Yến

Yêu THVBA
Làm sao để mọi người nhanh chóng tiếp cận VBA trong khi kiến thức VBA thì quá nhiều, là điều mà mình luôn trăn trở.
Loạt video dạy VBA cho người mới bắt đầu dưới đây sẽ tái hiện lại quá trình tiếp cận VBA của mình từ lúc bắt đầu chưa biết gì cho tới khi code được một chương trình được coi là hoàn chỉnh, có thể ứng dụng trong công việc.

Các bạn theo dõi video, có bất cứ vấn đề thắc mắc nào thì reply trong topic này nhé.

Link:
Mã:
https://www.youtube.com/watch?v=rUwg2-gDRRc&list=PLCeKJ_XakmdmO0TXErVG3oyQT66lXPOnA
ADD cho em hỏi sheets và worksheet khác nhau như nào ạ
 

NhanSu

SMod
Thành viên BQT
Sheets là tập hợp của các sheet. Sheet có một số loại khác nhau như worksheet và chart. Thông thường ta hay dùng lẫn lộn sheet và worksheet.
 

Yến

Yêu THVBA
Sheets là tập hợp của các sheet. Sheet có một số loại khác nhau như worksheet và chart. Thông thường ta hay dùng lẫn lộn sheet và worksheet.
Worksheets.Add AFTER:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "KETQUA"
Ở bài VBA05 taosheetmoi có đoạn code trên. Nhưng em không hiểu lắm: tại sao phía trên dùng worksheets, còn phần đặt tên thì chỉ là activesheet. Vì sao sau After lại có dấu ":". Nếu như khi dùng hàm trên excel, sau khi gõ hàm, thường có hiển thị cấu trúc hàm để hướng dẫn, vậy add cho em hỏi trong khi mình viết code VBA có hỗ trợ cấu trúc hàm như ngoài Excel không ạ?
 

tuhocvba

Administrator
Thành viên BQT
Worksheets.Add AFTER:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "KETQUA"
Ở bài VBA05 taosheetmoi có đoạn code trên. Nhưng em không hiểu lắm: tại sao phía trên dùng worksheets, còn phần đặt tên thì chỉ là activesheet. Vì sao sau After lại có dấu ":". Nếu như khi dùng hàm trên excel, sau khi gõ hàm, thường có hiển thị cấu trúc hàm để hướng dẫn, vậy add cho em hỏi trong khi mình viết code VBA có hỗ trợ cấu trúc hàm như ngoài Excel không ạ?
Ở trên Worksheets nghĩa là với Worksheets collection (tập hợp các worksheet) thì làm việc là Add (thêm phần tử-thêm worksheet)
Activesheet nghĩa là sheet mà bạn đang làm việc. Bạn thao tác bằng tay, khi thêm sheet mới thì ngay lập tức bạn sẽ làm việc với sheet đó chứ không phải là sheet nào khác. Và bây giờ bạn đặt tên cho nó (sheet mới).
Về := thì nó là:
Đối tương.Mệnh lệnh Option := Giá trị , tham khảo ở đây
 

NhanSu

SMod
Thành viên BQT
Dấu := có nghĩa là ta truyền tham số của một phương thức (function hoặc sub) theo tên của tham số đó, nhờ đó ta có thể truyền tham số không theo thứ tự khai báo. Truyền tham số theo tên hay dùng khi phuơng thức có nhiều tham số dạng optional (tham số tùy chọn ta có thể cung cấp hoặc không). Ví dụ đơn giản sau minh họa điều này:
Mã:
Sub abc(Optional x = 1, Optional y = 2, Optional z = 3)
    Debug.Print "x=" & x & " y=" & y & " z=" & z
End Sub
Sub test()
    abc
    abc z:=5, x:=4
    abc z:=5
End Sub
Chạy code ta sẽ có kết quả
Mã:
x=1 y=2 z=3       
x=4 y=2 z=5
x=1 y=2 z=5
Như vậy lần gọi thủ tục đầu tiên, ta không truyền tham số nên x, y, z nhận giá trị mặc định là 1, 2, 3.
Lần gọi thủ tục thứ 2 ta chỉ truyền vào tham số x và z nhưng không theo thứ tự đã khai báo, kết quả vẫn đúng.
Lần gọi hàm thứ 3 nếu bình thường ta có thể gọi bằng cách
Mã:
abc ,,5
Nhưng nếu phương thức có nhiều tham số thì gọi theo tên tham số đỡ sai sót hơn.
 

vumanh

Yêu THVBA


Ad ơi, mình làm đúng như hướng dẫn video cũng như viết lại code bài 12 : VBA12 Giaithichlogic baitap videoVBA09.
Nhưng hàm truyền biến của mình không chạy vì báo lỗi sai kiểu dữ liệu, đã xem mỏi mắt cả mấy tiếng đồng hồ nhưng vẫn không hiểu viết sai code ở chỗ nào.
 

tuhocvba

Administrator
Thành viên BQT
Chương trình của bạn sẽ báo lỗi vì:
Mã:
Function timarr(tensp As String) As Integer
    For i = LBound(arr, 1) To UBound(arr, 1) Step 1
        If arr(i).Name = tensp Then
            timarr = i
            Exit Function
        End If
    Next i
End Function
Đoạn code này nó sẽ không hiểu arr là cái gì. arr là mảng toàn cục thì dòng khai báo phải nằm ở đầu Module. Tôi không hiểu sao đầu Module lại là đoạn code của chương trình khác, sau đó mới tới khai báo biến toàn cục này. Vậy lỗi sai thuộc về vị trí khai báo. Bạn hãy di chuyển dòng khai báo biến toàn cục này nằm trên đầu Module, không nằm dưới chương trình nào khác.

Tiếp theo file của bạn không hề có sheet nào có tên là KETQUA1, do đó các câu lệnh sau có thể gây lỗi:
Mã:
ThisWorkbook.Sheets("KETQUA1").Cells(i, 2).Value = arr(i).Name
        ThisWorkbook.Sheets("KETQUA1").Cells(i, 3).Value = arr(i).Id
 

vumanh

Yêu THVBA
Cảm ơn Ad nhé, giờ thì mình đã hiểu và sửa lại để ko bị lỗi.
 
Top