Serlahkan Tarikh Akhir - Petua Excel

Ed mengemukakan soalan Excel minggu ini.

Saya memerlukan makro Excel mudah yang akan mencari - katakanlah - Lajur C dan sorotkan sel merah yang mengandungi tarikh hari ini (tarikh semasa) dan sorotkan warna kuning mana-mana sel lain di lajur yang 15 hari pada masa akan datang dari tarikh hari ini?

Pengguna Excel 97 atau Excel 2000 boleh memanfaatkan pilihan Pemformatan Bersyarat yang baru. Mari kita bahas bagaimana melakukannya secara manual tanpa makro terlebih dahulu.

  • Pindah ke sel C1.
  • Dari menu, pilih Format, Format Bersyarat
  • Di sebelah kiri dialog, ubah menu drop down untuk membaca "Formula is"
  • Di sebelah kanan kotak dialog, masukkan: =INT(C1)=TODAY()
Menetapkan Pemformatan Bersyarat
  • Format klik, Klik Corak, pilih Merah. Klik OK
  • Klik Tambah…
  • Di sebelah kiri dialog, ubah menu drop down untuk membaca "Formula is"
  • Di sebelah kanan kotak dialog, masukkan: =AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
  • Klik Format, Klik Corak, Pilih Kuning. Klik OK.
  • Klik OK untuk menyelesaikan penetapan format bersyarat ini ke sel C1.
Keputusan Format Bersyarat

Sekiranya format dimasukkan dengan betul, sel C1 akan berubah menjadi merah jika mengandungi tarikh hari ini dan menjadi kuning jika tarikhnya dalam 15 minggu ke depan. Fungsi HARI INI () dalam format akan memastikan bahawa jika kita membuka buku kerja pada hari lain, ia akan menyerlahkan sel merah pada hari tersebut.

Anda sekarang boleh menyalin sel C1, sorot semua data di lajur C dan lakukan Edit> Tampal Khas> Format> OK untuk menerapkan format itu ke setiap sel di lajur C.

Makro berikut akan secara automatik menetapkan format bersyarat:

Sub Macro2() Range("C1").Select Selection.FormatConditions.Delete Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=INT(C1)=TODAY()" Selection.FormatConditions(1).Interior.ColorIndex = 3 Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _ "=AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)" Selection.FormatConditions(2).Interior.ColorIndex = 6 Selection.Copy FinalRow = Range("C15000").End(xlUp).Row Range("C2:C" & FinalRow).Select Selection.PasteSpecial Paste:=xlPasteFormats End Sub

Untuk pengguna Excel 95, anda tidak mempunyai pemformatan bersyarat, tetapi boleh menggunakan makro seperti ini:

Sub Macro95() ThisDate = Date FinalRow = Range("C15000").End(xlUp).Row For x = 1 To FinalRow ThisCell = Int(Range("C" & x).Value) If ThisCell = ThisDate Then Range("C" & x).Interior.ColorIndex = 3 Else DaysFromNow = ThisCell - ThisDate If DaysFromNow> 0 And DaysFromNow < 16 Then Range("C" & x).Interior.ColorIndex = 6 End If End If Next x End Sub

Ciri formula fungsi format bersyarat sangat kuat dan akan membiarkan anda menonjolkan sel yang sesuai dengan pelbagai kriteria.

Artikel menarik...