Hướng dẫn code copy sheet giữ nguyên định dạng

Liên hệ QC

thanhtamop

Thành viên mới
Tham gia
5/5/09
Bài viết
4
Được thích
3
Chào các Anh/ Chị!

Mình có file test như đính kèm. Nhờ các Anh Chị giúp code theo yêu cầu như sau:
1. Tạo sheet mới với tên ở ô B3 (sheet "bang ke")
2. Sheet mới tạo là copy của sheet "bang ke" và có định dạng giống như sheet "bang ke"nhưng với giá trị value

Cám ơn các Anh chị rất nhiều. Công việc hiện tại em làm mà cứ copy với paste value nhiều lần thì rất mất thời gian nên muốn tạo button với code trên để rút ngắn thời gian ạ
 

File đính kèm

Chào các Anh/ Chị!

Mình có file test như đính kèm. Nhờ các Anh Chị giúp code theo yêu cầu như sau:
1. Tạo sheet mới với tên ở ô B3 (sheet "bang ke")
2. Sheet mới tạo là copy của sheet "bang ke" và có định dạng giống như sheet "bang ke"nhưng với giá trị value

Cám ơn các Anh chị rất nhiều. Công việc hiện tại em làm mà cứ copy với paste value nhiều lần thì rất mất thời gian nên muốn tạo button với code trên để rút ngắn thời gian ạ
Bạn thử Record Macro công việc bạn làm thủ công sẽ được code, chỉnh lại một chút nó sẽ thành thế này:
PHP:
Sub Macro1()
    Sheets("bang ke").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Sheets("bang ke").Range("B3").Value
    Range("A1:K200").Copy
    Range("A1:K200").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("B3").Select
End Sub
 
Bạn thử Record Macro công việc bạn làm thủ công sẽ được code, chỉnh lại một chút nó sẽ thành thế này:
PHP:
Sub Macro1()
    Sheets("bang ke").Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = Sheets("bang ke").Range("B3").Value
    Range("A1:K200").Copy
    Range("A1:K200").PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("B3").Select
End Sub
Code này chạy lần đầu không sao nhưng lần thứ 2 sẽ bị lỗi
 
@ bài #3, #4:
Viết "y chang" yêu cầu 1. của bài #1, lỗi "gáng chịu".
Ẹc!
'--------------------
Rất nhiều người cứ "lo bò trắng răng" mà không chịu cho tác giả "trả giá" ý muốn của mình.
Ví dụ, sao không nói:
Nếu: Đã có sheet được đặt tên này rồi thì ... làm "cái giống gì đó".
Hay: Chạy Sub này hơn 1 lần thì bị "cái giống gì đó".
Hoặc: Tên sheet anh Bill hổng chịu thì ... làm "cái giống gì đó".
Và: ... "cái giống gì đó".
Híc!
 
Lần chỉnh sửa cuối:
@ bài #3, #4:
Viết "y chang" yêu cầu 1. của bài #1, lỗi "gáng chịu".
Ẹc!
'--------------------
Rất nhiều người cứ "lo bò trắng răng" mà không chịu cho tác giả "trả giá" ý muốn của mình.
Ví dụ, sao không nói:
Nếu: Đã có sheet được đặt tên này rồi thì ... làm "cái giống gì đó".
Hay: Chạy Sub này hơn 1 lần thì bị "cái giống gì đó".
Hoặc: Tên sheet anh Bill hổng chịu thì ... làm "cái giống gì đó".
Và: ... "cái giống gì đó".
Híc!
Em thì nghĩ khác!
Em thấy bài này rất thực tế: Copy một sheet ra sheet mới rồi đặt tên. Vậy nếu mình là người viết code thì phải làm cho đầy đủ chứ không thể đổ thừa này nọ được anh à!
Đặt trường hợp anh không biết người dùng muốn gì khi sheet cần đặt tên đã tồn tại, anh có thể ra một thông báo dạng Yes/No/Cancel cho người dùng tùy chọn khi gặp phải trường hợp trên như sau:
- Yes: Copy sheet và đè lên sheet đang tồn tại (theo cách đơn giản nhất là xóa cũ thay mới)
- No: Copy sheet ra sheet mới và không đặt tên
- Cancel: không làm gì cả
 
Web KT

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

Back
Top Bottom