vova2209
Thành viên tích cực
- Tham gia
- 5/4/17
- Bài viết
- 835
- Được thích
- 112
- Giới tính
- Nam
- Nghề nghiệp
- Đường bộ
Định trả lời mà thấy câu này của anh laij rénCâu trả lời là: có.
Tại sao câu hỏi lại không có dấu chấm hỏi?
Sub ShowPrecedents()
On Error Resume Next
ActiveSheet.ClearArrows
ActiveCell.ShowPrecedents
End Sub
Vâng em cảm ơn anh nhiều!vova2209
Chỉ có cái ảnh dưới, bạn nhìn vào sẽ hiểu.
Tôi chưa viết mã tôi chỉ có hướng dẫn đơn giản.
Nếu bạn biết đến Add-in FormulaBeautify trong tài nguyên, tôi viết 1 hàm duy nhất để phân tích biểu thức.
Hàm đó phân tích đầy đủ công thức, giá trị, bảng, Named, liên kết ô.
Tận dụng hàm đó bạn sẽ có được tất cả các vùng được liên kết đến. Sau đó bạn sử dụng cách tạo các Shape tại các ô liên kết. Tạo mủi tên trỏ đến Shape tại ô Target.
Mỗi shape lại thêm link để khi click vào sẽ đi đến vùng ô đó.
Cách đơn giản nhất là hiện các mủi tên liên kết:
JavaScript:Sub ShowPrecedents() On Error Resume Next ActiveSheet.ClearArrows ActiveCell.ShowPrecedents End Sub
View attachment 288629
Có thì có, nhưng mục đích của việc làm rối rắm ấy là gì?Câu trả lời là: có.
...
Cũng ít dùng thôi anh chị ạ. Nhưng có lúc xem 1 công thức mà cộng tận 20 ô excel ở các vị trí khác nhau tìm lồi mắt, nên em muốn hiển thị được các ô trong công thức đó ạCó thì có, nhưng mục đích của việc làm rối rắm ấy là gì?
Ví dụ vào ô A1, bôi màu các ô được công thức trong A1 nhắc tới.
Nhảy qua ô A2, xóa màu các ô trên và bôi màu theo A2.
Nhảy qua A3, ....
Kết quả: màn hình cứ chớp lia lịa để đổi màu. Chỉ tưởng tượng viễn ảnh này đã thấy rợn óc rồi.
Trường hợp a1+a1000000 thì sao nhẩy?Em thấy Excel đã tự tô màu. Chẳng những vậy, còn tô màu riêng biệt theo địa chỉ mà?
View attachment 288646
Thoát ra khỏi lệnh xem còn hiện lên các ô địa chỉ ko?.Em thấy Excel đã tự tô màu. Chẳng những vậy, còn tô màu riêng biệt theo địa chỉ mà?
View attachment 288646
Thớt chưa thực hiện được cho nên chưa biết những việc phức tạp khác do chuyện này gây nên.Vậy nhiều ô chưa công thức mà tô cùng màu thì làm sao anh biết các ô địa chỉ thuộc ô chứa công thức nào ?
Em đang đi công trường ạ.Thớt tương tác kém quá. Bài #3 vẫn chưa thấy trả lời.
Còn 1 vấn đề thế này: nếu chuyển sang địa chỉ ô khác thì làm sao biết được những ô đã tô màu trước đó để xóa. Đang làm thì dễ, lỡ đóng file nghỉ làm, mai mở ra lại thì đâu còn lưu địa chỉ. Tất nhiên vẫn có cách nhưng vẫn có những bất cập.
1. Dùng một mảng Global (biến toàn cục) để chứa những chỗ đang tô màu - và nếu cẩn thận thì chứa nguyên thủy chúng màu gì.Còn 1 vấn đề thế này: nếu chuyển sang địa chỉ ô khác thì làm sao biết được những ô đã tô màu trước đó để xóa. ...
Em đã thử rồi ạ, Trong bảng tính của em thi thoảng hay dính 1 hàm chỉ có cộng và trừ địa chỉ là các range trong bảng.Thớt chưa thực hiện được cho nên chưa biết những việc phức tạp khác do chuyện này gây nên.
Ví dụ tham chiếu cả một Table thì bôi màu cả Table ấy?
Hàm Indirect, hàm Offset? UDF? (bên trong cái UDF có tham chiếu đến range khác)
Em cũng nghĩ như vậy nhưng khi đóng file mà chưa xoá màu đã tô thì biến toàn cục chịu thua. Để giải quyết thì phải lưu chỗ nào đó trên bảng tính.1. Dùng một mảng Global (biến toàn cục) để chứa những chỗ đang tô màu - và nếu cẩn thận thì chứa nguyên thủy chúng màu gì.
2. Ở bài #6 tôi có nhắc việc xóa, tô sẽ làm cho bảng tính chớp lia lịa.
Mỗi người 1 tính bạn ạ, mình không biết mình mới hỏi cứ vào vặn vẹo nhau làm gì nhỉ. Các bạn GPE nhiệt tình đưa ra thêm các tình huống khác mà mình chưa biết sẽ sảy ra. Các file tính của mình thi thoảng đụng phải công thức tính trong 1 sheets thôi, vì công thức cộng dài quá và mỗi địa chỉ cách nhau hàng trăm dòng nên khi thoát công thức tìm sẽ vất vả.Định trả lời mà thấy câu này của anh laij rén
@vova2209 Và rồi những công thức có liên kết với sheet khác thì làm thế nào? Cũng bôi màu à?
Không quan trọng. Với trình độ người viết code mà thớt đã chọn thì hộ tự biết cách "dọn rác".Em cũng nghĩ như vậy nhưng khi đóng file mà chưa xoá màu đã tô thì biến toàn cục chịu thua. Để giải quyết thì phải lưu chỗ nào đó trên bảng tính.