Xóa các Object của File khác!

Liên hệ QC

Mr Okebab

Ngon Ngất Ngây
Thành viên đã mất
Tham gia
6/8/06
Bài viết
3,260
Được thích
3,789
Mình có đoạn code sau : (Trên File gốc)

PHP:
Sub TrichXuat()
    On Error GoTo thoat
    Dim MyPath As String, TenFile As String, FullPath As String
    Dim MyName As Name
    
    MyPath = ThisWorkbook.Path
    TenFile = "BaoCaoCongNo" _
        & Format(S008.Range("J5").Value2, "yyyymmdd") & "_" & Format(S008.Range("H5").Value2, "yyyymmdd") _
        & ".xls"
    FullPath = MyPath & "\" & TenFile
        
    Sheets(Array(S008.Name, S009.Name)).Copy
    ActiveWorkbook.SaveAs Filename:=FullPath, FileFormat:= _
        xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
        , CreateBackup:=False
    Windows(TenFile).Activate
    
    With Workbooks(TenFile)
        For Each MyName In .Names
            MyName.Delete
        Next
        With .Worksheets("ChiTiet").Range("G5:L5")
            .Value = .Value
        End With
        ActiveWorkbook.Names.Add Name:="ND", RefersToR1C1:="=ChiTiet!R5C8"
        ActiveWorkbook.Names.Add Name:="NC", RefersToR1C1:="=ChiTiet!R5C10"
        .Close (True)
    End With
thoat:
End Sub


Mục đích của nó là Copy 2 Sheet : S008(Chi tiết) và S009(Tổng hợp) sang 1 File mới, đặt tên cho File mới này, xóa các name đi và tạo các name mới cho nó
Điều này thì không có vấn đề gì.

Các Sheet S008 và S009 của File mới này có các CommandButton là CB01, CB02.
Nhưng mình lại không biết cách xóa nó đi (Đoạn code là ở trên File gốc)
Workbooks(TenFile).Sheet(S008.Name).CB1.Delete
Nhưng lại bị báo lỗi (Dĩ nhiên Windows(TenFile).Active)

Có cách nào nhỉ ??

Thân!
 
Cho hỏi: Trong file chỉ có 2 Object này thôi và bạn muốn xóa hết? Hay là sao?
Tôi nghĩ nếu xóa hết thì sao ko dùng:
Mã:
......DrawingObjects.Delete
Còn như xóa có lựa chọn thì thật sự ko biết!
ANH TUẤN
 
Upvote 0
anhtuan1066 đã viết:
Cho hỏi: Trong file chỉ có 2 Object này thôi và bạn muốn xóa hết? Hay là sao?
Tôi nghĩ nếu xóa hết thì sao ko dùng:
Mã:
......DrawingObjects.Delete
Còn như xóa có lựa chọn thì thật sự ko biết!
ANH TUẤN

Cả hai bác ạ.
Cách của bác thì . . . em chưa hiểu lắm !!+-+-+-++-+-+-+

Thân!
 
Upvote 0
Tôi cũng ko biết sao nữa... nhưng mà tôi làm cái này từ việc Record macro: Tôi vẽ lung tung trong sheet đũ hết các loại Object, loại của thanh Drawing, loại của thanh Form, loại của Control Toolbox... tiếp theo tôi record macro và thức hiện thao tác như sau:
-Bấm vào nút Design Mode
-Bấm Ctrl + G\Special\Object OK
-Bấm nút Delete trên bàn phím
-Tắt record macro
Cuối cùng ra dc code:
Mã:
Sub Macro1()
ActiveSheet.DrawingObjects.Delete
End Sub
Nên tôi nghĩ nếu Bắp muốn xóa hết toàn bộ Object thì dùng code này là ổn rồi còn gì.. Đâu cần phải chỉ chính xác là: CB1.Delete
Ko biết đúng ko... nhưng làm thử trong file Test, nó xóa phát hết sạch tất cả các Object
 
Upvote 0
Tôi cũng ko biết sao nữa... nhưng mà tôi làm cái này từ việc Record macro: Tôi vẽ lung tung trong sheet đũ hết các loại Object, loại của thanh Drawing, loại của thanh Form, loại của Control Toolbox... tiếp theo tôi record macro và thức hiện thao tác như sau:
-Bấm vào nút Design Mode
-Bấm Ctrl + G\Special\Object OK
-Bấm nút Delete trên bàn phím
-Tắt record macro
Cuối cùng ra dc code:
Mã:
Sub Macro1()
ActiveSheet.DrawingObjects.Delete
End Sub
Nên tôi nghĩ nếu Bắp muốn xóa hết toàn bộ Object thì dùng code này là ổn rồi còn gì.. Đâu cần phải chỉ chính xác là: CB1.Delete
Ko biết đúng ko... nhưng làm thử trong file Test, nó xóa phát hết sạch tất cả các Object
anh cứu dùm file này với, làm 1 phút là nó đơ 1 lần
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom