Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

[Excel] Creare uno schema di corrispondenza tra celle

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

[Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 13/01/16 23:32

Buongiorno a tutti, chiedo il vostro aiuto per il seguente progetto.
Vorrei disegnare in Excel su un ipotetico Foglio1 due oggetti, un Patch Panel e uno switch.

A ogni porta di ogni dispositivo (siaPatch Panel che Switch) farei corrispondere una cella a cui darei uno specifico nome:
http://www.01net.it/excel-assegnare-un- ... le-e-zone/

Sul Foglio2 scriverei in A1 e B1 (e celle seguenti) un elenco in cui nella prima colonna è nominata una cella del disegno del Patch Panel e nella seconda una cella del disegno dello switch (possibilmente con i nomi aribtrari scelti prima e non con la digitura Excel).
Ovviamente quello che collega queste due celle è (oltre al legame logico) il vero e proprio cavo ethernet che chi è infilato dentro! :lol:

Adesso viene il bello.
Mi piacerebbe una prima macro con un bottone (da mettere nel Foglio1) in modo tale che se seleziono la cella del Patch Panel e lo premo mi evidenzi la corrispondente cella dello switch a cui è collegato secondo quanto descritto nella lista del Foglio2 e viceversa

Ma lo cosa eccezionale sarebbe se fosse possibile un secondo bottone che una volta premuto restituisca TUTTE le corrispondenze del Foglio2 in forma grafica disegnando delle linee su Foglio1
http://wellsr.com/vba/2015/excel/draw-l ... -with-vba/

Grazie in anticipo a chi mi vorrà aiutare!
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Sponsor
 

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Anthony47 » 14/01/16 02:17

Probabilmente si puo' fare...
Per una risposta piu' precisa dovresti preparare un file esemplificativo anche con pochi punti e poche connessioni (ma comunque almeno 5 per tipo).
Qualche dubbio ce l'ho sui disegni delle connessioni, perche' temo che le linee vengano sovrapposte e quindi non decodificabili.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 14/01/16 12:47

Per le linee sovrapposte non c'è problema (sapevo sarebbe accaduto), al massimo potrò chiederti se dei gruppi di linee si possono fare dello stesso colore.
La soluzione ottimale sarebbe mettere nella cella C1 (e seguenti) del Foglio2 lo sfondo col colore che vorrei fosse usato anche per la linea del Foglio1.

Nel pomeriggio preparo e condivido un file di test.

Grazie dell'interessamento!
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 14/01/16 18:35

Eccoti allegato il file
L'esempio è riduttivo ma spero si capisca

Grazie! :)
Allegati
ESEMPIO.xlsx
(17.51 KiB) Scaricato 58 volte
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Anthony47 » 14/01/16 23:41

Guarda il file allegato:
https://www.dropbox.com/s/vskty3p2jsg6n ... .xlsm?dl=0
Contiene una macro di Worksheet_SelectionChange su Foglio1 piu' una formattazione condizionale applicata sulle celle del patch panel (pp) e un'altra sulle celle dello switch (sw), rispettivamente con le formule
Codice: Seleziona tutto
=E(RIF.RIGA(E6)=RIF.RIGA(INDIRETTO($AM$1));RIF.COLONNA(E6)=RIF.COLONNA(INDIRETTO($AM$1)))

Codice: Seleziona tutto
=E(RIF.RIGA(O13)=RIF.RIGA(INDIRETTO($AN$1));RIF.COLONNA(O13)=RIF.COLONNA(INDIRETTO($AN$1)))

Le due formule sono simili, e fanno riferimento al contenuto di AM1 e AN1; in queste due celle la Worksheet_SelectionChange inserisce gli indirizzi della cella del pp e dello sw che risultano connessi.
L'effetto finale dovrebbe essere che quando selezioni una porta del pp o dello sw l'altra porta che risultasse collegata dovrebbe evidenziarsi e una linea retta dovrebbe collegare le due porte.

La Worksheet_Change lavora sui cablaggi che sono elencati sul foglio "successivo" a quello che contiene i disegni; in questo modo dovrebbe essere possibile disegnare pp e sw su piu' fogli, ogni foglio facente riferimento al foglio "successivo" per i cablaggi.
La macro si aspetta che i nomi che cominciano con P sono di un pp (colonna A dei cablaggi) e i nomi che cominciano con S siano di uno sw (colonna B dei cablaggi).

E' la direzione giusta?

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 18/01/16 12:55

Prima di tutto grazie, funziona benissimo e la tua logica ha reso inutile il tasto "Evidenzia porte" che avevo predisposto dato che la linea viene mostrata appena si clicca nella cella. :D :D :D

Ti chiedo solo 3 piccole modifiche che ti elenco in ordine di importanza:
1) la colorazione della linea dovrebbe essere basata sul colore di sfondo delle celle nella colonna C del foglio2
2) mi farebbe comodo una macro per il bottone "Mostra Cablaggio" che con un click crei tutte le connessioni esistenti
3) Preferirei modificare lo stile della linea che in questo momento da due frecce alle estremità mentre io vorrei una linea semplice

Grazie dell'aiuto e scusa per le richieste magari un po' pedanti :P
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 20/01/16 18:40

Altra domanda: ma è per forza necessario discriminare i nomi per lettera iniziale?
Perché le lettere iniziali potrebbero essere varie (non solo P e S) e non so nemmeno se le P saranno sempre nella colonna di sinistra...
Non è possibile fare un "cerca verticale" (scusa il termine improprio) sulle due colonne per trovare nel Foglio2 lo stesso nome della cella che ho cliccato sul Foglio1? :roll:

Se lo trovi in B devi guardare la cella subito a sinistra per sapere dove finisce il cavo, se lo trovi in A subito a destra.
Se lo trovi più di una volta dovrebbe uscire un errore!

Ma questo lo possiamo vedere anche dopo :D
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Anthony47 » 20/01/16 23:49

Le prime tre modifiche sono approvate; quindi ho modificato la macro di Worksheet_SelectionChange e ho inserito una nuova macro in Modulo2 che disegna tutti i cablaggi, e l'ho collegata al pulsante MostraCablaggio.
Qualora il colore del cablaggio sia lasciato Bianco allora sara' convertito in grigio chiaro.
Il pulsante EvidenziaPorte si puo' cancellare.

Ho anche inserito la seguente prestazione:
-selezionando una porta, oltre a colorare le connessioni e tirare la linea viene anche scritto in AO1 l'intestatario della linea, pari al valore scritto nella cella di Foglio2 (anzi: di "foglio corrente +1") usata anche per il colore del cavo.
-usando il pulsante MostraCablaggio, la forma della singola connessione sara' nominata come "NomeUtente_myZcZc"; quindi selezionando la singola linea e leggendone il nome (nella Casella Nome) si potra' individuare l'intestatario.

Quanto all'ipotesi che il "nome" di una porta di un patchpanel non cominci per P (e S lo switch), non dovrebbe essere difficile realizzarlo pero' il tempo e' tiranno; stesso ragionamento per la posizione dei nomi nelle colonne (in questo caso ho anche una riserva sul fatto che si possano descrivere in modo casuale le connessioni).
Pero' possiamo dire che P ed S stanno per Primo e Secondo :D , quindi P sta per definizione nella prima colonna e S nella seconda...

Il file su dropbox e' allineato con quanto ho detto.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Dylan666 » 21/01/16 18:22

Grazie!!!! :) :) :) :)
Funziona tutto benissimo e l'intuizione del nome del cavo è veramente utile. 8)

Se avrai più e ancora voglia l'idea di usare i nomi senza una iniziale vincolante (P e S) sarebbe per me molto utile dato che nel disegno appariranno molti apparati e le porte verranno inserite mano a mano causalmente e con nomi molto meno standard di quelli dell'esempio.

Quindi la ricerca del valore cliccato sia sulla colonna A che B sarebbe veramente una comodità eccezionale. :oops: :oops: :oops:
Ma non voglio abusare della tua cortesia e disponibilità... :P
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Re: [Excel] Creare uno schema di corrispondenza tra celle

Postdi Anthony47 » 22/01/16 00:41

Prendo nota, magari mi viene una imprevista abbondanza di tempo libero...

Possiamo immaginare che invece di assegnare un Nome alle celle questo Nome ci limitiamo a scriverlo nella cella soprastante, mentre nella cella ci rimane il numero della porta?
Immagine
free image hosting

Nell'elenco dei collegamenti si usera' poi Nome & NumeroPorta; nel caso della figura sarebbe ALFA-1, ALFA-2 etc
Nell'esempio suggerisco di usare il "nome assegnato all'apparato" su tutte le porte, ma teoricamente si potrebbero assegnare anche nomi a caso (ma non ne vedo il vantaggio, mentre il disordine e' evidentemente dannoso).

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13891
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] Creare uno schema di corrispondenza tra celle":


Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti