Eds uzdeva šīs nedēļas Excel jautājumu.
Man vajag vienkāršu Excel makro, kas meklēs - teiksim - C sleju un sarkanā krāsā izceļ šūnas, kurās ir šodienas datums (pašreizējais datums), un iezīmē dzeltenu jebkuru citu šūnu kolonnā, kas ir 15 dienas nākotnē no šodienas datuma?
Excel 97 vai Excel 2000 lietotāji var izmantot jauno nosacītās formatēšanas opciju. Apskatīsim, kā vispirms to izdarīt manuāli bez makro.
- Pāriet uz šūnu C1.
- Izvēlnē izvēlieties Format, Conditional Format
- Dialoglodziņa kreisajā pusē nomainiet nolaižamo izvēlni, lai lasītu “Formula ir”
- Dialoglodziņa labajā pusē ievadiet:
=INT(C1)=TODAY()
- Klikšķa formāts, noklikšķiniet uz Patterns, izvēlieties Red. Noklikšķiniet uz Labi
- Noklikšķiniet uz Pievienot…
- Dialoglodziņa kreisajā pusē nomainiet nolaižamo izvēlni, lai lasītu “Formula ir”
- Dialoglodziņa labajā pusē ievadiet:
=AND(INT(C1)>TODAY(),(INT(C1)-TODAY())<16)
- Noklikšķiniet uz Formatēt, noklikšķiniet uz Patterns, Pick Yellow. Noklikšķiniet uz Labi.
- Noklikšķiniet uz Labi, lai pabeigtu šī nosacītā formāta piešķiršanu šūnai C1.
Ja formāts ir ievadīts pareizi, šūna C1 mainīsies uz sarkanu, ja tajā ir šodienas datums, un uz dzeltenu, ja datums būs nākamajās 15 nedēļās. Funkcija TODAY () formātā nodrošinās, ka, atverot darbgrāmatu citā dienā, tā sarkanā krāsā izceļ konkrētās dienas šūnas.
Tagad varat kopēt šūnu C1, izcelt visus datus kolonnā C un veikt Rediģēt> Īpaša ielīmēšana> Formāti> Labi, lai lietotu šo formātu katrai C slejas šūnai.
Šis makro automatizēs nosacītā formāta piešķiršanu:
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
Excel 95 lietotājiem jums nav nosacīta formatējuma, taču varat izmantot šādu makro:
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
Nosacītā formāta funkcijas formulas funkcija ir ļoti spēcīga, un tā ļaus jums izcelt šūnas, kas atbilst dažādiem kritērijiem.