Copy & paste value bằng VBA

Liên hệ QC

PAT_excel

Thành viên mới
Tham gia
22/10/16
Bài viết
13
Được thích
1
Nghề nghiệp
Kế toán
Chào các bạn,
Mình có 1 sheet (file đính kèm), trong đó có cả các button để thực hiện các công việc khác nhau. Các bạn giúp mình:
khi nhấn nút "copy mẫu này sang file mới" sẽ thực hiện việc Copy sheet hiện thời sang 1 file khác nhưng không copy các button sang file mới.
cảm ơn các bạn nhiều.
 

File đính kèm

  • vidu2.xlsx
    19.6 KB · Đọc: 5
Chào các bạn,
Mình có 1 sheet (file đính kèm), trong đó có cả các button để thực hiện các công việc khác nhau. Các bạn giúp mình:
khi nhấn nút "copy mẫu này sang file mới" sẽ thực hiện việc Copy sheet hiện thời sang 1 file khác nhưng không copy các button sang file mới.
cảm ơn các bạn nhiều.
Anh thử
Mã:
Sub XuatFile()
Dim shp As Shape
   With Application
        .ScreenUpdating = False
            Sheets("DNS39c").Copy
            ActiveSheet.Name = "DNS39c"
            For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
            ActiveWorkbook.Close True, ThisWorkbook.Path & "\DNS39c_" & Format(Now(), "dd-mm-yyyy")
        .ScreenUpdating = True
    End With
End Sub
 

File đính kèm

  • vidu2.xlsm
    25.5 KB · Đọc: 9
Upvote 0
Anh thử
Mã:
Sub XuatFile()
Dim shp As Shape
   With Application
        .ScreenUpdating = False
            Sheets("DNS39c").Copy
            ActiveSheet.Name = "DNS39c"
            For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
            ActiveWorkbook.Close True, ThisWorkbook.Path & "\DNS39c_" & Format(Now(), "dd-mm-yyyy")
        .ScreenUpdating = True
    End With
End Sub
Cảm ơn LamBA, bạn sửa giúp mình 1 chút nữa nhé.
1. code này chạy được cho tất cả các Active sheet
2. Cho người dùng chọn được đường dẫn để lưu và tự đặt tên file
 
Upvote 0
Cảm ơn LamBA, bạn sửa giúp mình 1 chút nữa nhé.
1. code này chạy được cho tất cả các Active sheet
2. Cho người dùng chọn được đường dẫn để lưu và tự đặt tên file
Anh chỉnh lại code này
Mã:
Sub XuatFile()
Dim shp As Shape
Application.ScreenUpdating = False
On Error GoTo ExitSub
ActiveSheet.Copy
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
With Application.FileDialog(2)
.Show: .AllowMultiSelect = False
ActiveWorkbook.SaveAs .SelectedItems(1)
End With
ExitSub:
ActiveWorkbook.Close (False)
Application.ScreenUpdating = True
End Sub
 

File đính kèm

  • vidu2.xlsm
    43.4 KB · Đọc: 5
Lần chỉnh sửa cuối:
Upvote 0
Anh chỉnh lại code này
Mã:
Sub XuatFile()
Dim shp As Shape
Application.ScreenUpdating = False
On Error GoTo ExitSub
ActiveSheet.Copy
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
With Application.FileDialog(2)
.Show: .AllowMultiSelect = False
ActiveWorkbook.SaveAs .SelectedItems(1)
End With
ExitSub:
ActiveWorkbook.Close (False)
Application.ScreenUpdating = True
End Sub
Cảm ơn bạn. Code chạy vẫn bị 1 lỗi là khi lưu file đè lên file đã có sẵn thì bị 2 lần thông báo "file đã có, có ghi đè lên không?". Bạn sửa giúp mình nhé.
 
Upvote 0
Cảm ơn bạn. Code chạy vẫn bị 1 lỗi là khi lưu file đè lên file đã có sẵn thì bị 2 lần thông báo "file đã có, có ghi đè lên không?". Bạn sửa giúp mình nhé.
Anh sửa lại code như sau giúp em nhe
Mã:
Sub XuatFile()
Dim shp As Shape
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo ExitSub
ActiveSheet.Copy
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
With Application.FileDialog(2)
.Show: .AllowMultiSelect = False
ActiveWorkbook.SaveAs .SelectedItems(1)
End With
ExitSub:
ActiveWorkbook.Close (False)
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 

File đính kèm

  • vidu2.xlsm
    43 KB · Đọc: 9
Upvote 0
Anh sửa lại code như sau giúp em nhe
Mã:
Sub XuatFile()
Dim shp As Shape
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error GoTo ExitSub
ActiveSheet.Copy
For Each shp In ActiveSheet.Shapes
shp.Delete
Next shp
With Application.FileDialog(2)
.Show: .AllowMultiSelect = False
ActiveWorkbook.SaveAs .SelectedItems(1)
End With
ExitSub:
ActiveWorkbook.Close (False)
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
Có một chút xíu trong code phải sửa là unprotect sheet trước khi cho sheet copy nhưng mình đã tự sửa code được rồi. Cảm ơn LamNA nhiều.
 
Upvote 0
Code rất hữu ích, mình cũng đang cần. Nhưng mình muốn khi xuất ra file mới để lưu. Thì file mới không còn lưu công thức của file gốc. Mình cảm ơn ạ.
 
Upvote 0
Có một chút xíu trong code phải sửa là unprotect sheet trước khi cho sheet copy nhưng mình đã tự sửa code được rồi. Cảm ơn LamNA nhiều.
Qua học hỏi của các bạn, mình đã tạo được file có các button để làm các công việc nhưng code vẫn bị chạy không đúng ý tưởng. Mình gửi file nhờ các bạn sửa / thêm code giúp mình nhé. Cảm ơn mọi người trước.
 

File đính kèm

  • Vidu3.xlsm
    95.3 KB · Đọc: 6
Upvote 0
Qua học hỏi của các bạn, mình đã tạo được file có các button để làm các công việc nhưng code vẫn bị chạy không đúng ý tưởng. Mình gửi file nhờ các bạn sửa / thêm code giúp mình nhé. Cảm ơn mọi người trước.
Không biết đúng ý bạn không nửa, chổ nào chưa đúng nêu lên ở đây luôn.
 

File đính kèm

  • Vidu3.xlsm
    86.4 KB · Đọc: 14
Upvote 0
Web KT
Back
Top Bottom