Thắc mắc về VBA cho người mới tìm hiểu

tieuthubuongbinh

Học hoài vẫn dốt
Tham gia ngày
3 Tháng chín 2008
Bài viết
452
Được thích
289
Điểm
710
Nơi ở
Dist. 10
Chào các tiền bối,

Em được cho 2 sub và giờ em muốn assign macro cho cả 2 sub trên 1 button thôi thì làm sao ạ?

Thân
TTBB
 

leonguyenz

Thành viên mới
Tham gia ngày
2 Tháng tám 2010
Bài viết
4,185
Được thích
7,394
Điểm
560
Nơi ở
#REF

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
6,791
Được thích
7,936
Điểm
560
Nhét cái sub này, và assign cho button:

Sub ToTiTe()
Randomize
Select Case (Round(Rnd()*100) Mod 4) ' 100 hay 1000, 10000 cũng được. Số càng lớn càng đều
Case 0
Call Sub1: Call Sub2
Case 1
Call Sub1
Case 2
Call Sub2
Case 3
Call Sub2: Call Sub1
End Select
End Sub
 

tieuthubuongbinh

Học hoài vẫn dốt
Tham gia ngày
3 Tháng chín 2008
Bài viết
452
Được thích
289
Điểm
710
Nơi ở
Dist. 10
Nhét cái sub này, và assign cho button:
Em viết code vầy đúng ko ạ? Giả sử tên sub 1 là A(), 2 là B()
Mã:
Sub Totite()
Randomize
Select Case (Round(Rnd()*100000) Mod 4)
Case 1
Call A()
Call B()
End Select
End sub
Mong bác đừng cười vì em chưa biết gì về VBA :(
 
Lần chỉnh sửa cuối:

tam888

Thành viên tích cực
Tham gia ngày
22 Tháng tám 2013
Bài viết
831
Được thích
497
Điểm
435
Em viết code vầy đúng ko ạ? Giả sử tên sub 1 là A(), 2 là B()
Mã:
Sub Totite()
Randomize
Select Case (Round(Rnd()*100000) Mod 4)
Case 1
Call A()
Call B()
End Select
End sub
Mong bác đừng cười vì em chưa biết gì về VBA :(
Chưa biết thì nên đọc học từ đầu,
Còn chưa biết thì dùng VBA chi cho vất vả,
Bài này thì xem bài viết #3 trên
 

tieuthubuongbinh

Học hoài vẫn dốt
Tham gia ngày
3 Tháng chín 2008
Bài viết
452
Được thích
289
Điểm
710
Nơi ở
Dist. 10
Chưa biết thì nên đọc học từ đầu,
Còn chưa biết thì dùng VBA chi cho vất vả,
Bài này thì xem bài viết #3 trên
Vì khối lượng công việc rất lớn nên mình cần nhờ VBA để giúp giảm bớt việc thao tác manual, có thời gian phân tích nhiều hơn bạn ạ.
 

LamNA

Thành viên tiêu biểu
Tham gia ngày
3 Tháng sáu 2014
Bài viết
757
Được thích
585
Điểm
560
Nơi ở
Sóc Trăng
Vì khối lượng công việc rất lớn nên mình cần nhờ VBA để giúp giảm bớt việc thao tác manual, có thời gian phân tích nhiều hơn bạn ạ.
Có thể hiểu như thế này

Mã:
Sub GoiSub_A()
[A1].Value = "Sub A"
End Sub

Sub GoiSub_B()
[A2].Value = "Sub B"
End Sub

Sub AllSub()
Call GoiSub_A
MsgBox "GoiSub_A thanh cong"
Call GoiSub_B
MsgBox "GoiSub_B thanh cong"
End Sub
 

File đính kèm

VetMini

Gian hùng bàn phiếm (thành viên trôi nước)
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
6,791
Được thích
7,936
Điểm
560
Tôi từ choối không đoán từ viết tắt và tránh giao thiệp với tiếng Tây Ta lẫn lộn.
 

tieuthubuongbinh

Học hoài vẫn dốt
Tham gia ngày
3 Tháng chín 2008
Bài viết
452
Được thích
289
Điểm
710
Nơi ở
Dist. 10
Em lấy được đoạn code này trên mạng và sử dụng được nhưng sao nó không xóa luôn định dạng ô, các bác sửa giúp em với ạ
Mã:
Sub Clean()
Worksheets("Pend").Range("A5:S999").ClearContents
End Sub
 

snow25

Thành viên gắn bó
Tham gia ngày
24 Tháng bảy 2018
Bài viết
2,049
Được thích
1,794
Điểm
360

tieuthubuongbinh

Học hoài vẫn dốt
Tham gia ngày
3 Tháng chín 2008
Bài viết
452
Được thích
289
Điểm
710
Nơi ở
Dist. 10
VBA có thể làm được điều này ko các bác:
File .cvs trong email nhận mỗi ngày cùng 1 giờ cùng tên, cùng cấu trúc dữ liệu
Làm sao để file vba trên folder cố định (tên file cố định) tự cập nhật data của file cvs đó mỗi ngày
Hiện giờ em đang có code ADO để cập nhật nhưng phải lưu file từ email về folder thì mới chạy code
 

ThangCuAnh

Mới học Ét xeo
Tham gia ngày
1 Tháng mười hai 2017
Bài viết
699
Được thích
566
Điểm
360
Nơi ở
Phờ lây cu
Tự mở mail, get attached files hả bạn?
Kinh thế, ý tưởng phong phú quá, em thua ;)
 
Top Bottom