Înghețați panourile folosind VBA
Am postat recent pe Panouri de congelare în Excel, iată cum puteți face acest lucru folosind VBA:
Înghețați rândurile
Rânduri („1: 1”). Selectați ActiveWindow.FreezePanes = True
Înghețați coloanele
Range ("A: A"). Selectați ActiveWindow.FreezePanes = True
Înghețați rândurile și coloanele
Range ("B2"). Selectați ActiveWindow.FreezePanes = True
Deblocați panourile
ActiveWindow.FreezePanes = Fals
Forțează caietul de lucru să economisească fără a îngheța panourile
Excel ne permite să controlăm lucrurile prin evenimente. Acest articol nu este o discuție detaliată despre evenimentele sau caracteristicile acestora. În schimb, oferă un exemplu de eveniment WorkBook. Acestea sunt evenimente care au loc la nivelul registrului de lucru, mai degrabă decât la o anumită foaie de lucru.
Prin VBA putem controla ce se întâmplă la anumite evenimente, cum ar fi înainte de tipărire sau înainte de salvare. O problemă obișnuită cu care mă confrunt este faptul că unui număr de oameni cu care lucrez nu le plac fișierele cu Freeze Panes pe ele.
Deci, în acest articol, vom pune împreună un cod care va verifica dacă Freeze Panes este activat și, dacă da, nu va salva fișierul. Acest lucru înseamnă că trebuie să-l salvez fără înghețarea geamurilor - păstrându-mi colegii fericiți !!
Cel mai important lucru despre evenimentele din registrul de lucru este că acestea trebuie salvate la locul corect - la nivelul registrului de lucru.
Pentru a accesa nivelul registrului de lucru, urmați pașii de mai jos:
1. Faceți clic dreapta pe un registru de lucru Excel - vizualizați codul:
2. Aceasta va aduce:
3. Faceți dublu clic pe „Acest registru de lucru” și apoi selectați „Cartea de lucru” din prima listă verticală din partea stângă:
Vedem că valoarea din partea stângă s-a schimbat acum în „Deschis” - cu un anumit cod pentru Evenimentul Deschis de carte de lucru. Acest cod ne va permite să stabilim ce se întâmplă atunci când registrul de lucru se deschide pentru prima dată.
Cu toate acestea, vrem să controlăm ce se întâmplă atunci când salvăm registrul de lucru. Deci, schimbați meniul dreapta în meniul „Înainte de a salva”. Ecranul va arăta acum ca:
Acum inserăm următorul cod după declarație:
Dacă ActiveWindow.FreezePanes = True, atunci MsgBox "Freeze Panes este activat - Fișierul NU ESTE SALVAT" Cancel = True End Dacă
Astfel, codul complet arată acum:
Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean) Dacă ActiveWindow.FreezePanes = Adevărat, MsgBox "Freeze Panes este activat - Fișierul NU ESTE SALVAT" Cancel = True End If End Sub
Acum salvați fișierul și apoi activați Freeze Panes în orice fereastră. Apoi - RESAVE fișierul. Va apărea un mesaj care indică faptul că „Freeze Panes” este activat și că fișierul nu este salvat.
Într-adevăr, fișierul nu se va salva până când Freeze Panes este eliminat.