anhtuan1066
Thành viên gạo cội




- Tham gia
- 10/3/07
- Bài viết
- 5,802
- Được thích
- 6,912
anhtuan1066 đã viết:Hảy mở file, click chọn bất cứ cell nào trong bảng dử liệu rồi bấm F9... nguyên dòng ấy sẽ dc Highlight... Khá thú vị là file này chẳng dùng macro... (ăn cắp công nghệ của file về biểu đồ động)...
Các bạn thử xem!
ANH TUẤN
duongsatdn đã viết:Ở sheet dữ liệu em thêm đoạn mã này vào thì khỏi cần bấm F9.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub
anhtuan1066 đã viết:Hi... hi... thế bạn làm thế nào nếu ko có cell O1 và cột P? Tôi chưa biết à nha! Bật mí đễ học hỏi xem nào?
ANH TUẤN
anhtuan1066 đã viết:Chính xác... tôi cũng vừa mới nghĩ ra... cám ơn duongsatdn gợi ý... hi.. hi..
Với CATHY.. cái công thức ấy ko quan trọng lắm... Mấu chốt nằm trong conditional formating bạn à! Vào đó xem sẽ hiểu
ANH TUẤN
anhtuan1066 đã viết:Từ từ thử sẽ biết mà... Nhân tiện là có thể làm luôn =COLUMN()=CELL("COL") cho Highlight luôn cột nhỉ...
Nhớ có lần lượm dc code của nước ngoài, chúng nó Highlight dòng cột nhìn thấy mê... giờ thì ta làm dc rồi nhé... Nếu kết hợp với code Calculate nữa thì thành 1 code hoàn hảo... lại ngon ăn hơn của mấy cha nước ngoài ở chổ là nó ko hề xóa mất màu của các cell gốc... Ha... ha... Nói chung là ko hề ảnh hưởng gì đến Format gốc...
ANH TUẤN
Function CallMe()
MsgBox "Hàm đang được tính lại"
End Function
TuanVNUNI đã viết:Một ví dụ để test sẽ về vấn đề này. Tạo trong VBE, tạo một module sau đó viết một hàm
Mã:Function CallMe() MsgBox "Hàm đang được tính lại" End Function
Một vài ô nào đó bạn gõ công thức có chứa hàm CallMe. Ví dụ tại ô B1 gõ
=CallMe() và B2 cũng cõ công thức như ở ô B1
Bây giờ chúng ta di chuyển con trỏ ô để xem điều gì xảy ra.
Cảm ơn anh gợi ý thêm vụ column. Em kết hợp thêm định dạng font đậm lên và màu font thì thấy gầm giống phim hoạt hình. Hì...hì...anhtuan1066 đã viết:Còn đáng tiếc thêm 1 cái là CF ko cho phép chỉnh size chử, nếu ko thì Highlight sẽ ấn tượng hơn nhiều... Chọn cell, chử trên dòng và cột của nó sẽ phìng to ra 1 chút... Y chang phim hoạt hình... he.. he..
ANH TUẤN
Điều này bạn có thể yên tâm... Vì đã làm CF thì đâu phải ta Highlight toàn bộ bảng tính đâu mà lo... Nếu là tôi thì tôi sẽ chọn 1 vùng nào đó cho CF... Khi bạn muốn in sheet, chỉ việc chọn vào cell nằm ngoài vùng này là dc rồiConditional Formating là chức năng định dạng tự động, vì thế khi in sheet nó sẽ in định dạng này lên trang in. Nếu bảng tính Excel có highlight này cần in thì làm thế nào để khi in nó tự mất highlight (hoàn trả về màu cũ của dòng và cột đã bị highlight trước đó
Mr Okebab đã viết:Cái HighLight này chỉ là đơn giản về cách làm thôi, tuy nhiên vấn đề em thắc mắc là không biết dùng CF có gây nặng File hay không, cì CF là công thức, nó phải quét tất cả vùng đó nên em sợ . . ..
Tuy nhiên đây cũng là 1 điều đáng để học hỏi. Và sẽ hiệu quả hơn khi có sự kiện selection_change đi kèm (nễu mỗi lần di chuyển mà nhấn F9 thì hơi mất công)
Thân!
Thì như ở trên các bạn ấy nói đó.. nếu bạn muốn tự động luôn thì thêm 1 đoạn code nữa vào...CATHY đã viết:Em hiểu rồi, nhưng nếu không phải F9 thì hay qúa !!!
CATHY
SoiBien có thể cải tiến vấn đề này bằng cách tạo 1 Button, khi ta bấm vào thì SelectionChange mới có tác dụng... Bấm vào lần nữa: Tắt SelectionChange!nếu phải dùng sheet.Calculate trong sự kiện selectionchange, ta sẽ gặp một trở ngại là không thể copy/cut rồi paste dữ liệu được, vì khi calculate, CutandCopymode sẽ false
Anh có thể tạo 1 Checkbox (if Not Checkbox then Exit Sub) Hoặc Anh Chọn ô A1 nếu khác rỗng thì hiệu lực SelectionChange và ngược lại.anhtuan1066 đã viết:SoiBien có thể cải tiến vấn đề này bằng cách tạo 1 Button, khi ta bấm vào thì SelectionChange mới có tác dụng... Bấm vào lần nữa: Tắt SelectionChange!
Nói chung ko phải lúc nào ta cũng cần đến Highlight, nếu khống chế "TẮT MỞ" như thế sẽ thuận tiện hơn!
ANH TUẤN
Uh... Khi tôi vừa nêu ý kiến này thì bắt tay vào làm ngay.. cũng giống như Phước nói vậy... tôi "nói" cho "nó" biết rằng "NẾU A1="" THÌ XÓA CF VÀ KO LÀM GÌ NỮA CẢ, NGƯỢC LẠI, ADD CF VÀ THỰC HIỆN SELECTION CHANGE"tedaynui đã viết:Anh có thể tạo 1 Checkbox (if Not Checkbox then Exit Sub) Hoặc Anh Chọn ô A1 nếu khác rỗng thì hiệu lực SelectionChange và ngược lại.
anhtuan1066 đã viết:Cải tiến Highlight theo kiểu của anh TuanVNUNI nè... (bắt chước giống giống thôi)... hi... hi...
anhtuan1066 đã viết:Hay... có thể copy paste dc bình thường... tuy nhiên kiến thức này lại.. quá cao so với những bạn mới học...
Dù sao tôi vẫn khoái dùng F9 hơn... Mỗi khi thao tác nhập liệu thì nó cũng tự động Highlight đấy thôi.. chỉ trừ trường hợp chọn cell là nó ko tự động thôi.. Cách này rất phù hợp cho các bạn mới học... hi... hi...
ANH TUẤN
He... he... như đã nói từ đầu, cách này chưa dc vì nếu dùng Calculate thì chức năng copy sẽ bị hủyMình thêm một chút để góp vui trong diễn đàn. Cũng là nhờ các anh giúp đỡ thôi. Xấu hổ quá chưa đọc hết bài các anh đã quậy rồi. Xấu hổ quá!!!!!!!!!!!
Vậy 1 trong 2 thao tác trên cái nào nhanh hơn?Đâu cần thiết phải nhấn F9, Double Nick và Cell bất kỳ rồi enter là được rồi.
Muốn không bị hủy chức năng copy paste thì dễ mà, anhtuan chịu 1 chầu nhé!He... he... như đã nói từ đầu, cách này chưa dc vì nếu dùng Calculate thì chức năng copy sẽ bị hủy
Cái này chưa dc đâu sư phụ ơi... nếu ta chọn copy và paste trong vùng CF thì nó vẫn.. tèo...Muốn không bị hủy chức năng copy paste thì dễ mà, anhtuan chịu 1 chầu nhé!
(copy ở đâu cũng được, nhưng chỉ paste ngoài vùng dữ liệu thôi)
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
ActiveWorkbook.Names("curRow").Value = ActiveCell.Row
ActiveWorkbook.Names("curCol").Value = ActiveCell.Column
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = True
End Sub
Đã cải tiến lại rồi, làm gì có cái vụ không cho copy, paste chứ bạn?Xin hỏi một tí: Kho làm vậy thì trong sheet đó không cho copy -> Paste thì ta làm thế nào?
Cái này chưa dc đâu sư phụ ơi... nếu ta chọn copy và paste trong vùng CF thì nó vẫn.. tèo...
Ngày trước Soibien làm như sau:
Còn đệ thì làm như vầy:PHP:Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) ActiveWorkbook.Names("curRow").Value = ActiveCell.Row ActiveWorkbook.Names("curCol").Value = ActiveCell.Column End Sub
ANH TUẤNPHP:Private Sub Worksheet_SelectionChange(ByVal Target As Range) Application.ScreenUpdating = True End Sub
Bạn đã đặt Rules cho CF đâu. Bị báo lỗi là đúng rồiPhiền mọi người chỉ giúp em với
Em làm y như chỉ dẫn của các anh mà ko được.