Tối ưu code gọn nhất (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

0167767

Thành viên hoạt động
Tham gia
10/3/12
Bài viết
141
Được thích
10
Chào các bạn mình có đoạn code như thế này
Sub BA() With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\3.XLS"
End With
End Sub
Sub BON()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\4.XLS"
End With
End Sub
Sub NAM()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\5.XLS"
End With
End Sub
Sub SAU()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\6.XLS"
End With
End Sub
Sub BAY()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\7.XLS"
End With
End Sub
Sub TAM()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\8.XLS"
End With
End Sub
Sub CHIN()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\9.XLS"
End With
End Sub
Sub MUOI()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\10.XLS"
End With
End Sub
Sub M_MOT()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\11.XLS"
End With
End Sub
Sub M_HAI()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\12.XLS"
End With
End Sub
Sub M_BA()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\13.XLS"
End With
End Sub
Sub M_BON()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\14.XLS"
End With
End Sub
Sub M_NAM()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\15.XLS"
End With
End Sub
Sub M_SAU()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\16.XLS"
End With
End Sub
Sub M_BAY()
With CreateObject("Shell.Application")
.Open ThisWorkbook.Path & "\17.XLS"
End With
End Sub
Tổng có 50 file không thể nào ngồi viết lại như thế được rất mệt, các bạn có cách nào tối ưu dùm mình nhé. Cảm ơn các bạn đã đọc bài và giúp đỡ.
 
Bạn sẽ gọi các thủ tục này bằng cách nào?
 
Upvote 0
Chào các bạn mình có đoạn code như thế này

Tổng có 50 file không thể nào ngồi viết lại như thế được rất mệt, các bạn có cách nào tối ưu dùm mình nhé. Cảm ơn các bạn đã đọc bài và giúp đỡ.
Mình thấy cái này rút gọn rất ngắn, bạn cho file lên đây đi sẽ có người giúp mà. Bạn hỏi như vậy làm sao biết được bạn gọi thủ tục bằng cách nào? Có file mơi giúp được.
 
Upvote 0
File nè các bạn. File mình chỉ ví dụ mở file 3 và file 4. Các bạn xem giúp dùm mình nhé.
 

File đính kèm

Upvote 0
Ý của mình làm 1 cái menu gọi các file mở lên. VD tôi muốn mở file có tên là 3 thì mở file 3 lên, mình có 50 file mang lên từ 1 đến 50.
Code của bạn viethoai mình thử code báo lỗi.loi.JPG
 
Upvote 0
Ý của mình làm 1 cái menu gọi các file mở lên. VD tôi muốn mở file có tên là 3 thì mở file 3 lên, mình có 50 file mang lên từ 1 đến 50.
Code của bạn viethoai mình thử code báo lỗi.View attachment 149768
Mình làm theo file của bạn thôi nghe! Bạn thay đoạn code trong Module của của bạn thành đoạn code sau:
Mã:
Sub BA()
Call Mo("3")
End Sub


Sub BON()
Call Mo("4")
End Sub


Sub Mo(Ten As String)
  With CreateObject("Shell.Application")
    .Open ThisWorkbook.Path & "\" & Ten & ".XLS"
  End With
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Mã:
sub MoFiles()
fArr = Array("","mot","hai","ba",...., "namchuc")
for i = 1 to 50
Mo(fArr(i)) [COLOR=#008000]' sub Mo ở bài #10[/COLOR]
next
end sub
 
Upvote 0
File nè các bạn. File mình chỉ ví dụ mở file 3 và file 4. Các bạn xem giúp dùm mình nhé.
Cuối tuần tôi không vào diễn đàn được. Bạn dùng thủ tục sau nhé.
PHP:
Private Sub OpenFile()
Workbooks.Open ThisWorkbook.Path & "\" & ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text & ".XLS"
End Sub
Bạn cũng nên rút kinh nghiệm cho lần sau. Khi hỏi cần đưa tất cả thông tin có liên quan đến vấn đề cần hỏi.
 
Upvote 0
Web KT

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

Back
Top Bottom