Selezzione di Coordinate

Avete un grande monitoru, ma i tavulini chì travagliate sò ancu più grande. E, fighjendu nantu à u screnu in cerca di l'infurmazioni necessarii, ci hè sempre una chance di "slip" i vostri ochji à a prossima linea è fighjà in a direzzione sbagliata. Cunnoscu ancu e persone chì, per tali occasioni, mantenenu sempre un regnu di lignu vicinu à elli per attaccà à a linea nantu à u monitor. Tecnulugie di u futuru! 

È se a fila è a colonna attuale sò evidenziate quandu a cellula attiva si move in u fogliu? Un tipu di selezzione di coordenate cum'è questu:

Megliu chè un regnu, nò?

Ci hè parechje manere di varià cumplessità per implementà questu. Ogni metudu hà i so pros è cuns. Fighjemu un ochju à elli in detail.

Metudu 1. Obvious. Macro chì mette in risaltu a fila è a colonna attuale

A manera più ovvia di risolve u nostru prublema "nantu à a fronte" - avemu bisognu di una macro chì seguitarà u cambiamentu in a selezzione nantu à u fogliu è selezziunate tutta a fila è a colonna per a cellula attuale. Hè ancu desideratu di pudè attivà è disattivà sta funzione se ne necessariu, per chì una tale selezzione in forma di croce ùn ci impedisce micca di entre, per esempiu, formule, ma solu travaglia quandu guardemu a lista in cerca di i necessarii. infurmazione. Questu ci porta à i trè macros (selezziunà, attivà è disattivà) chì deve esse aghjuntu à u modulu di foglia.

Apertura un fogliu cù una tavula in quale vulete ottene una selezzione di coordenada cusì. Cliccate cù u dirittu nantu à a tabulazione di u fogliu è selezziunate u cumandamentu da u menù di cuntestu Testu fonte (Codice surgente).A finestra di Visual Basic Editor deve esse aperta. Copia stu testu di sti trè macros in questu:

Dim Coord_Selection As Boolean 'Variabile globale per a selezzione on/off Sub Selection_On() 'Macro nantu à a selezzione Coord_Selection = True End Sub Selection_Off () 'Macro off selection Coord_Selection = False End Sub 'Procedura principale chì esegue a selezzione Private Sub Worksheet_SelectionChange (ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Allora Exit Sub 'se più di 1 cellula hè sceltu, esce If Coord_Selection = False Allora Exit Sub 'se a selezzione hè off, esce Application.ScreenUpdating = False Set WorkRange = Range ("A6: N300") 'indirizzu di u spaziu di travagliu in quale a selezzione hè visibile  

Cambia l'indirizzu di a gamma di travagliu à u vostru propiu - hè in questu intervallu chì a nostra selezzione hà da travaglià. Allora chjude u Visual Basic Editor è torna à Excel.

Pulsà a scurciatoia di u teclatu ALT + F8per apre una finestra cù una lista di macros dispunibili. Macro Selezzione_On, cum'è pudete guessà, include a selezzione di coordenate nantu à u fogliu attuale, è a macro Selezzione_Off - si spegne. In a stessa finestra, clicchendu u buttone login (Opzioni) Pudete assignà scurciate di tastiera à queste macros per un lanciamentu faciule.

Vantaghji di stu mètudu:

  • relativa facilità di implementazione
  • selezzione - l'operazione hè innocu è ùn cambia micca u cuntenutu o u furmatu di e celle di u fogliu in ogni modu, tuttu ferma cum'è hè

Cons di stu mètudu:

  • una tale selezzione ùn funziona micca bè s'ellu ci sò cellule unite nantu à u fogliu - tutte e fila è e colonne incluse in l'unione sò scelti in una volta.
  • Se premete accidentalmente a chjave Delete, allora micca solu a cellula attiva serà sguassata, ma tutta l'area selezziunata, vale à dì sguassate dati da tutta a fila è a colonna.

Metudu 2. Uriginale. CELL + Funzione di Formattazione Condizionale

Stu metudu, ancu s'ellu hà un paru di inconvenienti, mi pari assai eleganti. Per implementà qualcosa aduprendu solu l'arnesi Excel integrati, l'entrata minima in a prugrammazione in VBA hè acrobatica 😉

U metudu hè basatu annantu à l'usu di a funzione CELL, chì pò dà assai infurmazioni diffirenti nantu à una cellula data - altezza, larghezza, numeru di fila-colonna, formatu di numeri, etc. Sta funzione hà dui argumenti:

  • una parolla di codice per u paràmetru, cum'è "colonna" o "fila"
  • l'indirizzu di a cellula per quale vulemu determinà u valore di stu paràmetru

U truccu hè chì u sicondu argumentu hè opcional. Se ùn hè micca specificatu, allora a cellula attiva attuale hè presa.

U sicondu cumpunente di stu metudu hè furmatu di cundizzioni. Questa funzione d'Excel estremamente utile vi permette di furmà automaticamente e cellule s'ellu si scontranu cundizioni specificate. Se unimu sti dui idee in una sola, uttene l'algoritmu seguente per implementà a nostra selezzione di coordenate attraversu un furmatu cundizionale:

  1. Selezziunà a nostra tavula, vale à dì quelli cellule in quale a selezzione di coordenate deve esse visualizata in u futuru.
  2. In Excel 2003 è più vechji, apre u menu Format - Formattazione Conditional - Formula (Format - Formattazione Condizionale - Formula). In Excel 2007 è più recente - cliccate nantu à a tabulazione Home (Casa)buttone Formattazione Condizionale - Crea Rule (Formattazione Condizionale - Crea Regola) è sceglite u tipu di regula Aduprate una formula per determinà quali cellule à furmà (Usà a formula)
  3. Inserite a formula per a nostra selezzione di coordenate:

    =OR (CELL ("fila") = FILA (A2), CELLULA ("colonna") = COLONNA (A2))

    =OR (CELL («fila») = FILA (A1), CELLULA («colonna») = COLONNA (A1))

    Questa formula cuntrolla per vede se u numeru di colonna di ogni cellula in a tavula hè u listessu cum'è u numeru di colonna di a cellula attuale. Cume cù e colonne. Cusì, solu quelli celluli chì anu un numeru di colonna o un numeru di fila chì currisponde à a cellula attuale seranu cumpletu. È questu hè a selezzione di coordenate in forma di croce chì vulemu ottene.

  4. Cliccate u buttone Framework (Format) è stabilisce u culore di riempimentu.

Tuttu hè quasi prontu, ma ci hè una sfumatura. U fattu hè chì Excel ùn cunsiderà micca un cambiamentu in a selezzione cum'è un cambiamentu in i dati nantu à u fogliu. È, in u risultatu, ùn provoca micca a recalculazione di e formule è a recoloring di formate cundizionale solu quandu a pusizione di a cellula attiva cambia. Dunque, aghjunghje una macro simplice à u modulu di foglia chì farà questu. Cliccate cù u dirittu nantu à a tabulazione di u fogliu è selezziunate u cumandamentu da u menù di cuntestu Testu fonte (Codice surgente).A finestra di Visual Basic Editor deve esse aperta. Copia stu testu di sta macro simplice in questu:

Private Sub Worksheet_SelectionChange (ByVal Target As Range) ActiveCell.Calculate End Sub  

Avà, quandu a selezzione cambia, u prucessu di recalculating a formula cù a funzione serà lanciatu CELLULU in furmatu cundizionale è inundate a fila è a colonna attuale.

Vantaghji di stu mètudu:

  • A formattazione cundizionale ùn rompe micca a formattazione di a tavola persunalizata
  • Questa opzione di selezzione funziona bè cù e cellule unite.
  • Nisun risicu di sguassà una fila intera è una colonna di dati nantu à un clic accidentale cancillari.
  • I macros sò minimamente usati

Cons di stu mètudu:

  • A formula per u formatting cundizionale deve esse inserita manualmente.
  • Ùn ci hè micca un modu rapidu per attivà / disattivà tali furmatu - hè sempre attivatu finu à chì a regula hè sguassata.

Metudu 3. Ottimale. Formattazione Condizionale + Macros

Golden significa. Utilizemu u mecanismu per seguità a selezzione nantu à u fogliu utilizendu macros da u metudu-1 è aghjunghjenu una evidenziazione sicura cù u furmatu condicionale da u metudu-2.

Apertura un fogliu cù una tavula in quale vulete ottene una selezzione di coordenada cusì. Cliccate cù u dirittu nantu à a tabulazione di u fogliu è selezziunate u cumandamentu da u menù di cuntestu Testu fonte (Codice surgente).A finestra di Visual Basic Editor deve esse aperta. Copia stu testu di sti trè macros in questu:

Dim Coord_Selection As 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 WorkRange As Range, CrossRange As Range Set WorkRange = Range ("A7:N300") 'адрес рабочего диапазона с таблицей If Target.Count > 1 Allora Exit Sub If Coord_Selection = False Allora WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating, If Not Interconnessu (TargetRange) = False Interfacce (Target) WorkRange, Union (Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.Formatditions .Sguassà End If End Sub  

Ùn vi scurdate di cambià l'indirizzu di u spaziu di travagliu à u vostru indirizzu di tavula. Chiudi l'Editor Visual Basic è torna à Excel. Per utilizà i macros aghjuntu, appughjà u scurciatu di teclatu ALT + F8  è prucede in u listessu modu cum'è u metudu 1. 

Metudu 4. Bella. FollowCellPointer add-on

Excel MVP Jan Karel Pieterse da l'Olanda dà un add-on gratuitu nantu à u so situ web SeguiCellPointer(36Kb), chì risolve u listessu prublema disegnu linee di freccia grafica cù macros per mette in risaltu a fila è a colonna attuale:

 

Bella suluzione. Micca senza glitches in i posti, ma sicuramente vale a pena pruvà. Scaricate l'archiviu, sbulicà u discu è installate l'add-on:

  • in Excel 2003 è più vechji - attraversu u menu Serviziu - Add-ons - Panoramica (Strumenti - Add-Ins - Sfoglia)
  • in Excel 2007 è più tardi, attraversu File - Opzioni - Add-ons - Vai - Sfoglia (File - Opzioni Excel - Add-Ins - Vai à - Sfoglia)

  • Chì sò i macros, induve inserisce u codice macro in Visual Basic

 

Lascia un Audiolibro