În Microsoft Word, această sarcină este rezolvată pur și simplu. Din meniul Format, selectați Font, faceți clic pe fila Efecte text și selectați Fundal care clipește. Totuși, în ...
În Microsoft Word, această sarcină este rezolvată pur și simplu. Din meniul Format, selectați Font, faceți clic pe fila Efecte text și selectați Fundal care clipește. Cu toate acestea, în Excel nu există nimic de genul asta. Textul clipit în Excel poate fi obținut numai cu o macrocomandă mică.
Plasați ferestrele VBA și Excel astfel încât să vedeți celula A1 din foaia Sheet1, apoi faceți clic pe textul macrofrecției StartFlashing și porniți-o apăsând tasta F5. Celula pâlpâie! Pentru a opri pâlpâirea, faceți clic pe textul macrocomenzii StopFlashing și apăsați F5.
Cum funcționează aceste macrocomenzi? Constanta FR definește gama de celule pâlpâitoare; modificând valoarea sa, puteți provoca pâlpâirea celulelor diferite. Dacă culoarea de fundal a celulelor din intervalul de pâlpâire este roșie, macro-ul le modifică la normal, dacă nu, modifică culoarea de fundal în roșu. Apoi, după o secundă, macro-ul pornește din nou datorită metodei OnTime disponibilă în program.
Rezultatul funcției VBA TimeSerial este o valoare numerică a timpului care corespunde numărului de ore, minute și secunde trecute ca parametri de intrare. TimeSerial ia doar valori întregi, astfel încât cea mai scurtă perioadă de timp cu care o funcție poate funcționa este o secundă; folosim această valoare în exemplul nostru. Valoarea variabilei NextFlash este setată la ora curentă plus 1 secundă și la metoda OnTime, vom reîncepe StartFlashing după acest timp. De fiecare dată când este apelată comanda macro, fundalul celulelor se schimbă de la roșu la normal și invers.
Macrocomanda StopFlashing returnează pur și simplu culoarea sa normală în fundal și apelează metoda OnTime pentru a anula evenimentul viitoare. Pentru a anula un eveniment, trebuie să treceți aceeași valoare de timp care a fost utilizată pentru a o programa, motiv pentru care a trebuit să stocăm această valoare într-o variabilă accesibilă pentru ambele macrocomenzi.