Kapaki-pakinabang na impormasyon sa status bar

May gusto, ngunit personal kong kailangan ng status bar sa 2-3 kaso lang:

  • pagkatapos ng pag-filter, ipinapakita nito ang bilang ng mga halaga na natitira pagkatapos ng pagpili
  • kapag napili ang isang range, ipinapakita nito ang kabuuan, average, at bilang ng mga napiling cell
  • sa kaso ng mabibigat na file, makikita mo ang progreso sa muling pagkalkula ng mga formula sa aklat.

Hindi gaanong para sa isang linya na tumatagal ng halos buong lapad ng screen at nakabitin dito sa lahat ng oras. Subukan nating palawakin ang katamtamang listahang ito at magdagdag ng ilang mas kapaki-pakinabang na feature dito 🙂

Pangkalahatang mga prinsipyo para sa pamamahala ng status bar

Ang pamamahala sa status bar gamit ang Visual Basic ay napakadali. Upang ipakita ang iyong teksto dito, maaari kang gumamit ng isang simpleng macro:

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

Pagkatapos patakbuhin ito, nakukuha namin:

Kapaki-pakinabang na impormasyon sa status bar

Upang maibalik ang orihinal na estado ng status bar, kakailanganin mo ang parehong maikling "anti-macro":

Sub MyStatus_Off() Application.StatusBar = False End Sub  

Sa pangunahing bersyon, tulad ng nakikita mo, ang lahat ay napaka-simple. Ngayon subukan nating bumuo ng ideya...

Address ng napiling hanay sa status bar

 Sa kaliwang sulok sa itaas ng Excel window sa formula bar, palagi mong makikita ang address ng kasalukuyang cell. Ngunit kung ang isang buong hanay ay napili, kung gayon, sa kasamaang-palad, hindi namin makikita ang address ng pagpili doon - ang parehong isang solong aktibong cell ay ipinapakita:

Kapaki-pakinabang na impormasyon sa status bar

Upang malutas ang problemang ito, maaari kang gumamit ng isang simpleng macro na magpapakita ng address ng napiling lugar sa status bar. Bukod dito, ang macro na ito ay dapat na awtomatikong ilunsad, na may anumang pagbabago sa pagpili sa anumang sheet - para dito ilalagay namin ito sa tagapangasiwa ng kaganapan Pagbabago ng Pinili aming libro.

Buksan ang Visual Basic Editor gamit ang button ng parehong pangalan sa tab developer (Developer) o mga keyboard shortcut Kaliwa sa Alt+F11. Hanapin ang iyong aklat sa kaliwang sulok sa itaas ng Project panel at buksan ang module dito sa pamamagitan ng pag-double click Itong libro (This Workbook):

Sa window na bubukas, kopyahin at i-paste ang sumusunod na macro code:

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

Ngayon, kapag napili ang anumang hanay (kabilang ang higit sa isa!), ang address nito ay ipapakita sa status bar:

Kapaki-pakinabang na impormasyon sa status bar

Upang pigilan ang pagsasama ng mga address ng ilang hanay na pinili gamit ang Ctrl, maaari kang magdagdag ng maliit na pagpapabuti – gamitin ang function na Palitan upang palitan ang kuwit ng kuwit na may puwang:

Pribadong Sub Workbook_SheetSelectionChange(ByVal Sh Bilang Object, ByVal Target Bilang Saklaw) Application.StatusBar = "Выделено: " & Palitan(Selection.Address(0, 0), ",", ", ") End Sub  

Bilang ng mga napiling cell sa status bar

Kapag pinili ang anumang hanay, ang bilang ng mga hindi walang laman na napiling mga cell ay ipinapakita sa kanang bahagi ng status bar bilang default. Minsan kailangan mong malaman ang bilang ng inilalaan. Ang gawaing ito ay maaari ding magawa gamit ang isang simpleng macro para pangasiwaan ang SelectionChange book event, tulad ng sa nakaraang halimbawa. Kakailanganin mo ang isang macro tulad ng:

Pribadong Sub Workbook_SheetSelectionChange(ByVal Sh Bilang Object, ByVal Target Bilang Saklaw) Dim CellCount Bilang Variant, rng Bilang Saklaw Para sa Bawat rng Sa Selection.Areas 'Ulitin sa lahat ng mga seleksyon RowsCount = rng.Rows.Count 'bilang ng mga row ColumnsCount = rng.Columns . Bilangin ang 'bilang ng mga column CellCount = CellCount + RowsCount * ColumnsCount 'naipon ang kabuuang bilang ng mga cell Susunod na 'display sa status bar Application.StatusBar = "Napili: " & CellCount & " cells" End Sub  

Ang macro na ito ay umiikot sa lahat ng mga lugar na pinili ng Ctrl (kung mayroong higit sa isa), iniimbak ang bilang ng mga hilera at column sa bawat lugar sa mga variable ng RowsCount at ColumnsCount, at iniipon ang bilang ng mga cell sa variable ng CellCount, na pagkatapos ay ipinapakita sa status bar. Sa trabaho ito ay magiging ganito:

Kapaki-pakinabang na impormasyon sa status bar

Siyempre, maaari mong pagsamahin ito at ang mga nakaraang macro upang ipakita ang parehong address ng napiling hanay at ang bilang ng mga cell sa parehong oras. Kailangan mo lang baguhin ang isang penultimate line sa:

Application.StatusBar = "Napili: " & Palitan(Selection.Address(0, 0), ",", ", ") & " - kabuuang " & CellCount & " cells"  

Kung gayon ang larawan ay magiging kahanga-hanga:

Kapaki-pakinabang na impormasyon sa status bar

Well, sa tingin ko nakuha mo ang ideya. Magmungkahi sa mga komento - ano pa ang magiging kapaki-pakinabang na ipakita sa status bar?

  • Ano ang mga macro, kung paano gumagana ang mga ito, kung paano gamitin at gawin ang mga ito
  • Maginhawang pagpili ng coordinate sa isang Excel sheet
  • Paano gawing mas visual ang mga kumplikadong formula

Mag-iwan ng Sagot