Nuttige inligting in die statusbalk

Iemand hou daarvan, maar ek het persoonlik slegs 'n statusbalk nodig in 2-3 gevalle:

  • na filtering, vertoon dit die aantal waardes wat oorbly na die keuse
  • wanneer 'n reeks gekies word, vertoon dit die som, gemiddelde en aantal geselekteerde selle
  • in die geval van swaar lêers, kan jy die vordering in die herbereken van formules in die boek sien.

Nie soseer vir 'n lyn wat byna die hele breedte van die skerm beslaan en heeltyd daaraan hang nie. Kom ons probeer om hierdie beskeie lys uit te brei en nog 'n paar nuttige kenmerke daarby te voeg 🙂

Algemene beginsels vir die bestuur van die statusbalk

Die bestuur van die statusbalk met Visual Basic is baie maklik. Om jou teks daarin te vertoon, kan jy 'n eenvoudige makro gebruik:

Sub MyStatus() Application.StatusBar = "Привет!" Einde Sub  

Nadat ons dit uitgevoer het, kry ons:

Nuttige inligting in die statusbalk

Om die oorspronklike toestand van die statusbalk te herstel, sal jy dieselfde kort "anti-makro" nodig hê:

Sub MyStatus_Off() Application.StatusBar = False End Sub  

In die basiese weergawe, soos u kan sien, is alles baie eenvoudig. Kom ons probeer nou die idee ontwikkel ...

Adres van die geselekteerde reeks in die statusbalk

 In die boonste linkerhoek van die Excel-venster in die formulebalk kan jy altyd die adres van die huidige sel sien. Maar as 'n hele reeks gekies is, dan sal ons ongelukkig nie die seleksie-adres daar sien nie - dieselfde een enkele aktiewe sel word vertoon:

Nuttige inligting in die statusbalk

Om hierdie probleem op te los, kan jy 'n eenvoudige makro gebruik wat die adres van die geselekteerde area in die statusbalk sal vertoon. Boonop moet hierdie makro outomaties geloods word, met enige verandering in die keuse op enige blad - hiervoor sal ons dit in die gebeurtenishanteerder plaas SeleksieVerander ons boek.

Maak die Visual Basic Editor oop met die knoppie met dieselfde naam op die blad ontwikkelaar (Ontwikkelaar) of sleutelbordkortpaaie Links Alt+F11. Vind jou boek in die boonste linkerhoek van die Projek-paneel en maak die module daarin oop deur te dubbelklik Hierdie boek (Hierdie Werkboek):

Kopieer en plak die volgende makro-kode in die venster wat oopmaak:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Nou, wanneer enige reeks gekies word (insluitend meer as een!), sal die adres daarvan in die statusbalk vertoon word:

Nuttige inligting in die statusbalk

Om te verhoed dat die adresse van verskeie reekse wat met Ctrl gekies is, saamsmelt, kan jy 'n klein verbetering byvoeg – gebruik die Vervang-funksie om 'n komma met 'n komma met 'n spasie te vervang:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

Aantal geselekteerde selle in die statusbalk

Wanneer enige reeks gekies word, word die aantal nie-leë geselekteerde selle by verstek aan die regterkant van die statusbalk vertoon. Soms moet jy die aantal toegekende ken. Hierdie taak kan ook met 'n eenvoudige makro uitgevoer word om die SelectionChange-boekgebeurtenis te hanteer, soos in die vorige voorbeeld. Jy benodig 'n makro soos:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim SelCount As Variant, rng As Range Vir Elke rng In Selection.Areas 'Herhaal deur alle keuses RowsCount = rng.Rows.Count 'aantal rye ColumnsCount = rng.Columns . Tel 'aantal kolomme CellCount = SelCount + RowsCount * ColumnsCount 'akkumuleer die totale aantal selle Volgende 'vertoon in die statusbalk Application.StatusBar = "Gekies: " & CellCount & " selle" End Sub  

Hierdie makro loop deur alle Ctrl-geselekteerde areas (as daar meer as een is), stoor die aantal rye en kolomme in elke area in die RowsCount en ColumnsCount veranderlikes, en versamel die aantal selle in die CellCount veranderlike, wat dan vertoon word in die statusbalk. By die werk sal dit so lyk:

Nuttige inligting in die statusbalk

Natuurlik kan jy hierdie en die vorige makro's kombineer om beide die adres van die geselekteerde reeks en die aantal selle op dieselfde tyd te vertoon. Jy hoef net een voorlaaste reël te verander na:

Application.StatusBar = "Gekies: " & Vervang(Selection.Address(0, 0), ",", ", ") & " - totaal " & SelCount & " selle"  

Dan sal die prentjie nogal wonderlik wees:

Nuttige inligting in die statusbalk

Wel, ek dink jy kry die idee. Stel in die opmerkings voor – wat anders sal nuttig wees om in die statusbalk te vertoon?

  • Wat is makro's, hoe dit werk, hoe om dit te gebruik en te skep
  • Gerieflike koördinaatkeuse op 'n Excel-blad
  • Hoe om komplekse formules meer visueel te maak

Lewer Kommentaar