Chỉ trong 5 buổi học, bạn sẽ có thể phát triển ứng dụng cho mình bằng VBA

  • Thread starter levanduyet
  • Ngày gửi
Trạng thái
Không mở trả lời sau này.
T

Tran Chau

Guest
23/11/04
149
0
0
65
TP Ho Chi Minh
Xin lỗi các bạn, máy tính hư+ đầu tháng có vài việc công ty phải làm gấp
 
Khóa học Quản trị dòng tiền
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Sub Test (i As Integer) và Sub Test(ByVal i As Interger) tương tự nhau
-Test là tên Sub, i là tham số hình thức kiểu số nguyên
- i được khai báo dạng tham trị, nghĩa là khi tham số hình thức thay đổi giá trị không làm thay đổi giá trị của tham số thực
TD : Sub Test(i As Integer)
i = i*10
End Sub
Ta có
a=10
Test(a)
Sau khi gọi a vẫn =10


Sub Test (Byref i As Integer)
-Test là tên Sub, i là tham số hình thức kiểu số nguyên
- i được khai báo dạng tham biến, nghĩa là khi tham số hình thức thay đổi giá trị làm thay đổi giá trị của tham số thực
TD : Sub Test(Byref i As Integer)
i = i*10
End Sub
Ta có
a=10
Test(a)
Sau khi gọi a vẫn =100
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
1. Function Test()
- Định nghĩa một hàm có tên là test. Nhưng cú pháp định nghĩa hàm sai vì hàm test không có kiểu dữ liệu.
2. Function Test() as Variant
- Định nghĩa một hàm có tên là test. Hàm này có thể nhận bất kỳ giá trị nào khi hàm trả về .
3. Public Function Test()
- Định nghĩa một hàm có tên là test toàn cục. Nhưng trường hợp này cũng bị sai cú pháp vì không khai báo kiểu cho hàm.
4. Private Function Test()
Định nghĩa một hàm có tên là test cục bộ. Trường hợp này cũng bị sai cú pháp vì không khai báo kiểu cho hàm.
 
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
handung107 nói:
Sub Test (i As Integer) và Sub Test(ByVal i As Interger) tương tự nhau
-Test là tên Sub, i là tham số hình thức kiểu số nguyên
- i được khai báo dạng tham trị, nghĩa là khi tham số hình thức thay đổi giá trị không làm thay đổi giá trị của tham số thực
TD : Sub Test(i As Integer)
i = i*10
End Sub
Ta có
a=10
Test(a)
Sau khi gọi a vẫn =10


Sub Test (Byref i As Integer)
-Test là tên Sub, i là tham số hình thức kiểu số nguyên
- i được khai báo dạng tham biến, nghĩa là khi tham số hình thức thay đổi giá trị làm thay đổi giá trị của tham số thực
TD : Sub Test(Byref i As Integer)
i = i*10
End Sub
Ta có
a=10
Test(a)
Sau khi gọi a vẫn =100

Hơi nhầm 1 chút và thiếu.

Chị đã có câu trả lời từ em rồi nhé. Chị tổng hợp lại, thêm cả cái ví dụ của bạn em nữa rồi cuối tuần post lên cho mọi người tham khảo nhé. (vì vấn đề này khá quan trọng mà)

Anyway, tiếc quá ko mời chị Dung đi uống nước được (để tranh thủ học chị ấy làm kế toán trên excel :), phải hỏi chị thật nhiều để chị ko có time hỏi mình về VB :biggrin: )

To all: Ko phải vì mọi người giải được bài tập thì mình mới chia sẻ mà mình sẵn sàng chia sẻ những gì mà mình có thể tới tất cả mọi người.

Mọi người hãy đừng nghĩ là câu hỏi là đánh đố gì cả mà hãy nghĩ đến việc chúng ta chia sẻ kiến thức cho nhau mà thôi. Có thể bài tập sau các bạn lại đố lại và tớ thì đâu có biết những cái khác nên vẫn trả lời sai như thường. Vì vậy, ngoài cách học tập theo các khóa học hữu ích như của bác Duyệt, mọi người hãy tích cực tham gia các hình thức học tập như hình thức bài tập này.

Mọi người tiếp tục đêêêê.

Thanks all!
 
Sửa lần cuối:
T

thanhvo31

Guest
17/7/05
36
0
0
49
Haiphong
He he, cột mỡ của bác hơi bị cao quá đó.
Để em leo thử nhé, em hơi bị khát ...cà phê và sách VBA:
1. Phân biệt 3 kiểu khai báo sub sau (ý nghĩa của từng cách khai báo)
Sub Test(i As Interger)
Ở đây, kiểu dữ liệu i được khai báo trước là loại Integer thôi
Trong VB, kiểu này tương tự như
Sub Test(ByRef i As Interger)
vì ngầm định tham chiếu dữ liệu là tên biến cho tất cả các loại DATA Types (chiếm 4 Bytes)

Sub Test(ByVal i As Interger) tham chiếu dữ liệu là gía trị của biến (chiếm từ 2 đến 16 bytes)

Vậy tùy loại dữ liệu hay yêu cầu mà chọn Byval hay không, Kiểu Variant hay String thì nên chọn ByRef thôi

2. Phân biệt 3 cách gọi cái Sub trên
Call Test(i) tương đương với Test(i)
Tuy vậy đã Call thì phải đi với đóng mở ngoặc ( biến )

Ngoài ra Call có thể gọi nhiều thứ như Sub, Function, DLL nhưng hình như hơi bị cũ

Test i vs Test(i)
Tham khảo ví dụ trong help của VBA, thôi thì em có huyên thuyên gì thì bác Bill cũng cười cho, chi bằng chép nguyên văn lại:
++++++++++++++++++++++++++++++++++
Sub Main()
MultiBeep 56
Message
End Sub

Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub

Sub Message()
MsgBox "Time to take a break!"
End Sub


Using Parentheses when Calling Function Procedures
To use the return value of a function, assign the function to a variable and enclose the arguments in parentheses, as shown in the following example.

Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")

If you're not interested in the return value of a function, you can call a function the same way you call a Sub procedure. Omit the parentheses, list the arguments, and do not assign the function to a variable, as shown in the following example.

MsgBox "Task Completed!", 0, "Task Box"

Caution If you include parentheses in the preceding example, the statement causes a syntax error.

+++++++++++++++++++++++++++++

Bài em nộp có bấy nhiêu, mong các bác tận tình chỉ bảo!


Bây giờ tớ có 2 câu hỏi thế này:
1. Phân biệt 3 kiểu khai báo sub sau (ý nghĩa của từng cách khai báo)
Sub Test(i As Interger)
Sub Test(ByRef i As Interger)
Sub Test(ByVal i As Interger)

2. Phân biệt 3 cách gọi cái Sub trên
Call Test(i)
Test i
Test(i)

Nếu ai giải thích đúng & thật đơn giản thì:
1. Ở HN:
- 3 vụ cafe miễn phí bất kỳ lúc nào và muốn hỏi gì về VB thì trong 3 vụ đó cứ hỏi thoải mái
- Giống ở nơi khác
2. Ở nơi khác:
- Có thể hỏi code bất kể về chủ đề gì về VB tới email của tớ
- Có thể hỏi về các thể loại ebooks (chứ ko phải tên 1 cuốn sách cụ thể nào đó vì có thể tớ ko tìm được ) về tất cả các món về lập trình, về CSDL, về thiết kế, các tài liệu luyện thi chứng chỉ của Microsoft (mới nhất), về tài chính kế toán (dĩ nhiên là tiếng anh thôi ), về ERP, v.v... Tóm lại là những gì tớ có thể support.
Ấy chết , e, em hơi bị đãng trí bài naỳ tưởng chưa có ai nộp bài
 
Sửa lần cuối:
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
To thanhvo31:

Conglatulation!
Câu 1: 10
Câu 2: 8

Thêm 1 chút về câu 2:
Call Test(i) = Test i (<> Test(i) trong trường hợp dùng ByRef)

Ví dụ giải thích:
Sub test1(x As Integer)
x = 1
End Sub

Sub test2(ByRef x As Integer)
x = 2
End Sub

Sub test3_1()
Dim i As Integer
i = 0
test1 (i)
test2 (i)
Debug.Print i
End Sub

==> Return i = 0 after 2 calling test1 or test2 (This mean: ByRef was ignored in this case)

Sub test3_2()
Dim i As Integer
i = 0
Call test1(i) '// or Test1 i
Call test2(i) '// or Test2 i
Debug.Print i
End Sub

==> Return i = 2


thanhvo31 ơi, bạn có thể contact mình như ban đầu mình nói nhé (but not Excel). Ở Hải phòng, khi nào ra HN thì liên lạc nhé. Còn nếu tớ có dịp đi HP thì sẽ liên lạc với cậu.
 
T

thanhvo31

Guest
17/7/05
36
0
0
49
Haiphong
To Bác the 7habits man
Em nghe cái nick của bác hơi bị "kêu"
Mà hình như em cũng đã xem qua cuốn sách có tiêu đề giống nick của bác rồi thì phải
Nhưng bác có bản ebook của cuốn này không?
Share nhé!
Có dịp offline HP, phone cho tôi 0904550587 nhé
 
T

the7habitsman

Guest
10/9/05
89
0
0
Hà nội
thanhvo31 nói:
To Bác the 7habits man
Em nghe cái nick của bác hơi bị "kêu"
Mà hình như em cũng đã xem qua cuốn sách có tiêu đề giống nick của bác rồi thì phải
Nhưng bác có bản ebook của cuốn này không?
Share nhé!
Có dịp offline HP, phone cho tôi 0904550587 nhé

ừ, đúng quyển sách đó rồi. Tại vì kiếm được cái Yahoo nick như thế nên dùng nick trên wkt luôn :)

Có 1 số presentation, introduction, short review về quyển đó nhưng lại ko tìm thấy ebook quyển này trên máy (mà giờ ngại search quá)

Thôi, quyển này ngoài hiệu sách có đầy, có 21ngàn 1 quyển tiếng Việt. Đọc eBook làm gì cho mệt. Còn nếu vẫn muốn share thì cài Skype lên nhé.
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
VBA phần 2.
Bài một các bạn cảm thấy dễ không?
Bây giờ là bài 2. Sao mình thấy tòan là StonyHeartedman, Tuan, TranChau, HanDung...không à? Hình như đâu có các bạn mới nhỉ? Thôi, nhưng dù sao vẫn tiếp tục.
Thân,
Lê Văn Duyệt.

PS: Sao mình upload hòai mà không được??? Kể cả đẩy lên thư viện cũng không được không hiểu sao nữa??? Tạm thời chỉ đưa lên được file tham khảo.
 

Đính kèm

  • Tham Khao.rar
    67.7 KB · Lượt xem: 2,620
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Thôi, các bạn vào trang web của mình đọc bài 2 vậy.
Thân,
Lê Văn Duyệt
 
levanduyet

levanduyet

Welcome
16/10/04
537
19
18
HCM
my.opera.com
Cơm thêm cho bài 2 nè các bạn ơi!
Thân,
Lê Văn Duyệt
P/S: Sao cái nút Upload file lên đâu mất rồi nhỉ? Có ai biết không? Hu hu hu, vậy là không upload bài lên được rồi.
 
X

Xuân Khánh

Guest
26/10/05
3
0
1
Hồ Chí Minh
Không biết ý tưởng truyền thụ khả năng làm KT bằng Excel của bác LeVanDuyet đã được tiến hành chưa nhỉ? Nếu chưa thì cho Xuân Khánh được đăng ký một suất nhé
ĐT 0918 090670
Thanks
 
paulsteigel

paulsteigel

Trung cấp
13/11/05
103
0
16
48
Hoà Bình
www.sfdp.net
Xin chào các bạn! Có lẽ đây là bài đầu tiên của tôi tại Webketoan!.... hihi
Kẻ mới đến, trước hết xin chào tất cả các thành viên kỳ cựu của diễn đàn. Phải nói là, đây mới là diễn đang hướng đối tượng. Tôi hết sức hy vọng diễn đàn sẽ vẫn như thế chứ đừng biển đổi thành một cái gì khác có tên "Đối tượng hướng"...
Rất cảm ơn anh Lê Văn Duyệt đã cho tôi biết đến webketoan...
Ý tưởng của anh về lớp học VBA Excel quả thật rất thú vị... nhưng có lẽ chúng ta cùng ngồi bàn một chút về cách thức sắp xếp kiến thức nên truyền thụ, vì điều này sẽ rất có ích cho tất cả những người mới bắt đầu làm quen với mảng kinh nghiệm này.
Ngoài ra, tổ chức học offline - có lẽ cũng tốt nhưng theo tôi, kiến thức này hoàn toàn có thể chia sẻ trên mạng được. Bên cạnh các bài viết trên diễn đàn, chúng ta cũng nên hình thành một dạng như là mailing list để chia sẻ thông tin thì hay hơn, các học viên có thể tham gia và chia sẻ kiến thức cũng như câu hỏi, điều này sẽ có tác dụng lớn hơn nhiều. Hệ thống các câu hỏi này sẽ được các bạn có kinh nghiệm trao đổi và chia sẻ.
Một vấn đề nữa, có nên chăng việc mở rộng VBA sang các phần mềm khác thay vì chỉ tập trung cho Excel. Excel rất mạnh nhưng đó là phần mềm chuyên cho xử lý bảng tính, ví thế những khả năng khác cũng sẽ ít nhiều bị hạn chế. Theo tôi thành lập một box chuyên về VBA là hay nhất.... hihi
Đây là những thiển ý của tôi, không biết ý kiến các bạn thế nào nhỉ?
Tôi tạm thành lập một mailing list là ngocdd@sfdp.net các bạn gửi thư để đăng ký nhé.
Xin cảm ơn
 
Sửa lần cuối:
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Các bạn ơi, các bạn có thật sự yêu thích VBA không ? Nếu các bạn có chút say mê tìm hiểu về VBA, chúng ta sẽ tiếp tục các bài căn bản như bài 1 và bài 2 của LevanDuyet vừa rồi, còn nếu bạn chỉ mong muốn có sơ sơ kiến thức về VBA để làm vốn thực hành các ứng dụng cho công việc của mình thêm tiện lợi, chúng ta sẽ đổi hướng soạn các bài học.
Ý tưởng về các buổi học VBA hay các buổi học khác về thiết kế các File ứng dụng trên Excel cứ lớn dần lên trong chúng tôi, nhưng sao các bạn im lặng quá. Hãy nói và góp ý cho chúng tôi biết bạn cần gì, muốn gì về lớp học và các bài học ??? Chúng tôi chờ sự góp ý của các bạn trước khi tiến hành tiếp công việc này trong những tháng sau. Mong sự cộng tác tích cực của tất cả các bạn. Các bạn yêu thích Excel và mới tham gia EFC, các bạn hãy mạnh dạn nêu yêu cầu của các bạn.
Các buổi học Excel Offline này chỉ được tổ chức sau khi có 10 bài học và bài tập Online. Buổi học Offline sẽ hướng dẫn và giải đáp thắc mắc cho các bạn nào chưa thực hiện được các bài tập trên. Để soạn bài học, chúng tôi sẽ dựa trên nhu cầu thực tế của các bạn và các sách khác
Nhóm soạn các bài học sẽ gồm tất cả các thành viên tích cực của EFC : Adam_tran, SA_DQ, Workman, LevanDuyet, Tuanktcdcn, Paulsteigel, ĐaoVietCuong, LevanDuyet, NguyênBình...
Các bạn hãy đưa ra sườn bài, và gửi cho tôi, để tôi tổng hợp lại và sẽ thiết kế các bài học và buổi học cho hợp lý. Sau khi thống nhất dàn bài, tôi sẽ gửi lại cho các bạn cùng soạn nội dung các bài học. Các bạn tiếp tục gửi lại cho tôi nội dung các bài học vào thứ bảy để tôi tổng hợp lại và upload lên thư viện vào sáng thứ hai. Như vậy, mỗi tuần sẽ có một bài học mới và trong tuần, các bạn có thể tham khảo, và trao đổi qua các Topic trên diễn đàn...
Sau 10 bài học, chúng ta sẽ cùng Offline một bữa, các bạn nhé
 
M

mysterious_girl

Guest
Em cũng đã xem bài của Anh Duyệt và các bài trong box Excel và VBA nhưng thực sự không hiểu lắm về các câu lệnh và vận dụng nó như thế nào trong Excel vì em thấy các anh chị chỉ đưa ra các đoạn code đã viết sẵn mà thôi.

Theo em,khi đưa ra các câu lệnh VBA thì các anh chị cũng nên đưa ra cú pháp và chú thích về các câu lệnh ấy giống như là các hàm trong excel vậy.

Hiện tại em chỉ có ý kiến vậy thôi. Nếu có ý kiến khác em sẽ bổ sung sau.

handung107 nói:
Sau 10 bài học, chúng ta sẽ cùng Offline một bữa, các bạn nhé
Online chứ chị nhỉ!
 
Sửa lần cuối:
B

Bình_OverAC

Over Abnormal / Crazy
14/5/04
846
10
18
42
Nha Trang
Offline bạn ơi!

Có nghĩa là trước tiên là những bài học Online, khi "học viên" nghiên cứu online rùi sẽ tới phần offline để: Giải đáp thắc mắc, trao đổi thảo luận, bổ xung kiến thức...
 
Y

Yeudoi

Trung cấp
29/9/05
88
0
6
Hoi An Quang Nam
Xin chào các sư phụ. Tôi thấy diễn đàn tổ chức được lớp học VBA là rát tốt cho những người mớ tìm hiểu như tôi.Quả thật tôi rất muốn tìm hiểu về VBA nhưng không biết học ở đâu cho nó có căn bản chức tìm trong các VD như mò kim đấy bể.Rất mong các sư phụ tổ chức đuợc cho các để tử.Ah tôi có gửi file của tôi làm cho bạn Pham Thanh Vân bạn nào muốn tham khảo liên hệ bạn Vân để lấy phamthanhvan_nd@yahoo.com.
 
H

handung107

Cao cấp
28/8/04
576
15
0
VN
www.giaiphapexcel.com
Bạn Yeudoi nếu muốn Share File của mình cho các bạn khác cùng tham khảo hãy gửi cho các Mod, File của bạn sẽ được upload lên diễn đàn ngay, nếu File hoàn chỉnh chúng tôi sẽ đưa lên Thư viện để lưu trữ. Bạn Phạm Thanh Vân cũng có thể giúp bạn yeu doi gửi File lại cho EFC nhé. Bạn liên hệ với tôi handung107@gmail.com hay handung107@yahoo.com. Cám ơn các bạn
 
Trạng thái
Không mở trả lời sau này.

Xem nhiều

Webketoan Zalo OA