Định dạng Conditional Formatting

Liên hệ QC
Tham gia
14/9/12
Bài viết
312
Được thích
68
Nghề nghiệp
VT
Mình có yêu cầu như trong file, Xin được giúp đỡ, cảm ơn nhiều
 

File đính kèm

  • Theo doi thue phong 2014.xls
    20.5 KB · Đọc: 31
Condictinal Formatting không thể tham chiếu giữa 2 sheet khác nhau!! Dùng tạm cách củ chuối này đi bạn!
 
Condictinal Formatting không thể tham chiếu giữa 2 sheet khác nhau!! Dùng tạm cách củ chuối này đi bạn!

đúng là Excel 97-2003 ko liên kết trực tiếp giữa các sheet, nhưng bạn vẫn có thể dùng Name.

khi cài Conditional Formatting (có liên kết giữa 2 sheet) xong ở các phiên bản sau 2003, sau khi lưu thì xuất hiện thông báo

- nếu ko dùng Name:
thong bao 1.jpg

- khi dùng Name
thong bao 2.jpg

bài này thì mình phải chuyển toàn bộ các cell sang số thì mới đối chiếu được với cột phòng bên sheet Diengiai.

tham khảo thêm:
dùng hàm: Extracting numbers from alphanumeric strings (microsoft)
dùng VBA: Function ExtractNumber (ozgrid)

link:
https://www.mediafire.com/?y4jv0a5wkjz3gv5
 
Lần chỉnh sửa cuối:
chuyển toàn bộ các cell sang số thì mới đối chiếu được với cột phòng bên sheet Diengiai.
(tham khảo thêm: Extracting numbers from alphanumeric strings (microsoft))

Cảm ơn các Anh đã giúp đỡ. Mình thấy hài lòng rồi. Nhưng nếu trường hợp khách hàng đã trả phòng (tức là khi nhập thêm ngày trả phòng) thì mình muốn phòng đó lại trở về màu trắng, vậy phải làm thế nào. VD ở đây là F4, F5 sheet Diengiai khách đã trả phòng.
 
Lần chỉnh sửa cuối:
Cảm ơn các Anh đã giúp đỡ. Mình thấy hài lòng rồi. Nhưng nếu trường hợp khách hàng đã trả phòng (tức là khi nhập thêm ngày trả phòng) thì mình muốn phòng đó lại trở về màu trắng, vậy phải làm thế nào. VD ở đây là F4, F5 sheet Diengiai khách đã trả phòng.

mình thấy dùng Conditional Formatting (CF) và áp dụng cho Excel 97_2003 vào bài toán của bạn có nhược điểm là:

- việc xác định vùng đã cài CF ko phải dễ, chẳng thấy ô Applies To đâu cả :-= (Excel 2007 trở về sau thì khác)
applies to 1.jpg

no app.png
- công thức rất dài (vì nhiều điều kiện) + khó hiểu. ---> khi chỉnh sửa công thức lại phải đưa ra ngoài sheet
- Khi dùng công thức mảng ---> ảnh hưởng đến tốc độ của file đang chạy.

'- - -
mình quyết định chuyển sang dùng VBA:chính xác + dễ điều chỉnh vùng đã cài + dễ hiểu. :-=

'- - -
bạn mở file, cho chạy Macro, nhập thông tin tại sheet Diengiai, xem kết quả sheet Theodoi

Link:
https://www.mediafire.com/?ndjpdmi4imd3t47
 
Lần chỉnh sửa cuối:
bạn mở file, cho chạy Macro, nhập thông tin tại sheet Diengiai, xem kết quả sheet Theodoi


Viết bằng VBA thì tốt quá. Cảm ơn phucbugis Nhưng sao khi mở file lại báo lỗi nhỉ:
Run-time error ‘438”
Object doesn’t support thí property or method

ArrDSphong.Interior.TintAndShade = 0 'clear color

Làm ơn chỉ bảo giúp.
 
Viết bằng VBA thì tốt quá. Cảm ơn phucbugis Nhưng sao khi mở file lại báo lỗi nhỉ:
Run-time error ‘438”
Object doesn’t support thí property or method

ArrDSphong.Interior.TintAndShade = 0 'clear color

Làm ơn chỉ bảo giúp.

hehe, do mình Record Macro của Excel 2013 nên code nó khác -> ko chạy trên 2003 được.

bạn sửa:
ArrDSphong.Interior.TintAndShade = 0 thành
Mã:
ArrDSphong.Interior.ColorIndex = xlNone
rng.Interior.TintAndShade = 0 thành
Mã:
rng.Interior.ColorIndex = xlNone

là chạy được.
 
Thử công thức Formating conditional này cho đơn giản

chú ý

Sheet TheoDoi chỉ cần gõ số phòng (bấm Ctrl+1 hoặc Format/cells... để thấy định dạng number tự động thêm chữ "PHÒNG")

chú ý:

+ Phần cột G bên DienGiai phải gõ đúng tiêu đề tương ứng như dòng 3 sheet TheoDoi

+ Các Formating conditional được định dạng riêng cho từng vùng của dãy riêng biệt (4 cái riêng: cột A, Cột B:C, Cột D, cột E) - vào data formating conditional để rõ công thức áp dụng

+ có sử dụng 2 name động cho cột F, G : để đảm bảo số liệu cập nhập ở DienGiai được tính vào, bấm Ctrl+F3 để thấy 2 name này

cuối cùng xem tất cả trong file kèm
 

File đính kèm

  • Theo doi thue phong 2014_1.xls
    45 KB · Đọc: 8
Thử công thức Formating conditional này cho đơn giản
Cảm ơn vodoi2x Mình thử rồi không được. khi nhập ngày trả phòng thì màu nền không trở lại.
user-offline.png
 

vậy thì thêm name nNGAYTRA ,

xem file kèm

vẫn cần

Thử công thức Formating conditional này cho đơn giản

chú ý

Sheet TheoDoi chỉ cần gõ số phòng (bấm Ctrl+1 hoặc Format/cells... để thấy định dạng number tự động thêm chữ "PHÒNG")

chú ý:

+ Phần cột G bên DienGiai phải gõ đúng tiêu đề tương ứng như dòng 3 sheet TheoDoi

+ Các Formating conditional được định dạng riêng cho từng vùng của dãy riêng biệt (4 cái riêng: cột A, Cột B:C, Cột D, cột E) - vào data formating conditional để rõ công thức áp dụng

+ có sử dụng 2 name động cho cột F, G : để đảm bảo số liệu cập nhập ở DienGiai được tính vào, bấm Ctrl+F3 để thấy 2 name này

cuối cùng xem tất cả trong file kèm
 

File đính kèm

  • Theo doi thue phong 2014_1.xls
    45 KB · Đọc: 6
thêm name nNGAYTRA ,

xem file kèm
Đúng ý mình rồi đấy. Cảm ơn Vodoi2x nhé. Thật tuyệt.
Nhưng cho mình hỏi chút:
bấm Ctrl+1 để thấy định dạng number tự động thêm chữ "PHÒNG" chỗ này mình chưa hiểu ý lắm có thể giải nghĩa thêm được không?
Cảm ơn
 
Lần chỉnh sửa cuối:
Đúng ý mình rồi đấy. Cảm ơn Vodoi2x nhé. Thật tuyệt.
Nhưng cho mình hỏi chút:
bấm Ctrl+1 để thấy định dạng number tự động thêm chữ "PHÒNG" chỗ này mình chưa hiểu ý lắm có thể giải nghĩa thêm được không?
Cảm ơn


Thì tại sheet TheoDoi, bạn chỉ nhập số phòng ví dụ phòng 1 chỉ nhập số 1 không có chữ "PHÒNG", - tại các ô này bạn bấm Ctrl+1 thì sẽ thấy vào

Format \ Cell.... ==> định dạng dùng là custom xem trong TYPE sẽ thấy ....

b/c lại kết quả
 
Rất cảm ơn anh. Giờ thì mình đã hiểu. Nhưng mà đang loay hoay tìm cách nới thêm danh sách. Vì danh sách hiện tại chỉ cho đến dòng 22 của Diengiai, nếu khi danh sách dài thêm thì bên theo dõi không nhận.

Ds gì, số phòng?

nếu là sheet DienGiai, thì đang để đến tận dòng 2000 - xem Name nPhongSo sẽ thấy $F$4:$F$2000

Sheet DienGiai Bạn phải gõ vào cột vào cột F (số phòng) , một cách liên tiếp các dòng thì mới có hiệu ứng - (nhập như thật đó)

Tức là cột F G phải có số liệu thì mới xét kết quả, và cột I nhập khi đã trả phòng
 
Lần chỉnh sửa cuối:
Name nPhongSo $F$4:$F$2000 chỗ này thì nhìn thấy rồi.

cột F nhập một cách liên tiếp (chỗ này bây giờ mới hiểu)
Cảm ơn Anh nhiều nhé. Chúc anh có 1 giấc mơ đẹp

Cảm ơn bạn, cứ diễn đàn kiểu này giấc mơ đẹp làm chi,

Vì nghe nói dữ liệu ở sheet diễn giải của bạn nhiều (chưa cả năm) như thế khi đó phần dữ liệu xét như nSOPHONG sẽ là vùng lớn gồm nhiều dòng --> làm chạy chậm . Trong khi chúng ta chỉ cần xét phân đang cho thuê hiên thời --> bắt đầu từ ít nhất dòng có ô I (Ngày trả) là Rỗng, ==> để cải tiến tốc độ xử lý, thì bạn nên thành công thức của name nPHONGSO thành công thức sau

PHP:
=OFFSET(Diengiai!$F$4,MATCH(TRUE,Diengiai!$I$4:$I$2000="",0)-1,,COUNTA(Diengiai!$F$4:$F$2000)-MATCH(TRUE,Diengiai!$I$4:$I$2000="",0)+1)

khi đó vùng tính toán sẽ giới hạn nhỏ hơn, mà kết quả vẫn đảm bảo chính xác.

Bạn thay như thế sẽ hiệu quả hơn công thức cũ của nPHONGSO

các tên khác nDAYNHA, nNGAYTRA không cần đổi gì cả vì nó được suy ra từ name nPHONGSO

bạn cứ Ctrl+F3 bấm vào phần Referto của công thức sẽ thấy vùng xét (và vùng mới đã giảm số dòng hơn)
 
khi đó vùng tính toán sẽ giới hạn nhỏ hơn, mà kết quả vẫn đảm bảo chính xác.

Bạn thay như thế sẽ hiệu quả hơn công thức cũ của nPHONGSO

Mình đã thử, thấy vẫn đúng. Xin cảm ơn nhiều. Còn cuộc sống cần phải có nhiều giấc mơ chứ. Như mình đang mơ sẽ dựa vào diễn đàn này để học hỏi thêm về những gì bản thân còn thiếu và VBA. Rất cảm ơn tất cả các A/C đã giúp đỡ.
 

Báo cáo kết quả là file làm việc chuẩn xác, nhưng khi làm đến đây mình nảy ra 1 ý tưởng mới là:
Giả sử khi bảng Diengiai tăng lên số dòng là 2000, trong đó phòng số 101 được khách hàng thuê đi, trả lại nhiều lần và hiện có 1 khách hàng đang thuê. Nhìn vào bảng Theodoi thấy phòng 101 đang được tô màu, bây giờ khách hàng yêu cầu trả phòng bằng cách nào đó để khi bấm chuột lên phòng 101 tại Theodoi thì con chuột được chuyển đến phòng 101 tại Diengiai đang thuê đó để điền ngày trả vào, chứ với khoảng 2000 dòng thì tìm hơi lâu. Ý tưởng này có vẻ như phức tạp nên mình không biết có thực hiện được không nhỉ?
Mà sao khi mình bấm chọn Báo cáo: Từ ngày, đến ngày thì nó lại mất chữ "từ ngày", "đến ngày" trong sheet Baocao. Làm ơn giải thích.
 

File đính kèm

  • Theo doi thue phong 2014.rar
    20.6 KB · Đọc: 5
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom