|
Login

TOPIC: VBA da formula cerca verticale

VBA da formula cerca verticale 7 years 4 months ago #8987

  • cricriz
  • cricriz's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 10
  • Karma: 0
Ciao a tutti,

ho un problemone, e non so come uscirne.

In ufficio mi è stato richiesto di modificare un file excel (2010) condiviso da almeno 5 colleghi (NB io sono per loro la "specialista" di excel, in realtà io sono un'autodidatta curiosa mentre per loro Excel è uno sconosciuto).

Vi allego file anonimizzato così descrivo i problemi passo-passo.

File Attachment:

File Name: TESTNEU.xlsx
File Size: 31 KB



Colonna A da riga 7 in giù:

Qui è elencato il sequenziale numerico dei casi che mano a mano vengono inseriti.

Per cercare di automatizzare la compilazione ho creato formula "se" tipo (=se(B8>0;(A7+1);"")) cosicché al compilare delle celle "REF" (colonna B ) in automatico viene generato il sequeziale.

Si può creare Macro per questa funzione? se si come? (NB io di macro non so niente, ma niente niente niente).

Colonne P-Q-R-S-T da riga 7 in giù

Questo è il vero problema!
Le Colonne P-Q sono indicative di rischio e noi dobbiamo monitorare le variazioni mese per mese.

quel che ho fatto è stato creare nelle colonne S T delle formule cerca verticale (es =CERCA.VERT(P7;$A$2:$B$4;2;FALSO) per tradurre i valori nominali in valori numerici.

Quindi nella colonna R (Trend) ho creato formula se nidificata con risultati in font Wingdings 3.

Questo però rende il file pesantissimo. Si sommi il rischio che uno dei colleghi per errore mi cancelli una cella, il sistema salta. Non posso proteggere le celle con PW perchè il file è dinamico, al variare di certe condizioni le righe vengono spostate in altri fogli del file (che ho cancellato perchè non interessanti), se blocco le celle, le righe non sono selezionabili.

è possibile creare Macro? o avete soluzioni più snelle da proporre?

Salvatemi Vi prego!!!!!! :side:

Cri
Last Edit: 7 years 3 months ago by cricriz. Reason: Mi si creava emoticon per sbaglio
The administrator has disabled public write access.

VBA da formula cerca verticale 7 years 4 months ago #8992

  • lorenzo1957
  • lorenzo1957's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 849
  • Thank you received: 59
  • Karma: 51
cricriz wrote:
Colonna A da riga 7 in giù:

Qui è elencato il sequenziale numerico dei casi che mano a mano vengono inseriti.

Per cercare di automatizzare la compilazione ho creato formula "se" tipo (=se(B8>0;(A7+1);"")) cosicché al compilare delle celle "REF" (colonna B) in automatico viene generato il sequeziale.

Si può creare Macro per questa funzione? se si come? (NB io di macro non so niente, ma niente niente niente).
1) A me quella formula non piace; in A7 metterei questa: =SE(B7<>"";CONTA.VALORI($B$7:B7);"")da trascinare in basso al bisogno. Attento alla diversa sintassi fra $B$7 e B7
La mia formula diversamente dalla tua consente di tagliare righe o eliminare righe senza conseguenze nella numerazione.

2) perché farlo in VBA se già è sufficiente la formula?

Quanto al resto, io ho perplessità rispetto a file Excel condivisi, e ritengo di non essere all'altezza di dare suggerimenti.
Ciao, lo
Last Edit: 7 years 4 months ago by lorenzo1957.
The administrator has disabled public write access.
The following user(s) said Thank You: cricriz

VBA da formula cerca verticale 7 years 3 months ago #9078

  • cricriz
  • cricriz's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 10
  • Karma: 0
Ciao Lorenzo,

grazie mille per l'aiuto.

Nemmeno io amo le liste condivise, ma questo è una lista generale che raccoglie tutti i casi che lavoriamo in ufficio, se non fosse condiviso laddove un collega (o quasi sempre il capo) per N ragioni se lo dimenticasse aperto questo implicherebbe dover andare dal collega e chiedergli di chiudere il file. Immagina se il capo o il collega è a pranzo o in una riunione fiume....

per la questione nr 2 (=CERCA.VERT) etc speravo in una VBA perchè temo che i miei colleghi (per cui excel è un oscuro strumento di magia nera :evil: ) possano cancellarmi le formule.... :woohoo:

grazie ancora

Cristina
Last Edit: 7 years 3 months ago by cricriz.
The administrator has disabled public write access.

VBA da formula cerca verticale 7 years 3 months ago #9081

  • Zer0Kelvin
  • Zer0Kelvin's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 11
  • Thank you received: 4
  • Karma: 2
cricriz wrote:
speravo in una VBA perchè temo che i miei colleghi (per cui excel è un oscuro strumento di magia nera :evil: ) possano cancellarmi le formule.... :woohoo:
Ciao.
Per evitare che questo accada è sufficiente proteggere il foglio dopo aver bloccato tutte le celle che non devono essere modificate.
Per fare questo puoi:
1) cliccare all'incrocio di etichette di riga e colonne(rettangolo a destra di "1" e sopra "a") per selezionare tutte le celle del foglio.
2) click destro all'interno del foglio e selezioni "Formato celle" ->scheda "Protezione"
3) metti il segno di spunta a "Bloccata" e confermi.
Ora le celle sono tutte bloccate.
4) seleziona l'area dove devono poter essere inseriti i dati
5)click destro->formato celle->protezione->togli spunta su bloccata e confermi.
6)click destro sulla linguetta del foglio e selezioni "Proteggi foglio"
Adesso hai varie opzioni attivabili; se vuoi che le celle bloccate non possano neanche essere selezionate togli la spunta da "seleziona celle bloccate".
Puoi anche inserire una password (da non dimenticare, mi raccomando)per evitare che qualcuno tolga la protezione accidentalmente.
Clicca OK ed il gioco è fatto! le celle bloccate non potranno essere più modificate senza togliere la protezione al foglio...
Potresti anche limitarti a bloccare solo le celle che contengono le formule.
[Excel 2010]
-Condividere la conoscenza aumenta la ricchezza di tutti.
-Dai ad un uomo un pesce e lo avrai sfamato per un giorno; insegnagli a pescare e lo avrai sfamato per sempre. (Confucio)
-Il sonno della ragione genera mostri. (Francisco Goya)
The administrator has disabled public write access.

VBA da formula cerca verticale 7 years 3 months ago #9082

  • cricriz
  • cricriz's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 10
  • Karma: 0
Ciao Zer0Kelvin,

Purtroppo non posso usare l'opzione da te suggerita. Come già scritto nel post iniziale "Non posso proteggere le celle con PW perchè il file è dinamico, al variare di certe condizioni le righe vengono spostate in altri fogli del file (che ho cancellato perchè non interessanti), se blocco le celle, le righe non sono selezionabili."

cri
The administrator has disabled public write access.

VBA da formula cerca verticale 7 years 3 months ago #9083

  • Canapone
  • Canapone's Avatar
  • OFFLINE
  • Platinum Boarder
  • Posts: 1346
  • Thank you received: 160
  • Karma: 108
Ciao,



i cerca.vert non dovrebbero appesantire troppo il file.

Potresti esplicitare tutti i riferimenti esterni che trovo nelle formule in R7:R9 dentro le formule stesse

Scrivendo in R7

=SE(CERCA.VERT(Q7;{"minor"\2."medium"\3."high"\4};2;0)>CERCA.VERT(P7;{"minor"\2."medium"\3."high"\4};2;0);"p";SE(CERCA.VERT(Q7;{"minor"\2."medium"\3."high"\4};2;0)=CERCA.VERT(P7;{"minor"\2."medium"\3."high"\4};2;0);"w";"q"))

Puoi cancellare il contenuto delle celle A2:B4 ed S7:T9.

Se copiano l'intera riga non dovrebbero perdere molti pezzi per strada.

Saluti
The administrator has disabled public write access.
The following user(s) said Thank You: cricriz
Time to create page: 0.468 seconds