Học VBA, Excel

  • Thread starter levanduyet
  • Ngày gửi
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
2 Buổi học cuối cùng của lớp VBA

Chào các bạn,
Các bạn download bài 4 này về đọc trước.
Các bạn chú ý: khi học VBA, điều cần thiết (và có thể là bắt buộc nếu xét về góc độ nào đó là bắt buộc) là các bạn phải đọc bài, tìm hiểu bài trước khi đến lớp. Điều này sẽ giúp người hướng dẫn cũng như các bạn có thời gian nhiều hơn để chia sẻ các vấn đề các bạn gặp phải trong quá trình viết các ứng dụng cho mình. Nó sẽ giảm đi sự nhàm chán khi phải trình bài các bài lý thuyết lập trình vốn là khô khan.
Hy vọng các bạn sẽ đạt được điều mình mong muốn qua lớp học này.
Thân,

Lê Văn Duyệt
 

Đính kèm

  • DieuKhienLuongChuongTrinh.rar
    14.9 KB · Lượt xem: 734
Khóa học Quản trị dòng tiền
Thien Thanh_

Thien Thanh_

Trần Lạc Nhi
24/3/06
459
0
18
Miền Trung
To BTC:
Nếu VBA chuyển sang học buổi tối thì em ko dám chắc là có thể tiếp tục tham gia được.
TT nghĩ ko nên đưa chuyên đề này kết hợp với VBA bởi vì như vậy sẽ rất rối. Nếu có thể dứt điểm được VBA căn bản rồi sau đó mới tính đến chuyện kết hợp sau thì hay hơn.
Thành thật, cho em hỏi với tình hình này, VBA dự kiến 5 buổi thì liệu các thầy có bị cháy giáo án ko?
 
Sửa lần cuối:
Thien Thanh_

Thien Thanh_

Trần Lạc Nhi
24/3/06
459
0
18
Miền Trung
Đào Việt Cường nói:
Dear all,
-------
Các bạn nên tham khảo tài liệu của anh Duyệt và có thể gửi các thắc mắc tại đây. Như vậy sẽ làm cho buổi học thứ 3 có nhiều thời gian đi vào nội dụng trọng tâm hơn. Một số kiến thức mang tính lý thuyết như: "khai báo biến và ý nghĩa của biến đối với bộ nhớ máy tính" hay "phạm vi của biến"... anh hai2hai và các anh/ chị khác có thể giải thích kỹ hơn cho các bạn. Các anh/chị cũng sẽ nói cho các bạn về việc phải viết mã lệnh như thế nào cho trong sáng. Tuy rằng những kiến thức này không cao siêu nhưng rất cần thiết rèn luyện cho các bạn kỹ năng lập trình và tạo các thói quen cần thiết.
Hi vọng rằng buổi học thứ 3 này sẽ đem đến cho các bạn những hình dung cụ thể hơn VBA là gì!
Đúng là buổi học thứ 3 giúp hình dung cụ thể hơn về VBA.
TT thấy ý kiến của anh ĐVCường rất đúng. Nhưng hình như hơi khó thực hiện, bởi vì hình như các HV đi học nhưng chưa chịu khó xem bài trước. Qua 2 buổi học, TT thấy hình như các buổi học còn hơi chậm và chưa đi sâu.
Thành thật là buổi thứ 2 TT vừa đi muộn lại nhìn ko thấy rõ nên ko hiểu lắm. Buổi thứ 3 thì thực hành trên máy có đỡ mơ hồ hơn. Nhưng mà ... "hiểu mới lạ" TT nghe một số HV nói vậy. Nếu là TT thì TT cũng ... ko chịu hiểu.
Cho em hỏi sao nghe các bác nói ko hiểu mà ko thấy các bác thắc mắc gì cả?!
Levanduyet nói:
Chúng ta đã trải qua ba buổi học. Các bạn có ý kiến gì không? Các bạn có đề nghị gì không? Các bạn đã thực hiện được điều gì rồi? Sao không thấy bạn nào chia sẻ cả!
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
loisude nói:
Chào bạn.
Mình là thành viên mới của forum. Mình thấy có lớp học VBA. Bạn có thể cho mình tham gia với ko?
YM: __________
Thanks
Chuyển tiếp tin nhắn

Thông tin về các lớp học được công khai và được nói ở box Excel và kế toán này. Bác có nhu cầu học VBA thì cố gắng theo dõi nhé.
 
Thien Thanh_

Thien Thanh_

Trần Lạc Nhi
24/3/06
459
0
18
Miền Trung
LVDuyet nói:
To: Thien Thanh,
Ý của bạn là gì nhỉ? Tôi không hiểu. Việc học buổi tối, tôi chỉ hỏi ý kiến các bạn thôi. Còn 5 buổi học VBA thì vẫn phải là CN thôi.
Thân,

Le Van Duyệt
TT nói:
Cho em hỏi sao nghe các bác nói ko hiểu mà ko thấy các bác thắc mắc gì cả?!
Trích nguyên văn:
Levanduyet nói:
Chúng ta đã trải qua ba buổi học. Các bạn có ý kiến gì không? Các bạn có đề nghị gì không? Các bạn đã thực hiện được điều gì rồi? Sao không thấy bạn nào chia sẻ cả!
__________________
--->
TT nói:
Ha ha, buồn thật!
thế này thì em biết nói thêm gì nữa nhỉ?!
Có lẽ để TThanh về xem lại cái đã rồi tính tiếp sau...!
Híc, ý em là vậy:wall: :wall: :wall: :wall:
 
Sửa lần cuối:
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Thien Thanh_ nói:
Ha ha, buồn thật!
thế này thì em biết nói thêm gì nữa nhỉ?!
Có lẽ để TThanh về xem lại cái đã rồi tính tiếp sau...!
To: Thien Thanh,
Ý của bạn là gì nhỉ? Tôi không hiểu. Việc học buổi tối, tôi chỉ hỏi ý kiến các bạn thôi. Còn 5 buổi học VBA thì vẫn phải là CN thôi.
Thân,

Le Van Duyệt
 
Secret_grasses

Secret_grasses

Guest
phinguyen79 nói:
hi sg,
mình cũng vào dowload nhưng ko được.
SG vui lòng send mail cho mình một bản nhé, thanks.
anhphi1010@yahoo.com
bye,

SG đã gửi mail cho bạn. Bạn check mail xem nha!
 
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Chương trình 5 buổi VBA như vậy là đã đi được 3/5 đoạn đường, mặc dù vẩn còn nhiều bạn thắc mắc nhiều thứ về các bài học, cảm giác vẩn chưa làm được những gì mình mong muốn. Trong buổi thứ 4 này Chúng tôi sẽ cố gắng giới thiệu với các anh chị về điều khiển hướng đi của chương trình và đối tượng Range.
Với kinh nghiệm học được của mình tôi cho rằng đây là 2 nhóm kiến thức quan trọng nhất mà người học VBA excel cần phải nắm rõ. Với những kiến thức này các bác có thể tự mình mày mò nhiều thứ và từ đó có thể phát triển được các ứng dụng một cách hiệu quả nhất.

Đồng thời nhân đây tôi xin gởi đến lời nhắn nhủ với các bạn không đi học buổi thứ 3 rằng: nếu không học buổi thứ 3 các bạn vẫn có thể tham dự buổi học này.
Thời gian của buổi học sẽ là vào lúc 8g15 ngày 11 tháng 6. (Chủ Nhật). Kính mong các bác có mặt đúng giờ để buổi học được thành công tốt đẹp.
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Đào Việt Cường nói:
Bước . . . Bắt đầu Ch trình nhỏ nhưng phải bao quát đầy đủ các tình huống có thể xảy ra. Chúc các bạn thành công!
Quá ư là hàn lâm! Muốn đạt được việc này chắc tác gia Topic fải đèn sách vài năm ấy chứ lị!
Theo mình nghĩ tác gia đang làm bài tập của lớp B. LVDuyệt; Mà lớp này chỉ 5 buổi học thôi; Như vậy chưa thể iêu cầu HViên bài bản như ĐVCường được đâu!. B. Duyệt như người dẫn các HViên vô hoang mạc VBA bán rẽ bèo 3 tạ gạo & các cày, hạt giống . . .cho không 1 yến muối (Có nghĩa là B. í chỉ cho cái la bàn & ít lương thực làm hành trang để ta tự đi). Và sau này HViên tự khai fá mảnh VBA cho riêng mình ấy mà;
 
Sửa lần cuối:
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
QDuc nói:
Quá ư là hàn lâm! Muốn đạt được việc này chắc tác gia Topic fải đèn sách vài năm ấy chứ lị!
Theo mình nghĩ tác gia đang làm bài tập của lớp B. LVDuyệt; Mà lớp này chỉ 5 buổi học thôi; Như vậy chưa thể iêu cầu HViên bài bản như ĐVCường được đâu!
Dear QDuc,
----------
Theo mình thì học lập trình không phải là chỉ để biết viết code mà là học cách xây dựng các bước xử lý. Vấn đề mình nêu ở bài trên để minh hoạ cho các bạn thấy, chứ không nhất thiết phải liệt kê bài bản như thế, nó phải nằm trong đầu rồi!
Mình có một câu nói mà cảm thấy rất tâm đắc cho lập trình thế này: "Nếu bạn thường hay khát nước, hãy dự phòng cho bạn một ly nước đầy bên cạnh. Nhưng cũng đừng quên chuẩn bị một ly rỗng để phòng khi... không khát". Chúng ta phải luôn luôn đặt các giả định, tìm hiểu biến cố và sự kiện nào có thể dẫn đến một thủ tục không thể thực hiện hoặc thực hiện không thành công. Điều đó quan trọng hơn là nghĩ ngay tới việc viết mã lệnh. Lập trình cũng giống như việc mô phỏng lại cuộc sống mà thôi.
Sở dĩ mình nói những điều trên đây là vì thấy nhiều bạn quá tập trung vào vấn đề không phải cốt lõi của lập trình. Thử hình dung xem, nếu với tư duy như vậy thì phần mềm mà các bạn viết ra sẽ có bao nhiêu lỗi, bao nhiêu lần chỉnh sửa?
Dù có phải bao nhiêu năm đèn sách thì ngay từ đầu các bạn phải tư duy như thế. Và muốn có "một mảnh VBA" khai phá cho riêng mình thì các bạn càng phải cẩn thận: Always careful - Always successful
 
hai2hai

hai2hai

VNUNI Makes a difference
29/4/04
2,032
125
63
50
Hà nội
vnuni.net
Đào Việt Cường nói:
Dear QDuc,
----------
Theo mình thì học lập trình không phải là chỉ để biết viết code mà là học cách xây dựng các bước xử lý. Vấn đề mình nêu ở bài trên để minh hoạ cho các bạn thấy, chứ không nhất thiết phải liệt kê bài bản như thế, nó phải nằm trong đầu rồi!
Mình có một câu nói mà cảm thấy rất tâm đắc cho lập trình thế này: "Nếu bạn thường hay khát nước, hãy dự phòng cho bạn một ly nước đầy bên cạnh. Nhưng cũng đừng quên chuẩn bị một ly rỗng để phòng khi... không khát". Chúng ta phải luôn luôn đặt các giả định, tìm hiểu biến cố và sự kiện nào có thể dẫn đến một thủ tục không thể thực hiện hoặc thực hiện không thành công. Điều đó quan trọng hơn là nghĩ ngay tới việc viết mã lệnh. Lập trình cũng giống như việc mô phỏng lại cuộc sống mà thôi.
Sở dĩ mình nói những điều trên đây là vì thấy nhiều bạn quá tập trung vào vấn đề không phải cốt lõi của lập trình. Thử hình dung xem, nếu với tư duy như vậy thì phần mềm mà các bạn viết ra sẽ có bao nhiêu lỗi, bao nhiêu lần chỉnh sửa?
Dù có phải bao nhiêu năm đèn sách thì ngay từ đầu các bạn phải tư duy như thế. Và muốn có "một mảnh VBA" khai phá cho riêng mình thì các bạn càng phải cẩn thận: Always careful - Always successful

Great! :cool2:

- Trong giới lập trình có câu: "Chương trình chạy được chưa chắc đã là phần mềm tốt". Còn trong xây dựng thì mọi người đều biết người thợ xây (tương ứng trong lập trình thì đó chính là dân coder đấy) là rất quan trọng.

- Xong nếu không có bản thiết kế với các thiết kế chi tiết về các chiều (views) khác nhau như chiều điện nước, chiều theo mặt cắt ngang, chiều 3D, cùng với thiết kế nguyên vật liệu chi tiết, bản tài dự toán tài chính xây dựng,...) do những nhà kiến trúc sư tạo ra trước thì liệu kết quả của những thợ xây liệu có tốt hay không (trong IT thì tương đương với kiến trúc sư XD chính là dân phân tích thiết kế, hay còn gọi là kiến trúc sư thiết kế PM).

- Và rõ ràng một điều là những nhà làm thiết kế xây dựng muốn thiết kế cái gì thì cũng phải phụ thuộc vào khách hàng, phải phân tích được yêu cầu của khách hàng là cần xây dựng cái gì, nhà biệt thự có bể bới hay ko, v.v... và để làm được chuyện đó thì phải có người phân tích yêu cầu của dự án (tương ứng với trong giới IT thì đó là những nhà phân tích yêu cầu nghiệp vụ với kết quả là các tài liệu như Software Requirement Specification ở các mức khác nhau,...)

-Khi làm xong công trình XD, trước khi bàn giao cho đơn vị chủ quản, người chủ dự án xây dựng phải phân công cho 1 đội kiểm tra lại chất lượng của công trình trước khi bàn giao. (Trong IT thì cái này là do đội Kiểm thử - testers - chương trình thực hiện, bao gồm Unit Test, Integration Test, System Test, v.v... với các phương thức test khác nhau). Sau khi Test xong, khi bàn giao sản phẩm, đơn vị chủ quản (khách hàng) test lại theo các tài liệu yêu cầu nghiệp vụ đã thống nhất từ giai đoạn trên (khi làm hợp đồng là phải thống nhất yêu cầu nghiệp vụ dựa trên các tài liệu phụ lục hợp đồng,...)
- ....

Các phần mềm nhỏ, làm ko bài bản (thường là do chi phí rất cao) nên thường bỏ qua mọi công việc như trên vì "...mấy món đó nó nằm trong đầu tôi hết rồi, chỉ việc code ra thôi". Đây là trường hợp có 1 số thợ xây giỏi tự làm ra những cái nhà/công trình cỡ tàm tạm mà ko cần tài liệu thiết kế gì cả (chỉ cần phải câu nói của ông chủ là phang luôn áng chừng tổng chi phí và bụp luôn, khỏi thiết kế này, tài liệu nọ...). Còn những công trình lớn (tầm cỡ nhà quốc hội, ERP, Accounting mang tính chất thương mại thực sự,...), rõ ràng là ko thể thiếu ty tỷ các thứ phải làm trước khi thi công công trình xây dựng. Đó là còn chưa xét đến tính làm việc nhóm (nhiều người cùng xây dựng).

Ý nghĩa việc phát triển SP phần mềm là rất gần gũi với công việc trong Xây dựng. Mấy ý ở trên tôi viết vẫn chưa thể hiện hết sự giống nhau đâu, vẫn còn nhiều chuyện để so sánh lắm.

Đơn cử, để viết 1 hàm delete 1 file, có ai bao giờ kiểm tra xem file đó có tồn tại hay chưa? thuộc tính là readonly hay ko? file đó có đang được mở ra bởi 1 ứng dụng khác nào đó hay không? hay là cứ viết luôn là Kill strFileName???

Vì thế, trước khi DO 1 cái gì đó, hãy thử nghĩ xem các trường hợp có thể xảy ra là gì, có trường hợp nào tương tự hay không? Còn cách nào khác để DO cho hiệu quả hơn, chạy nhanh hơn, tiết kiệm hơn,... hay ko? v.v...

Cheers! :bigok:
 
Sửa lần cuối:
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
VBA làm được gì?

Chào các bạn,

Thật buồn khi buổi thứ tư ít thành viên tham dự! Chắc có lẻ vì "World cup" chăng? Hay các bạn học không hiểu?

Trong tất cả các buổi học, tôi vẫn luôn cố gắng theo sát từng thành viên. Cuối mỗi buổi học tôi thường nhắc lại các vấn đề mà các bạn gặp phải trong buổi học đó với hy vọng các bạn sẽ có thể thực hiện được một cách nhanh nhất.

Nếu các bạn đã lở bài 4, các bạn có cần bổ xung hay không? Vì tôi thấy có một số bạn đã học đến bài 3 mà bỏ lở thì cũng hơi tiếc!

Dự định còn hai buổi học nữa.
_Buổi 1: thực hành tạo các Phiếu nhập/Phiếu xuất/Hóa đơn; Truy xuất+Lưu trữ dữ liệu.
_Buổi 2: tóm tắt giải đáp thắc mắc của các bạn xung quanh các ứng dụng VBA của các bạn.

Xin các bạn cho ý kiến.
Thân,

LVD
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
???

QDuc nói:
B. Duyệt như người dẫn các HViên vô hoang mạc VBA bán rẽ bèo 3 tạ gạo & các cày, hạt giống . . .cho không 1 yến muối để sau này HViên tự khai fá mảnh VBA cho riêng mình ấy mà;
To: QDuc,
Tôi không hiểu lắm các từ bạn dùng:
QDuc nói:
B. Duyệt như người dẫn các HViên vô hoang mạc VBA
QDuc nói:
bán rẽ bèo 3 tạ gạo & các cày, hạt giống . . .
QDuc nói:
cho không 1 yến muối để sau này HViên tự khai fá mảnh VBA cho riêng mình ấy mà;
Cách hướng dẫn của tôi giống như vậy sao?!:wall:
Thất vọng,

LVD
 
C

cuong2002

Sơ cấp
12/10/03
5
0
1
Chào A. Duyệt,
Theo dõi các tài liệu về khóa học VBA rất bổ ích. Không biết có buổi học nào chuyên về Form không? Tôi rất muốn tìm tài liệu về Form để có thể tạo được phần nhập dữ liệu (Hóa đơn, phiếu xuất,...).
VD: tạo form giống như Hóa đơn: 1 dòng trên hóa đơn bao gồm (STT, mặt hàng, số lượng, đơn giá, thành tiền) tương đương với 1 record.Trên 1 dòng như vậy ta phải tạo tới 5 textbox.
Hóa đơn có 10 dòng thể hiện: phải tạo rất nhiều textbox ,... để có thể nhập dữ liệu.
Không biết có cách nào khác hay hơn không?
Thanks
Cường
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Khó hiểu!?!

Không hiểu lắm các từ bạn dùng LVD
Chẳng ai hiểu chỉ Hai người Mới hiểu, Có gã khờ ngoọng nghiệu muốn làm thơ!
 
QDuc

QDuc

Cao cấp
3/6/06
254
18
18
Biển khơi
Mong cao thủ góp thêm!

cuong2002 nói:
Chào A. Duyệt. Theo dõi về khóa học VBA rất bổ ích. Có buổi học nào về Form? Muốn tìm tài liệu về Form để có thể tạo được phần nhập dữ liệu (Hóa đơn, phiếu xuất,...). Cường
Mình làm như củ mì như sau: 1 Sheet chứa phần chung của hóa đơn như [Ngay], [MaKH], [MSThue], . . .; 1 Sheet nữa chứa phần chi tiết: [MaHg], [DVT], [DGia], [SoLg], [TTien]; 1 Sheet nữa như Form của bạn cần
& làm 1 Macro để nó chép các số liệu từ 2 Sheet Dữ liệu sang Sheet3 để in;
Không phải hay lắm nên cũng mạnh dạn viết lên đây tranh thủ í kiến các cao thủ luôn thể!
 
P

ptdzung

Guest
26/3/05
56
0
0
Hà Nội
To ban QDuc. Tôi thấy bạn không nên nói về bạn Duyệt như vậy. Tinh thần của bạn Duyệt muốn giúp những nguời chưa biết về VBA thật đáng hoan nghênh, còn rất nhiều người chưa nắm rõ về VBA mà. Tôi không được hân hạnh nghe bạn Duyệt hướng dãn trực tiếp nhưng qua các bài về VBA trên trang web này tôi đã bắt đầu thấy thú vị với nó. Huớng dẫn những gì mình đã biết cho các bạn chưa biết, những gì mình biết nhiều cho các bạn biết ít: Đó chẳng là tiêu chí của forum này hay sao.
 
Đào Việt Cường

Đào Việt Cường

Moderator
22/11/05
400
4
18
Khánh Hòa
Dear all,
-------
Theo tôi, chúng ta nên tham gia vào diễn đàn trên tinh thần đóng góp và xây dựng các vấn đề đang bàn luận trong chủ đề.
Không nên có các bài viết phát biểu cảm tưởng hoặc nội dung không phù hợp chủ để dẫn đến hiểu nhầm. Nhiều bài viết như vậy đã bị xoá khỏi topic mà không cần báo trước, các bạn không nên vì thế mà thắc mắc rồi lại vào chuyên mục "Góp ý cho diễn đàn". Hãy để các thành viên tìm kiếm và theo dõi thông tin một cách nhanh chóng và liên tục, các bạn nhé!
 
Sửa lần cuối:
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Form nhập liệu trực tiếp trên Excel

cuong2002 nói:
Chào A. Duyệt,
Theo dõi các tài liệu về khóa học VBA rất bổ ích. Không biết có buổi học nào chuyên về Form không? Tôi rất muốn tìm tài liệu về Form để có thể tạo được phần nhập dữ liệu (Hóa đơn, phiếu xuất,...).
VD: tạo form giống như Hóa đơn: 1 dòng trên hóa đơn bao gồm (STT, mặt hàng, số lượng, đơn giá, thành tiền) tương đương với 1 record.Trên 1 dòng như vậy ta phải tạo tới 5 textbox.
Hóa đơn có 10 dòng thể hiện: phải tạo rất nhiều textbox ,... để có thể nhập dữ liệu.
Không biết có cách nào khác hay hơn không?
Thanks
Cường
Chào bạn cuong2002,
Bạn nên tạo form nhập liệu trực tiếp trên worksheet. Dĩ nhiên phải giới hạn số record cho mỗi hóa đơn. Nếu bạn đang dùng Excel 2003 thì việc tạo form trực tiếp trên worksheet thì sẽ hổ trợ nhiều hơn trên Excel 2000.
Thân,

LVD
 

Xem nhiều

Webketoan Zalo OA