Coordinate Selection

Manana mpanara-maso lehibe ianao, saingy mbola lehibe kokoa ny latabatra iasanao. Ary, mijery eo amin'ny efijery amin'ny fitadiavana ny fampahalalana ilaina, dia misy foana ny fahafahana "hisokajy" ny masonao amin'ny andalana manaraka ary mijery amin'ny lalana diso. Mahafantatra olona mihitsy aza aho izay, amin'ny toe-javatra toy izany, dia mitazona tsipika hazo eo akaikiny foana mba hametahana izany amin'ny tsipika eo amin'ny monitor. Teknolojia ho avy! 

Ary raha misongadina ny andalana sy ny tsanganana amin'izao fotoana izao rehefa mivezivezy manerana ny takelaka ny sela mavitrika? Karazana fifantenana mandrindra toy izao:

Tsara noho ny mpitondra, sa tsy izany?

Misy fomba maro samihafa amin'ny fahasarotana amin'ny fampiharana izany. Samy manana ny mahatsara sy maharatsy azy ny fomba tsirairay. Andeha hojerentsika amin'ny antsipiriany izy ireo.

Fomba 1. Mazava. Makro izay manasongadina ny andalana sy tsanganana ankehitriny

Ny fomba mazava indrindra hamahana ny olantsika "eo amin'ny handrina" - mila macro izay hanara-maso ny fiovan'ny fifantenana eo amin'ny takelaka ary misafidy ny andalana sy tsanganana manontolo ho an'ny sela ankehitriny. Irina ihany koa ny ahafahana mamela sy manafoana ity fiasa ity raha ilaina, mba tsy hanakana antsika tsy hiditra ao, ohatra, ny formulas ny fifantenana miendrika lakroa toy izany, fa miasa ihany rehefa mijery ny lisitra isika mba hitady ny ilaina. fampahalalana. Izany dia mitondra antsika amin'ny macros telo (select, enable, and disable) izay mila ampiana amin'ny modules sheet.

Sokafy ny takelaka misy latabatra izay tianao hahazoana safidy mandrindra toy izany. Tsindrio havanana amin'ny tabilao takelaka ary safidio ny baiko avy amin'ny menio contexte Loharano lahatsoratra (Source Code).Tokony hisokatra ny varavarankely Visual Basic Editor. Adikao ao anatin'izany ity lahatsoratra an'ireto macro telo ireto:

Dim Coord_Selection Amin'ny maha Boolean 'Vaova manerantany ho an'ny fifantenana / miala Sub Selection_On() 'Macro amin'ny fifantenana Coord_Selection = True End Sub Selection_Off() 'Macro off Selection Coord_Selection = False End Sub' Fomba lehibe manao ny fifantenana Private Sub Worksheet_SelectionChange As(ByVal Target Range) Atsaharo ny WorkRange toy ny Range Raha Target.Cells.Count > 1 Avy eo Mialà amin'ny Sub 'raha mihoatra ny cellule 1 no voafantina, mialà Raha Coord_Selection = Diso Dia mialà amin'ny Sub' raha toa ka maty ny safidy, mialà Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'adiresy amin'ny sahan'asa izay ahitana ny fifantenana  

Ovay ho anao manokana ny adiresin'ny sahan'asa miasa – ao anatin'io faritra io no handehanan'ny safidintsika. Avy eo tsindrio ny Visual Basic Editor ary miverena any Excel.

Tsindrio ny hitsin-dàlana fitendry ALT + F8hanokafana varavarankely misy lisitry ny macro misy. Makro Selection_on, araka ny mety ho eritreretinao, dia ahitana ny fifantenana mandrindra amin'ny takelaka misy ankehitriny, ary ny macro Selection_off – mamono azy. Ao amin'io varavarankely io ihany, amin'ny fipihana ny bokotra masontsivana (Safidy) Azonao atao ny manendry hitsin-dàlana fitendry amin'ireo macro ireo mba hanamora ny fandefasana azy.

Ny tombony amin'ity fomba ity:

  • mora ny fampiharana
  • fifantenana - tsy mampidi-doza ny fandidiana ary tsy manova ny atiny na ny fandrafetana ny sela takelaka amin'ny fomba rehetra, mijanona ho toy ny misy azy ny zava-drehetra

Ny tsy fahampian'ity fomba ity:

  • tsy mandeha tsara ny fifantenana toy izany raha misy sela mitambatra eo amin'ny takelaka - ny andalana sy tsanganana rehetra tafiditra ao anatin'ny firaisana dia voafantina miaraka
  • raha tsindrianao tsy nahy ny fanalahidy Delete, dia tsy ny sela mavitrika ihany no ho voafafa, fa ny faritra voafantina manontolo, izany hoe mamafa ny angona amin'ny andalana sy tsanganana manontolo.

Fomba 2. Original. CELL + Fandrafetana fepetra

Ity fomba ity, na dia manana lesoka roa aza, dia toa tena kanto amiko. Mba hampiharana zavatra amin'ny alàlan'ny fitaovana Excel ao anatiny ihany, ny fidirana amin'ny fandaharana amin'ny VBA dia aerobatics 😉

Ny fomba fiasa dia mifototra amin'ny fampiasana ny asa CELL, izay afaka manome fampahalalana maro samihafa amin'ny sela iray - ny haavony, ny sakany, ny laharan'ny tsanganana, ny endrika isa, sns. Ity fiasa ity dia manana hevitra roa:

  • teny kaody ho an'ny mari-pamantarana, toy ny "tsanganana" na "lahatra"
  • ny adiresin'ny sela izay tiantsika hamaritana ny sandan'io paramètre io

Ny hafetsena dia hoe tsy voatery ny hevitra faharoa. Raha tsy voafaritra dia alaina ny sela mavitrika ankehitriny.

Ny singa faharoa amin'ity fomba ity dia ny fandrafetana fepetra. Ity endri-javatra Excel tena ilaina ity dia ahafahanao manamboatra sela ho azy raha mahafeno fepetra voafaritra izy ireo. Raha manambatra ireo hevitra roa ireo ho iray isika dia mahazo ity algorithm manaraka ity amin'ny fampiharana ny fifantenana fandrindrana amin'ny alàlan'ny fandrafetana fepetra:

  1. Mifidy ny latabatray izahay, izany hoe ireo sela izay tokony hiseho amin'ny ho avy ny fifantenana fandrindrana.
  2. Ao amin'ny Excel 2003 no ho miakatra, sokafy ny menu Format - Fandrafetana fepetra - Formula (Forma — Fandrafetana fepetra — Formula). Ao amin'ny Excel 2007 sy ny vaovao - tsindrio ny tabilao Home (Trano)bokotra Fandrafetana fepetra - Mamorona fitsipika (Fandrafetana fepetra - Mamorona fitsipika) ary fidio ny karazana fitsipika Mampiasà raikipohy mba hamaritana hoe sela inona no halamina (Mampiasa formula)
  3. Ampidiro ny formula ho an'ny fifantenana fandrindrantsika:

    =OR(CELL(“lahatra”)=ROW(A2),CELL(“tsanganana”)=COLUMN(A2))

    =OR(CELL(«row»)=ROW(A1),CELL(«column»)=COLUMN(A1))

    Ity raikipohy ity dia manamarina raha toa ka mitovy amin'ny laharan'ny tsanganana amin'ny sela ankehitriny ny laharan'ny tsanganana tsirairay ao anaty tabilao. Toy izany koa amin'ny tsanganana. Noho izany, ireo sela izay manana laharan'ny tsanganana na laharana mifanandrify amin'ny sela ankehitriny ihany no hofenoina. Ary ity no fifantenana mandrindra miendrika hazo fijaliana tiantsika hotratrarina.

  4. mpanao gazety Framework (Endrika) ary apetraho ny loko feno.

Efa saika vonona ny zava-drehetra, saingy misy ny nuance iray. Ny zava-misy dia ny Excel dia tsy mihevitra ny fiovan'ny safidy ho toy ny fiovan'ny angona eo amin'ny takelaka. Ary, vokatr'izany, dia tsy miteraka recalculation ny raikipohy sy recoloring ny toe-javatra misy fepetra raha tsy miova ny toerana misy ny sela mavitrika. Noho izany, andao hampiditra macro tsotra amin'ny maody takelaka izay hanao izany. Tsindrio havanana amin'ny tabilao takelaka ary safidio ny baiko avy amin'ny menio contexte Loharano lahatsoratra (Source Code).Tokony hisokatra ny varavarankely Visual Basic Editor. Adikao ao anatiny ity lahatsoratra ity amin'ity macro tsotra ity:

Sub Worksheet_SelectionChange(ByVal Target as Range) ActiveCell.Calculate End Sub  

Ankehitriny, rehefa miova ny fifantenana, dia hatomboka ny dingan'ny kajy ny formula miaraka amin'ny fiasa SELA amin'ny endrika misy fepetra ary tondraka ny andalana sy tsanganana ankehitriny.

Ny tombony amin'ity fomba ity:

  • Ny fandrafetana misy fepetra dia tsy manapaka ny fandrafetana latabatra mahazatra
  • Ity safidy fifantenana ity dia miasa tsara amin'ny sela mitambatra.
  • Tsy atahorana hamafa andalana sy tsanganana iray manontolo amin'ny tsindry tsy nahy Fafao.
  • Ny macro dia ampiasaina kely indrindra

Ny tsy fahampian'ity fomba ity:

  • Ny raikipohy momba ny fandrafetana fepetra dia tsy maintsy ampidirina tanana.
  • Tsy misy fomba haingana ahafahana / manafoana ny fandrafetana toy izany - alefa foana izany mandra-pamafa ny fitsipika.

Fomba 3. Optimal. Fandrafetana fepetra + Macro

Golden midika. Ampiasainay ny mekanika hanaraha-maso ny fifantenana amin'ny takelaka amin'ny fampiasana macro avy amin'ny fomba-1 ary ampiana fanasongadinana azo antoka amin'izany amin'ny alàlan'ny fandrafetana fepetra avy amin'ny fomba-2.

Sokafy ny takelaka misy latabatra izay tianao hahazoana safidy mandrindra toy izany. Tsindrio havanana amin'ny tabilao takelaka ary safidio ny baiko avy amin'ny menio contexte Loharano lahatsoratra (Source Code).Tokony hisokatra ny varavarankely Visual Basic Editor. Adikao ao anatin'izany ity lahatsoratra an'ireto macro telo ireto:

Dim Coord_Selection ho Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target as Range) Dim Work Range as Range, Cross Range As Range Set WorkRange = Range(7) = Range 'адрес рабочего диапазона с таблицей Raha Target.Count > 300 Dia Mivoaha ny Sub Raha Coord_Selection = Diso Dia WorkRange.FormatConditions.Delete Exit Sub End Raha Application.ScreenUpdating = Diso raha tsy mifanelanelana(Target dia tsy misy, Intersect) WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 1 Target.FormatConditions .Fafao ny Famaranana Raha Faran'ny Sub  

Aza adino ny manova ny adiresin'ny faritra miasa ho adiresin'ny latabatrao. Akatona ny Visual Basic Editor ary miverena amin'ny Excel. Raha hampiasa ireo macro fanampiny dia tsindrio ny hitsin-dàlana fitendry ALT + F8  ary mandehana amin'ny fomba mitovy amin'ny fomba 1. 

Fomba 4. Tsara tarehy. Fanampiny FollowCellPointer

Excel MVP Jan Karel Pieterse avy any Holandy dia manome fanampiana maimaim-poana amin'ny tranokalany FollowCellPointer(36Kb), izay mamaha ny olana mitovy amin'ny fanaovana tsipika zana-tsipìka amin'ny fampiasana macro mba hanasongadinana ny andalana sy tsanganana ankehitriny:

 

Vahaolana tsara. Tsy misy glitches amin'ny toerana, fa tena mendrika ny hanandrana. Ampidino ny arisiva, esory amin'ny kapila ary apetraho ny add-on:

  • amin'ny Excel 2003 no ho miakatra - amin'ny alàlan'ny menu Serivisy - Add-ons - Overview (Fitaovana - Add-Ins - Hijery)
  • amin'ny Excel 2007 sy aoriana, amin'ny File - Options - Add-ons - Mandehana - Browse (File - Excel Options - Add-Ins - Mankanesa any - Browse)

  • Inona no atao hoe macros, aiza no hampidirana kaody macro ao amin'ny Visual Basic

 

Leave a Reply