Giữ nguyên định dạng khi làm việc với bảng tính . (1 người xem)

Liên hệ QC

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

Ngoai Thanh

Cánh Diều xanh
Tham gia
14/6/12
Bài viết
823
Được thích
906
Các bạn cho mình hỏi cách giữ nguyên định dạng ban đầu bằng vba (không dùng cách thủ công để copy rồi dán định dạng trở lại ).Tức là mình muốn làm gì với bảng tính như sửa chữa, bổ xung... nhưng trước khi thoát và ghi lại những thay đổi dữ liệu, riêng định dạng trả lại như khi mới bắt đầu .
 
Lần chỉnh sửa cuối:
Các bạn cho mình hỏi cách giữ nguyên định dạng ban đầu bằng vba (không dùng cách thủ công để copy rồi dán định dạng trở lại ).Tức là mình muốn làm gì với bảng tính như sửa chữa, bổ xung... nhưng trước khi thoát và ghi lại những thay đổi dữ liệu, riêng định dạng trả lại như khi mới bắt đầu .

Chỉ cần bạn CẤM PASTE ALL, chỉ cho phép PASTE VALUES.. tôi nghĩ cũng đủ rồi:
http://www.giaiphapexcel.com/forum/...-thành-Paste-Values-không&p=467974#post467974
 
Chỉ cần bạn CẤM PASTE ALL, chỉ cho phép PASTE VALUES.. tôi nghĩ cũng đủ rồi:
http://www.giaiphapexcel.com/forum/...-thành-Paste-Values-không&p=467974#post467974
Cám ơn thày! tại nhà em nói không rõ : tức là thay vì làm thủ công việc copy định dạng và lưu ra đâu đó sau dán trả lại định dạng ban đầu, thì ta thực hiện việc đó bằng Vba , hoặc hầu như bây giờ tập tin đều có code, nếu đơn giản có thể bổ xung vào bất kỳ code nào không ạ ?
 
Cám ơn thày! tại nhà em nói không rõ : tức là thay vì làm thủ công việc copy định dạng và lưu ra đâu đó sau dán trả lại định dạng ban đầu, thì ta thực hiện việc đó bằng Vba , hoặc hầu như bây giờ tập tin đều có code, nếu đơn giản có thể bổ xung vào bất kỳ code nào không ạ ?

Thông thường trên bảng tính định dạng sẵn (kẻ khung, tô màu, validation...), người ta hay "phá" mấy định dạng này từ việc copy paste. Vậy nên ta chuyển mọi thao tác paste thành PASTE VALUES cũng đủ rồi
Còn như người ta chủ động thay đổi định dạng (tự kẻ khung, tự thay đổi chiều cao dòng, độ rộng cột... vân vân...) thì khó mà ngăn được
Ý tưởng lưu định dạng ở đâu đó cũng không phải chuyện dễ. Thời trước dùng Excel 2003 có SpreadSheet control, có thể làm điều này dễ dàng chứ bây giờ, Excel 2007, 2010 đã bỏ control này rồi. Vậy nếu ta "cố tình" viết code trên Excel 2003, dùng SpreadSheet Control để lưu định dạng thì khi mở file trên máy tính dùng Excel 2007 sẽ lỗi ngay
 
Thông thường trên bảng tính định dạng sẵn (kẻ khung, tô màu, validation...), người ta hay "phá" mấy định dạng này từ việc copy paste. Vậy nên ta chuyển mọi thao tác paste thành PASTE VALUES cũng đủ rồi
Còn như người ta chủ động thay đổi định dạng (tự kẻ khung, tự thay đổi chiều cao dòng, độ rộng cột... vân vân...) thì khó mà ngăn được
Ý tưởng lưu định dạng ở đâu đó cũng không phải chuyện dễ. Thời trước dùng Excel 2003 có SpreadSheet control, có thể làm điều này dễ dàng chứ bây giờ, Excel 2007, 2010 đã bỏ control này rồi. Vậy nếu ta "cố tình" viết code trên Excel 2003, dùng SpreadSheet Control để lưu định dạng thì khi mở file trên máy tính dùng Excel 2007 sẽ lỗi ngay
Cám ơn thày ! Nhà em tưởng đơn giản, thực ra nếu ta copy dán thì có thể dùng cách trên nhưng chạy code thường là mất hết định dạng như kẻ khung, mầu chữ , đậm , nghiêng .... mà nếu dữ liệu nhiều làm lại cũng mất khá nhiều thời gian ạ . Nhà em cứ phải copy dán sang sheets mới , sau khi chạy code xong thì lại copy sheet mới đó dán định dạng trở lại . sau đó xóa sheet đó đi , và công việc đó thực hiện Bằng việc ghi Macro thành 2 sub riêng nhưng cũng gần như làm thủ công vì vẫn phải xóa sheets, chọn sheet bằng thủ công ạ .
 
Cám ơn thày ! Nhà em tưởng đơn giản, thực ra nếu ta copy dán thì có thể dùng cách trên nhưng chạy code thường là mất hết định dạng như kẻ khung, mầu chữ , đậm , nghiêng .... mà nếu dữ liệu nhiều làm lại cũng mất khá nhiều thời gian ạ . Nhà em cứ phải copy dán sang sheets mới , sau khi chạy code xong thì lại copy sheet mới đó dán định dạng trở lại . sau đó xóa sheet đó đi , và công việc đó thực hiện Bằng việc ghi Macro thành 2 sub riêng nhưng cũng gần như làm thủ công vì vẫn phải xóa sheets, chọn sheet bằng thủ công ạ .
Vậy code bạn đang dùng là code nào? Sửa nó lại 1 chút để nó không làm mất định dạng là được rồi
 
Vậy code bạn đang dùng là code nào? Sửa nó lại 1 chút để nó không làm mất định dạng là được rồi
Cám ơn thày ! các code trong file này đa số cũng do thày viết . Nhà em đã ghi file này dưới dạng xlam để sử dụng . Nhưng khi sử dụng Hilight tùy biến thì cứ phải định dạng lại nếu là file đã có dữ liệu . Nếu là file mới thì không sao ạ !
 

File đính kèm

Lần chỉnh sửa cuối:
Cám ơn thày ! các code trong file này đa số cũng do thày viết . Nhà em đã ghi file này dưới dạng xlam để sử dụng . Nhưng khi sử dụng Hilight tùy biến thì cứ phải định dạng lại nếu là file đã có dữ liệu . Nếu là file mới thì không sao ạ !

Tức ý bạn là cái AddIn này nó chưa tiện dụng?
Tôi hình dung 1 AddIn Hightlight nó phải thế này:
- Tạo 1 menu riêng
- Trong menu người dùng sẽ có các control:
a) Một EditBox chọn vùng dữ liệu
b) Một ComboBox chọn kiểu Highlight
c) Một Button kích hoạt Highlight
......
Đại khái thế! Và bạn sẽ không cần quan tâm đến chuyện người ta định dạng cái gì, cứ kích hoạt Highlight là nó sẽ hoạt động đúng ý đồ
Đã lâu tôi cũng có ý định làm 1 AddIn như vậy nhưng còn đang vướng mục a) ---> Làm sao để cái EditBox này có chức năng giống như 1 RefEdit, tức có thể dùng chuột để quét chọn vùng dữ liệu
Nếu không làm được mục a) này thì đành phải tự gõ địa chỉ vùng dữ liệu bằng tay vào thôi (nhưng như vậy sẽ không hay)
------------------
Để tính lại xem
Nhân tiện xin hỏi các cao thủ: Có ai biết làm cách nào chèn 1 RefEdit lên ToolBar không? Hay đại khái 1 control tương tự có chức năng giống như 1 RefEdit?
 
------------------
Để tính lại xem
Nhân tiện xin hỏi các cao thủ: Có ai biết làm cách nào chèn 1 RefEdit lên ToolBar không? Hay đại khái 1 control tương tự có chức năng giống như 1 RefEdit?[/QUOTE]

Chắc thày bận không giúp nhà em được . Còn nếu vì lý do khác thì thày cho nhà em xin lỗi !
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom