Cách làm mất công thức và kết quả sau một khoảng thời gian được cho trước (1 người xem)

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

A_Lang_9300

Thành viên chính thức
Tham gia
24/1/13
Bài viết
98
Được thích
69
Không phải em muốn hỏi sai box đâu ạ, vì với dạng câu hỏi này em cũng không biết hỏi ở đâu nữa, mong các mod và smod thông cảm. Em cảm ơn.
Em muốn hỏi xem có cách nào có thể tự động làm mất công thức và kết quả sau một khoảng thời gian được mình cho trước không ạ, bằng cách gì cũng được, kể cả lập trình vba cũng được ạ.
Ví dụ như em có file này: Công thức của ô J6 trong file là:
Mã:
=IF(I6<H6,VLOOKUP(C6,$E$18:$G$21,3,0),IF(I6=H6,0,VLOOKUP(C6,$E$18:$H$21,4,0)))
Em muốn sau 1 khoảng thời gian mà em cho trước thì công thức và kết quả đó sẽ tự động bị mất. Mong các chú thầy anh giúp em, cái vấn đề này rất quan trọng đối với em. Em cảm ơn nhiều lắm.
 

File đính kèm

Em muốn sau 1 khoảng thời gian mà em cho trước thì công thức và kết quả đó sẽ tự động bị mất. Mong các chú thầy anh giúp em, cái vấn đề này rất quan trọng đối với em. Em cảm ơn nhiều lắm.
Mục đích của việc này là gì nhỉ? Tôi đọc cứ cảm thấy nó "quái đản" thế nào ấy. Hãy rộng lòng đi bạn, đã có ý chia sẻ kiến thức thì đừng làm vậy chứ, bằng ngược lại thì hãy giữ lấy làm của riêng, đừng chia sẻ cho ai là khỏi lo nghĩ gì đến cái "ngày đến hạn" ấy.
 
Mục đích của việc này là gì nhỉ? Tôi đọc cứ cảm thấy nó "quái đản" thế nào ấy. Hãy rộng lòng đi bạn, đã có ý chia sẻ kiến thức thì đừng làm vậy chứ, bằng ngược lại thì hãy giữ lấy làm của riêng, đừng chia sẻ cho ai là khỏi lo nghĩ gì đến cái "ngày đến hạn" ấy.

Em không hề có ý nghĩ đấy, nếu anh nghĩ rằng em che giấu kiến thức thì em đã không bao giờ chạy vào topic chuyên để làm hộ bài tập cho các bạn, thậm chí còn ngồi để giải hộ cho các bạn ý đến cả chục bài tập. Còn em nói rồi, đó là việc riêng của em, nếu anh không giúp được cũng ko sao, nhưng xin đừng nghĩ em như vậy. Em cảm ơn.
 
Em không hề có ý nghĩ đấy, nếu anh nghĩ rằng em che giấu kiến thức thì em đã không bao giờ chạy vào topic chuyên để làm hộ bài tập cho các bạn, thậm chí còn ngồi để giải hộ cho các bạn ý đến cả chục bài tập. Còn em nói rồi, đó là việc riêng của em, nếu anh không giúp được cũng ko sao, nhưng xin đừng nghĩ em như vậy. Em cảm ơn.
Tôi biết và luôn ghi nhận sự nhiệt tình của bạn trên GPE, tuy nhiên tôi vẫn thấy cái yêu cầu bạn đưa ra nó ngồ ngộ. Bạn có thể đưa ra một lý do thuyết phục được không, chẳng hạn như một tình huống cụ thể nào đó mà việc làm này là thực sự cần thiết.
 
Không phải em muốn hỏi sai box đâu ạ, vì với dạng câu hỏi này em cũng không biết hỏi ở đâu nữa, mong các mod và smod thông cảm. Em cảm ơn.
Em muốn hỏi xem có cách nào có thể tự động làm mất công thức và kết quả sau một khoảng thời gian được mình cho trước không ạ, bằng cách gì cũng được, kể cả lập trình vba cũng được ạ.
Ví dụ như em có file này: Công thức của ô J6 trong file là:
Mã:
=IF(I6<H6,VLOOKUP(C6,$E$18:$G$21,3,0),IF(I6=H6,0,VLOOKUP(C6,$E$18:$H$21,4,0)))
Em muốn sau 1 khoảng thời gian mà em cho trước thì công thức và kết quả đó sẽ tự động bị mất. Mong các chú thầy anh giúp em, cái vấn đề này rất quan trọng đối với em. Em cảm ơn nhiều lắm.
Cái đồ quỷ này dể ẹc chứ có gì đâu ghê gớm.
Muốn mất hết công thức thì copy dán value

PHP:
Sub xoa_het_cong_thuc()
With ActiveSheet.UsedRange
   .Value = .Value
End With
End Sub

Muốn Sub trên chạy tự động đến ngày ấn định thì thêm 1 sub auto_open nữa.
Chẳng hạn vầy nè. Số 10 000 000 là số mấy thì bạn tự nghiên cứu nhé.
PHP:
Sub auto_open()
If Date > 10000000 Then
   xoa_het_cong_thuc
End If
End Sub
Trước đây mình cũng giống bạn vậy đó, nhưng giờ thì đã hiểu ra rồi nên cho mọi người xài xả láng và họ cũng chẳng biết đâu mà xài. Con ai nấy dạy mà.
 
Em cảm ơn anh đã giúp đỡ, nhưng cái vba này em chưa học bao giờ, anh chỉ rõ hơn cho em với, em cảm ơn anh nhiều lắm.
 
cám ơn bạn Quang hai, nhưng liệu có thể làm ngược lại không ? tức là cho hiện lại công thức ?
 
Lần chỉnh sửa cuối:
cám ơn bạn Quang hai, nhưng liệu có thể làm ngược lại không ? tức là cho hiện lại công thức ?
Giả sử trong ô có số 1, vậy đố bạn biết số 1 ấy được tạo thành bằng công thức nào đấy: =2-1 hay =3^2-2^3 hay =--RIGHT("A1"),...?
Tóm lại là điều bạn cần làm là không thể thực hiện được.
 
Em cảm ơn anh đã giúp đỡ, nhưng cái vba này em chưa học bao giờ, anh chỉ rõ hơn cho em với, em cảm ơn anh nhiều lắm.
Muốn học VBA căn bản thì liên hệ sdt dưới chữ ký của mình. Có cả đĩa DVD hướng dẫn.

Mọi người đừng chém nha
 
Lần chỉnh sửa cuối:
Cám ơn bạn, mình nghĩ là có thể, chỉ là ta không biết cách làm cho nó hiện lại được thôi , bởi chắc cái công thức kia nó còn tồn tại ở đâu đó và Cũng có thể mình "điếc không sợ súng ".
Cơ bản là không thể. Nhưng nếu thật sự bạn muốn như thế thì cũng có cách. Chẳng có gì là không được.
 
Cơ bản là không thể. Nhưng nếu thật sự bạn muốn như thế thì cũng có cách. Chẳng có gì là không được.
Mình thấy code của bạn hay, bởi vì biết đâu có lúc cần "bẩn bụng" một tý . Mình đùa thôi, nhưng học hỏi kiểu này nhớ lâu hơn các cách khác . Có lúc đọc hàng chục trang sách mà khi buông ra chẳng nhớ được gì . Mình nghĩ rằng nhiều bạn muốn học chứ không riêng gì mình . Cám ơn bạn !
 
Mình thấy code của bạn hay, bởi vì biết đâu có lúc cần "bẩn bụng" một tý . Mình đùa thôi, nhưng học hỏi kiểu này nhớ lâu hơn các cách khác . Có lúc đọc hàng chục trang sách mà khi buông ra chẳng nhớ được gì . Mình nghĩ rằng nhiều bạn muốn học chứ không riêng gì mình . Cám ơn bạn !
Đại loại là thế này. Nếu thích thì cứ theo file mà phát triển thêm
 

File đính kèm

Đại loại là thế này. Nếu thích thì cứ theo file mà phát triển thêm
Cám ơn bạn, ngày xưa có một người đi sứ sang châu âu, lúc bấy giờ người ta mới phát minh ra đèn điện. Khi về nước, ông mang chuyện " Cái đèn treo ngược " mà vẫn sáng ra kể, kết quả là (đầu treo cửa thành) vì tội dối vua, lừa dân ... thế mới biết, có những cái " tưởng không mà có, có những cái tưởng có mà không ", cám ơn bạn !
 
Đại loại là thế này. Nếu thích thì cứ theo file mà phát triển thêm
Cách này áp dụng cho trường hợp mình biết công thức ban đầu thế nào, còn nếu cột I trong file chỉ có các con số ấy mà suy luận để làm hiện lại công thức thì có mà tài thánh **~**-+*/+-+-+-+
 
Cách này áp dụng cho trường hợp mình biết công thức ban đầu thế nào, còn nếu cột I trong file chỉ có các con số ấy mà suy luận để làm hiện lại công thức thì có mà tài thánh **~**-+*/+-+-+-+
Đương nhiên rồi. Ông nào muốn xoá công thức không cho người khác coi thì tất yếu là biết công thức ban đầu rồi. Chứ có ai dại gì mà xoá hết công thức có sẵn hả Phúc.
 
Cách này áp dụng cho trường hợp mình biết công thức ban đầu thế nào, còn nếu cột I trong file chỉ có các con số ấy mà suy luận để làm hiện lại công thức thì có mà tài thánh **~**-+*/+-+-+-+
Giống như nhìn vào đáp án là con số 1 đơn giản thì ta có hàng tỷ công thức để ra đáp án như thế. Ngoại trừ chủ nhân của đáp án đó thì chỉ có trời mới biết công thức như thế nào. Bài toán nói đơn giản nhưng bất khả thi như đang giỡn
 
Trước khi xóa, copy sheet(s) lại và giấu sheet(s) ấy đi - giấu very hidden. Nhưng đã có thể khôi phục lại được thì xóa làm chi? Mình khôi phục được thì người khác cũng khôi phục được. Rốt cuộc công việc từ đầu chí cuối chỉ là một trò phí thời giờ.

Chủ thớt mặc cảm sợ người ta nhìn công thức biết mình viết dở ???
 
Đương nhiên rồi. Ông nào muốn xoá công thức không cho người khác coi thì tất yếu là biết công thức ban đầu rồi. Chứ có ai dại gì mà xoá hết công thức có sẵn hả Phúc.

Thế cái nút "Khôi phục" nó nằm ở tập tin nào vậy hả Hải? Nếu nó nằm ở tập tin chia sẻ cho người khác thì xóa công thức để làm gì? Lôgíc ở đâu? Xóa công thức trong khi nút "Khôi phục" và code khôi phục nó nằm lù lù ra đấy?
Còn nếu xóa công thức trong tập tin mà mình dùng thì mình luôn có bản sao chứ? Ai đời lại thay vì ghi bản sao thì làm cái nút lù lù trên Sheet thế? Nhìn thấy cái nút ấy vô duyên quá.
-------------
Mà anh làm cái cửa che đi. Hay anh cố tình để mở thông thống thế để "hành hạ" người khác?. Người đời đã nói: cái gì mắt không thấy thì lòng không đau, không tiếc. Anh hãy thương mọi người và làm cái cửa đi.
 
Trước khi xóa, copy sheet(s) lại và giấu sheet(s) ấy đi - giấu very hidden. Nhưng đã có thể khôi phục lại được thì xóa làm chi? Mình khôi phục được thì người khác cũng khôi phục được. Rốt cuộc công việc từ đầu chí cuối chỉ là một trò phí thời giờ.

có thể chủ topic muốn giấu đi và nhưng người không rành thì không thể khôi phục được. Còn phí thời giờ thì theo tôi không việc gì là phí thời giờ nếu bạn muốn tìm ra định hướng để tìm hiểu một vấn đề để tìm ra kết quả tốt nhất (cho dù là khả thi hay không khả thi thì đều thu hoạch được một thứ quý giá đó là kiến thức)

Chủ thớt mặc cảm sợ người ta nhìn công thức biết mình viết dở ???

Thiết nghĩ không có gì phải mặc cảm nếu tự bản thân mình biết mình dở cả. Nếu có sự mặc cảm về cái sự dở của bản thân thì chính mình sẽ không bao giờ tiến bộ nổi. Đâu ai không từ dỡ mà lên, phải có hôm nay dở để cố gắng học thêm để ngày mai tiến bộ. Như bản thân tôi, tôi ngu Excel, tôi chẳng biết về code nhưng tôi chẳng có gì phải mặc cảm với bản thân vì tôi biết tôi đang cố gắng học.

Trên đây chỉ là cảm nhận riêng của tui. Thân
 
có thể chủ topic muốn giấu đi và nhưng người không rành thì không thể khôi phục được. Còn phí thời giờ thì theo tôi không việc gì là phí thời giờ nếu bạn muốn tìm ra định hướng để tìm hiểu một vấn đề để tìm ra kết quả tốt nhất (cho dù là khả thi hay không khả thi thì đều thu hoạch được một thứ quý giá đó là kiến thức)
...

Biên giới kiến thức rộng vô cùng, không ai có thể học một đời người mà hết được - trừ phi đạt cảnh giới siêu nhiên, tóm gọn biên giới khiến kiến thức trử thành tri thức.

Vì vậy ta chỉ nên chú tâm học những cái gì thực dụng. Học cách cầm con dao mổ ruột cá có phải hơn học cách múa kiếm không?

Chung quanh nơi tôi làm việc và các nơi tôi tiếp xúc có nhiều người khả năng viết code, kiến thức hàm Excel không bằng một góc những người từng trải trong diễn đàn này. Nhưng khả năng áp dụng chút kiến thức nhỏ nhoi ấy của họ thì không hề kém ai. Tuy "tìm hiểu làm thế nào" là giai đoạn quan trọng nhưng "xác định làm cái gì" còn quan trọng hơn. Trước khi nắm vững điều 2 thì tìm hiểu nhiều về điều 1 chỉ phí thời giờ.

Bảng tính là công cụ để làm việc với dữ liệu. Người sử dụng bảng tính có quyền tìm vui trong công việc nhưng không nên quên rằng mục đích cuối cùng của mình là "bắt đầu từ dữ liệu tạp nhạp, trình bày lại dưới dạng thông tin có chuẩn mực".
 
Thế cái nút "Khôi phục" nó nằm ở tập tin nào vậy hả Hải? Nếu nó nằm ở tập tin chia sẻ cho người khác thì xóa công thức để làm gì? Lôgíc ở đâu? Xóa công thức trong khi nút "Khôi phục" và code khôi phục nó nằm lù lù ra đấy?
Còn nếu xóa công thức trong tập tin mà mình dùng thì mình luôn có bản sao chứ? Ai đời lại thay vì ghi bản sao thì làm cái nút lù lù trên Sheet thế? Nhìn thấy cái nút ấy vô duyên quá.

Em nghĩ nếu là em thì em sẽ viết code từ 1 file thuộc dạng tuyệt bí mật nằm trên máy tính của em (có mật khẩu hẳn hoi), và sao lưu file này ra USB, chép ra đĩa DVD, gởi vào mail để cất giữ ( bảo đảm 99% là không mất).
Khi nào cần bấm nút cái đùng thì file đích sẽ có những công thức mong muốn. Nhưng mà chắc không đời nào em viết mấy code thế này đâu anh ơi, vì em làm biếng lắm.
 
Tôi biết và luôn ghi nhận sự nhiệt tình của bạn trên GPE, tuy nhiên tôi vẫn thấy cái yêu cầu bạn đưa ra nó ngồ ngộ. Bạn có thể đưa ra một lý do thuyết phục được không, chẳng hạn như một tình huống cụ thể nào đó mà việc làm này là thực sự cần thiết.

Em vào diễn đàn học hỏi thêm kiến thức excel từ các anh/chú, em muốn đến học kì này điểm phẩy tin kế toán của em sẽ cao nhất lớp.
Còn việc học cách làm mất kết quả sau 1 khoảng thời gian được cho trước, cách tìm giá trị lớn nhất mà không cần tạo vùng điều kiện (em đã hỏi bên topic kia và chú ndu, anh leonguyen và chị nhất chi mai đã trả lời giúp em) là để đến lớp khoe khoang với các bạn thôi.
Cũng chỉ tại cái tính sĩ diện của em em ko nói rõ mục đích học cái này làm gì, nên mới khiến cho mọi người hiểu nhầm là em muốn học để dấu công thức, nhưng cũng xin nói rõ cho mọi người hiểu: Nếu em muốn giấu công thức thì không đời nào em đi lại làm giúp bài tập cho mọi người, vừa tốn công vừa bị mất kiến thức.
Những gì cần nói em đã nói hết, mọi người muốn nghĩ sao thì tùy.
Em vào diễn đàn cũng được 1 khoảng thời gian: Em cảm ơn chú ndu, anh leonguyen ......... và các anh chị ở trên diễn đàn đã giúp đỡ em trong thời gian qua.
 
Lần chỉnh sửa cuối:
Nếu em muốn giấu công thức thì không đời nào em đi lại làm giúp bài tập cho mọi người, vừa tốn công vừa bị mất kiến thức.

Sao lại bị mất kiến thức nè bạn, phải nói là mình có thể ôn lại kiến thức và phát triển nó chứ. Có thể ngay từ đầu bạn ko nói rõ nên có thể bị hiểu lầm thế thôi. Thân
 
Em vào diễn đàn học hỏi thêm kiến thức excel từ các anh/chú, em muốn đến học kì này điểm phẩy tin kế toán của em sẽ cao nhất lớp.
Còn việc học cách làm mất kết quả sau 1 khoảng thời gian được cho trước, cách tìm giá trị lớn nhất mà không cần tạo vùng điều kiện (em đã hỏi bên topic kia và chú ndu, anh leonguyen và chị nhất chi mai đã trả lời giúp em) là để đến lớp khoe khoang với các bạn thôi.
Tôi để thấy hể ai "ghiền" VBA thì chẳng mấy ai thích nghiên cứu những thứ liên quan đến BẢO MẤT (tạo password, xóa password, ẩn công thức... vân vân...) vì họ thừa biết rằng món này chẳng hiệu quả tí nào khi hoạt động trong môi trường VBA

Nếu muốn "khoe" thì thiếu chi thứ, chẳng hạn:
- Mày có tin rằng tao làm được cái đồng hồ trên Excel không?
- Mấy có tin rằng tao làm được 1 cái biểu đồ "động đậy" trên Excel không?
- Mày có tin rằng tao có thể xem phim, phát nhạc mp3 trên Excel không?

vân vân và vân vân...
Thiếu gì thứ có thể vừa để khoe lại vừa để bổ sung kiến thức lập trình cho riêng mình.... Chẳng hiểu sao bạn lại chọn cái món bảo mật là món dở ẹc nhất trong môi trường VBA
 
lần nào bước chân vào đây đọc bài viết mình cũng rất bực tức và khó chịu, cũng chẳng hiểu sao nữa, chắc có lẽ phải tạo vài cái topic spam, để BQT banned cái nick này (banned luôn cả IP thì càng tốt), lúc đó ko có nick ko vào đây, mình sẽ cảm thấy vui vẻ hơn.
 
lần nào bước chân vào đây đọc bài viết mình cũng rất bực tức và khó chịu, cũng chẳng hiểu sao nữa, chắc có lẽ phải tạo vài cái topic spam, để BQT banned cái nick này (banned luôn cả IP thì càng tốt), lúc đó ko có nick ko vào đây, mình sẽ cảm thấy vui vẻ hơn.

Theo tôi thì bạn ko nên làm như thế. GPE là diễn đàn mở cho mọi người cho nên mọi người đều có quyền có ý kiến riêng (trong phạm vi cho phép). Vài lời chia sẽ. Thân.
 
Chung quy là tại mình, thấy ý tưởng của A_lang đúng là ngộ ngộ , nhưng sau khi thấy Quang Hải trả lời , tự nhiên mình nảy ra ý tưởng , liệu có thể khôi phục lại công thức đã xóa được không nhỉ ? Hồng vân trả lời không thể, Nghĩa phúc trả lời không thể . Riêng Quang Hải trả lời nếu muốn thì có thể và đính kèm tập tin lên . Ý định của mình là : Với tập tin dữ liệu lớn và công thức tính toán nhiều sẽ rất nặng, nhất là nếu máy của bạn cũ . Ý mình là nếu chưa cần tính toán thì tạm thời xóa công thức cho nhẹ . lúc cần tính toán thì cho hiện lại.
Mình đã thấy vài lần những cuộc tranh luận kiểu vừa rồi , nên mình chẳng muốn tham gia . Vì mỗi người hiểu theo một ý thì chỉ có ….”chia tay hoàng hôn “, chứ làm sao mà giúp nhau nữa .
Ý định như vậy , và mình đã thực hiện được đúng theo ý mình . Mình chỉ chưa kiểm chứng với file có nhiều dữ liệu và công thức xem nó có nhẹ hơn không ?
Chứng minh rằng mình học thầy , học bạn hoàn toàn nghiêm túc ( xin lỗi Quang Hải mình đã sửa code của bạn theo ý mình )

Option Explicit

Sub xoa()
ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
End Sub

Sub taoct()
Dim n As Long
n = Range("H65536").End(xlUp).Row
Range([I6], [I65536].End(3)) = "=SUMIF(R6C1:R1000C1,RC8,R6C5:R[994]C[-4])"
Range("I6").Select
Selection.AutoFill Destination:=Range("I6:I" & n + 1)
Range("I6").Select
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim n As Long
n = Range("H65536").End(xlUp).Row
If Target.Address = "$I$" & n + 1 Then
Call taoct
Range("H" & n + 1).Select
End If
End Sub

Với code này khi cần hiện lại công thức, mình chỉ cần đưa con trỏ về ô cuối của cột I là công thức hiện trở lại và con trỏ chuyển về ô sẵn sàng để bạn nhập dữ liệu . Vài lời chia sẻ , nếu ai không đồng ý với mình thì cũng là lẽ thường tình vì cuộc sống vốn thế mà …
Một lần nữa mình xin cám ơn Quang Hải .
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom