Xin giúp đỡ không gọi được lệnh khi ActivateSheet (1 người xem)

Liên hệ QC

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

langtuchungtinh360

Thành viên đã dừng hoạt động
Tham gia
7/10/13
Bài viết
1,062
Được thích
334
em có làm 1 add ins để hỗ trợ cho công việc
nhưng có một lỗi là sau khi tạo xong các sheet cần thiết
đến khi chọn 1 sheet bất kỳ thì báo lỗi không chạy được code
cụ thể trong addins em viết
1. chọn vào "Tạo mới" trên Ribbon sẽ tạo 1 file mới
2. sau khi tạo xong thì có thể chọn sang 1 sheet bất kỳ
ví dụ : NTVLDV
thì báo lỗi ngay dòng Updatexx
Trong khi Sub Updatexx đã có tại Module Update của addins
mong mọi ngời giúp đỡ
Do kiến thức không đến đâu nên em có suy nghĩ là phải viết code Updatexx ngay trên file hiện hành luôn thì mới chạy được
em có tham khảo #1
http://www.giaiphapexcel.com/forum/showthread.php?80149-Tự-động-chèn-code-vào-sheet-của-1-File-Excel
nhưng không thể chạy được code này
Mã:
[COLOR=#0000BB][FONT=monospace]Sub Add_Module_and_Code[/FONT][/COLOR][COLOR=#007700][FONT=monospace]()
[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Dim CodeLines [/FONT][/COLOR][COLOR=#007700][FONT=monospace]As [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Long[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBComp
   Set VBComp [/FONT][/COLOR][COLOR=#007700][FONT=monospace]= [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]ActiveWorkbook[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBProject[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBComponents[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Add[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]vbext_ct_StdModule[/FONT][/COLOR][COLOR=#007700][FONT=monospace])
   [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]With ActiveWorkbook[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBProject[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBComponents[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]VBComp[/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Name[/FONT][/COLOR][COLOR=#007700][FONT=monospace]).[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]CodeModule
        CodeLines [/FONT][/COLOR][COLOR=#007700][FONT=monospace]= .[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]CountOfLines [/FONT][/COLOR][COLOR=#007700][FONT=monospace]+ [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]1
        [/FONT][/COLOR][COLOR=#007700][FONT=monospace].[/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]InsertLines CodeLines[/FONT][/COLOR][COLOR=#007700][FONT=monospace], [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]_
            [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"Sub Add_Module_and_Code" [/FONT][/COLOR][COLOR=#007700][FONT=monospace]& [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Chr[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]13[/FONT][/COLOR][COLOR=#007700][FONT=monospace]) & [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]_
            [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"     msgbox ""Code Created"" " [/FONT][/COLOR][COLOR=#007700][FONT=monospace]& [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]Chr[/FONT][/COLOR][COLOR=#007700][FONT=monospace]([/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]13[/FONT][/COLOR][COLOR=#007700][FONT=monospace]) & [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]_
            [/FONT][/COLOR][COLOR=#DD0000][FONT=monospace]"End Sub"
    [/FONT][/COLOR][COLOR=#0000BB][FONT=monospace]End With
End Sub  [/FONT][/COLOR]

Đã làm bước này rồi mà vẫn báo lỗi không chạy được
Chú ý: Để chèn được Module thì phải vào Tools, tìm và chọn mục Microsoft Visual Basic for Appliations extensibility 5.3
Hoặc khi viết code đến dòng ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct _StdModule) thì Excel sẽ tự động hỏi mình có muốn chọn mục này hay không.

 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Thử Ví dụ sau chép code sau vào Module tải File Close.txt về để trong cùng Folde với File Excel
( nếu muốn khác Folder thì sửa lại đường dẫn) xong chạy sub ImportModule
Code mình ST GPE
PHP:
Sub ImportModule()
    Dim Txtfile As String
    Txtfile = ThisWorkbook.Path & "\Close.txt" ''Cung Folder
    ExecuteExcel4Macro ("VBA.INSERT.FILE(""" & Txtfile & """)")
End Sub
cảm ơn bác. cách này rất hay nhưng lại phải kèm theo file mới được.
vậy em xin mạn phép hỏi thêm.
ngay trong Add Ins em viết.
mình có thể viết code vào 1 cell nào đó rồi lấy nội dung cell đó và chèn vào module (tự động tạo) được không?
 
Upvote 0
cảm ơn bác. cách này rất hay nhưng lại phải kèm theo file mới được.
vậy em xin mạn phép hỏi thêm.
ngay trong Add Ins em viết.
mình có thể viết code vào 1 cell nào đó rồi lấy nội dung cell đó và chèn vào module (tự động tạo) được không?
cách này mình chưa thử bao giờ ko biết có được không nữa
để lúc nào thử xem nếu được mình úp lên cho nha
 
Upvote 0
cách này mình chưa thử bao giờ ko biết có được không nữa
để lúc nào thử xem nếu được mình úp lên cho nha
Vâng!. cảm ơn bác trước.
Nghe đâu có cách viết code vào cell rồi lúc chạy code thì nó duyệt qua từng cell để lấy nội dung code viết trong cell đó để chạy (Tin này đúng không nhỉ)
 
Upvote 0
Bạn kiểm tra lại sheet "UpdateNTVLDV", tên sheet, Autofilter
 
Upvote 0
em đang gặp vấn đề gần giống thế này mọi người giúp em với nhé
Mã:
Private Sub Worksheet_Activate()
MsgBox 1
End Sub
khi chọn đến sheet có code đó thì nó không hiện lên thông báo của Msgbox
còn mọi code khác vẫn chạy bình thường.
-----------------------------
đã tìm ra nguyên nhân rồi
Application.EnableEvents = False nên không chạy được
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom