overnight_9
strive for mastery
- Tham gia
- 4/7/12
- Bài viết
- 160
- Được thích
- 81
- Nghề nghiệp
- Công nhân
xong phần này em sẽ tự thưởng cho mình 1 chút gì đó gọi là xả stress, đang suy nghỉ..... thực sự em ngồi vọc cả tuần cứ đến khúc quanh co là phải (search) nguồn tùm lum rồi ngồi đọc muốn điên khùng luôn.
Bảo đảm là do bạn thay đổi gì đó nên mới thế thôi. Nếu file gốc hoạt động tốt tức là code ok nhéhi anh Quanghai,
(sub xoatatcacode) không hoạt động khi mình xoá file trong listbox,
& sub xoa_het_file cũng không hoạt động luôn anh Quanghai ơi, xem lại giúp em
cám ơn anh Quanghai nhiều.
Bảo đảm là do bạn thay đổi gì đó nên mới thế thôi. Nếu file gốc hoạt động tốt tức là code ok nhé
Workbooks.Open ThisWorkbook.path & "\filedulieu\" & tenfile
Sub xoa_1_file()
Application.ScreenUpdating = False
Dim tenfile
tenfile = UserForm1.Listbox1.Column(0)
With UserForm1
.Listbox1.RemoveItem (.Listbox1.ListIndex)
MsgBox "Da xoa " & tenfile
End With
Workbooks.Open ThisWorkbook.path & "\filedulieu\" & tenfile
Xoatatcacode
ActiveWorkbook.Close True
Application.ScreenUpdating = True
Exit Sub
Application.ScreenUpdating = True
End Sub
Sub add_list()
Application.ScreenUpdating = False
Dim FilesToOpen
Dim x As Integer
On Error GoTo ErrHandler
FilesToOpen = Application.GetOpenFilename _
(FileFilter:="Microsoft Excel Files (*.xls), *.xls", MultiSelect:=True)
If TypeName(FilesToOpen) = "Boolean" Then
MsgBox "No Files were selected"
GoTo ExitHandler
End If
x = 1
While x <= UBound(FilesToOpen)
Workbooks.Open Filename:=FilesToOpen(x)
UserForm1.Listbox1.AddItem (ActiveWorkbook.Name)
add_code
ActiveWorkbook.Close True
x = x + 1
Wend
ExitHandler:
Application.ScreenUpdating = True
Exit Sub
ErrHandler:
MsgBox Err.Description
Resume ExitHandler
Application.ScreenUpdating = True
End Sub
Tôi ví dụ 1 code như đã nói ở trên nhé!Tôi đang nghĩ đến 1 hướng khác đơn giản hơn: Tạo 1 Add-In có code của tác giả. Như vậy thì bất kỳ file Excel nào mở lên cũng đều dùng được Add-In đó thông qua việc gọi Add-In thế nào đó
Nghiên cứu xem (như vậy khỏi cần form, khỏi cần Add code gì gì đó cho mất công)
Public WithEvents ExlApp As Application
Private Sub Class_Initialize()
Set ExlApp = Application
End Sub
Private Sub Class_Terminate()
Set ExlApp = Nothing
End Sub
Private Sub ExlApp_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$A$1" Then MsgBox "Thí nghiem su kien Change"
''Code cho sự kiện change tùy ý bạn chỉnh
End Sub
Dim ExlObj As New wkbEvent
Sub Event_Start()
If ExlObj Is Nothing Then Set ExlObj = New wkbEvent
End Sub
Sub Event_Stop()
Set ExlObj = Nothing
End Sub
Như vậy chỉ cần Add-Ins này, mọi file đều dùng được mà chẳng cần phải chèn, xóa code gì cả cho rườm rà
Thật ra mấy cái code copy ấy tôi đang có sẵn đây (post lên là được)Tks thầy NDU,
không biết nói thế nào nữa, gặp thầy rồi tính.
Nếu mà lộ đề thì làm gì trò chịu ngồi đọc sách cả 2 tuần nay EC...EC....
Nhờ vậy mà em học được từ anh Quanghai một số kiến thức quan trong, em cám ơn anh Quanghai nhiều nhiều.
Thật ra mấy cái code copy ấy tôi đang có sẵn đây (post lên là được)
Tuy nhiên có vài nguyên nhân khiến tôi chưa post:
- Tôi muốn một vài bạn đã nguyên cứu VBA trong thời gian gần đây sẽ cùng tham gia
- Muốn bạn tự mình "vận động" để... nhớ dai hơn
- Mặc khác, chưa biết bài toán thật sự của bạn là gì, liệu có cần phải làm thế không?
vân vân...