Đố vui về VBA!

Liên hệ QC

anhtuan1066

Thành viên gạo cội
Tham gia
10/3/07
Bài viết
5,802
Được thích
6,911
Nhằm cũng cố kiến thức về VBA cho các bạn mới bắt đầu và cả những bạn đang ứng dụng mà chưa hiểu nhiều về nó, tôi mở topic này với mong mõi qua những câu hỏi vui, các bạn sẽ nhận định lại sự hiểu biết cũa mình... (Kễ cã chính tôi cũng đang tập tành nên có rất nhiều cái chưa biết)
Mong rằng topic sẽ mang đến cho các bạn những khám phá thú vị với những cái tưỡng chừng như đã biết
Mong nhận dc bài viết về câu đố cũa các cao thủ! Còn các bạn mới thì đừng ngại khi đưa ra ý kiến cũa mình.. Có sai có sữa sẽ hoàn thiện!
Tôi xin mỡ màn trước bằng 1 câu hỏi đơn giãn
ANH TUẤN

CÂU HỎI 1: Tại sao biến K ko hoạt động?
Tôi muốn khi nhấn vào 1 button thì cell A1 sẽ tăng lên 1 đơn vị... Tôi đã làm như sau:
-Tạo 1 Command Button (nút nhấn thuộc thanh Control Toolbox), click phải chuột lên nút nhấn, chọn View code, rồi gõ vào đoạn code sau:
PHP:
Private Sub CommandButton1_Click()
   K = K + 1
   Range("A1").Value = K
End Sub
Ban đầu K chưa có gì, xem như =0, nhấn nút lần thứ nhất thì K dc tăng thêm 1, vậy K hiện tại sẽ bằng 1, và gán K vào cell A1 thì đương nhiên A1 sẽ =1... Nhấn nút lần 2, K lại dc tăng thêm 1 nên hiện tại K sẽ =2 và cell A1 cũng sẽ =2... vân vân.. từ đó diễn tiến tiếp...
Hi.. hi.. Điều này nghe qua có vẽ rất hợp lý, ấy thế mà khi nhấn nút nó chỉ hoạt động dc duy nhất 1 lần (A1 = 1) rồi thôi ko nhút nhít nữa...
Các bạn có thể giãi thích tại sao lại như thế ko? Tại sao những lần nhấn nút sau đó K lại ko tăng thêm tí nào (vì thực tế A1 vẫn cứ = 1 hoài) ?
ANH TUẤN
 
Viết hoa đầu từ
Không dùng vòng lặp,
Application.WorksheetFunction và công cụ RegExp làm thế nào để viết hoa đầu từ tất cả các từ trong chuỗi (chuoi khong co dau)?
ví dụ : Cho chuỗi
"dien dan giai phap excel" làm sao để thành "Dien Dan Giai Phap Excel"
Như thế lày có được không bạn :
[GPECODE=vb]
Sub DOVUI_VBA()
MsgBox StrConv("dien dan giai phap excel", vbProperCase)
MsgBox Application.Proper("giai phap excel")
End Sub
[/GPECODE]
 
Upvote 0
Như thế lày có được không bạn :
[GPECODE=vb]
Sub DOVUI_VBA()
MsgBox StrConv("dien dan giai phap excel", vbProperCase)
MsgBox Application.Proper("giai phap excel")
End Sub
[/GPECODE]
Nhanh quá, đúng rồi, ý mình nói dòng đầu (không dùng hàm) tìm trên GPE không thấy tưởng ít người biết, hic
 
Upvote 0
Nhanh quá, đúng rồi, ý mình nói dòng đầu (không dùng hàm) tìm trên GPE không thấy tưởng ít người biết, hic

Không phải là không biết
Hàm StrConv này em cũng dùng nhiều, có điều vbProperCase thì chả mấy ai quan tâm, nó không làm việc được với tiếng Việt Unicode
 
Upvote 0
Thuộc về hàm rồi bạn. Không đúng với yêu cầu.

^^ tại bạn ý nói không dùng Application.WorksheetFunction nên em hiểu nhầm !
Nhân tiên đây em cũng đóng góp thêm 1 câu trong topic (Dành cho các thành viên có < = 1 * sao không xoay thôi nhé !)

Theo các bạn thì : các hàm sau khác nhau ở chỗ nào :
Application.Vlookup <> WorksheetFunction.Vlookup
Application.Match<> WorksheetFunction.Match
 
Upvote 0
^^ tại bạn ý nói không dùng Application.WorksheetFunction nên em hiểu nhầm !
Nhân tiên đây em cũng đóng góp thêm 1 câu trong topic (Dành cho các thành viên có < = 1 * sao không xoay thôi nhé !)

Theo các bạn thì : các hàm sau khác nhau ở chỗ nào :
Application.Vlookup <> WorksheetFunction.Vlookup
Application.Match<> WorksheetFunction.Match

Suýt tí là định tra lời rồi
Quên đọc câu này:
(Dành cho các thành viên có < = 1 * sao không xoay thôi nhé !)
 
Upvote 0
Con số Pi trong VBA

Thật ra câu này đã từng có trên diễn đàn rồi nhưng vẫn cứ đố (nhiều khi có người chưa biết)
---------------
Trên bảng tính có hàm Pi() để lấy số Pi
Vậy trong VBA, nếu không dùng WorksheetFunction.Pi thì ta sẽ làm thế nào để có con số Pi chính xác?
 
Upvote 0
Thật ra câu này đã từng có trên diễn đàn rồi nhưng vẫn cứ đố (nhiều khi có người chưa biết)
---------------
Trên bảng tính có hàm Pi() để lấy số Pi
Vậy trong VBA, nếu không dùng WorksheetFunction.Pi thì ta sẽ làm thế nào để có con số Pi chính xác?

Hỏi: Chính xác đến cỡ nào chớ hình như nhân loại vẫn chưa tìm ra số Pi tuyệt đối?
 
Upvote 0
Thật ra câu này đã từng có trên diễn đàn rồi nhưng vẫn cứ đố (nhiều khi có người chưa biết)
---------------
Trên bảng tính có hàm Pi() để lấy số Pi
Vậy trong VBA, nếu không dùng WorksheetFunction.Pi thì ta sẽ làm thế nào để có con số Pi chính xác?

Vậy thì nó là 4 * Atn(1) phải không Thầy?
 
Upvote 0
^^ tại bạn ý nói không dùng Application.WorksheetFunction nên em hiểu nhầm !
Nhân tiên đây em cũng đóng góp thêm 1 câu trong topic (Dành cho các thành viên có < = 1 * sao không xoay thôi nhé !)

Theo các bạn thì : các hàm sau khác nhau ở chỗ nào :
Application.Vlookup <> WorksheetFunction.Vlookup
Application.Match<> WorksheetFunction.Match
Hình như khác nhau là khi biến gán cho Application.Vlookup phải là Variant, còn WorksheetFunction.Vlookup không nhất thiết vậy
 
Upvote 0
Upvote 0
Upvote 0
Hi, giành phần trả lời của "mấy em" rồi, nhưng giải thích chưa cụ thể.
Em cũng tầm vậy thôi. Giải thích thì em hiểu chưa nhiều nhưng em hiểu đại khái thế này: Với trường hợp không sử dụng thuộc thính WorksheetFunction nếu không tìm thấy giá trị tìm thì lỗi lưu vào biến nên biến buộc phải Variant
 
Upvote 0
Em xin hỏi các anh chị là làm cách nào để lấy dữ liệu của 1 file đang đóng mà không cần mở file đó không?
Ví dụ em lấy dữ liệu từ vùng A1:D150 của file đóng vào file hiện hành.
 
Upvote 0
Em xin hỏi các anh chị là làm cách nào để lấy dữ liệu của 1 file đang đóng mà không cần mở file đó không?
Ví dụ em lấy dữ liệu từ vùng A1:D150 của file đóng vào file hiện hành.

Cái này là ĐỐ à?
Chuyên đề về ADO có cả đống bài liên quan thì còn gì để mà ĐỐ đây?
Còn nếu bạn nhờ giúp thì... LỘN TIỆM nhé
 
Upvote 0
Ở đây là box đố vui về VBA chứ không phải ADO.

Vậy theo bạn thì ADO hổng phải là VBA à?
Nếu bạn đố thế này:
"Lấy dữ liệu từ file đang đóng nhưng BẮT BUỘC không được dùng ADO"
thì đó lại là chuyện khác
(Tôi dùng Macro 4 "nhúng" trong VBA cũng được như thường ---> Dạng này cũng có cả đống rồi)
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom