› Excel e gli applicativi Microsoft Office › come evitare doppioni in una colonna formata da celle con menù a tendina???
Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
-
AutoreArticoli
-
Ciao sono alessandro piacere!! Ho un problema da risolvere. Ho una colonna (B) in ogni cella della colonna sono inseriti dei menù a tendina con una serie di numeri che va da 1 a 100. Tutte le celle sono convalidate da elenco rispetto alla cella precedente in colonna (A). Se nella prima cella (B1) seleziono dal menù a tendina il numero 25, nella seconda cella (B2) voglio far comparire tutti i numeri tranne il numero selezionato in precedenza (25). Come posso fare? non sono esperto di excel, avrei bisogno dei vari passaggi.GrazieBuonaserabisogna utilizzare una colonna di servizio io ho usato la colonna G quindi con l'elenco da A1 a A100 in G1 da trascinare fino a G100=SE.ERRORE(AGGREGA(15;6;$A$1:$A$100/(CONTA.SE($B$1:$B$100;$A$1:$A$100)=0);RIF.RIGA());"")poi ti metti nella cella B1DATICONVALIDA DATIELENCOnella barra della formula incolla=SCARTO($G$1;;;MATR.SOMMA.PRODOTTO(--($G$1:$G$100<>"")))e dai confermapoi aggancia la cella b1 e trascina in basso cosi estendi la convalida a tutte le 100 celle
Allegati:
You must be logged in to view attached files.Grazie Danilo è proprio quello che cercavo di fare. Solo che siccome non sono tanto esperto di excel ti allego il mio file così vedi materialmente il problema. In pratica nella colonna F ci sono i numeri degli ombrelloni scelti in base alla scelta della cella precedente in colonna E. Capisci il tutto se vedi la piantina della spiaggia sul foglio (PIANTINA). Ora se per esempio nella cella F3 seleziono il numero 85 termino la prenotazione n. 1 e vado avanti con la prenotazione n.2; se il cliente numero due mi sceglie nuovamente la prima fila a destra vorrei che nella cella F4 mi compaiano tutti i numeri tranne il numero 85 scelto prima.Grazie milleAllegati:
You must be logged in to view attached files.prova cosi, il codice ti avvisa se tu hai gia prenotato l'ombrellone.
nel file che hai allegato vai sul foglio "prenotazioni" e incolli il codice che ti posto, fai saperePrivate Sub Worksheet_Change(ByVal Target As Range) Dim lrF As Long Dim indietro As Variant Dim r As Variant lrF = Cells(Rows.Count, 6).End(xlUp).Row indietro = Target.Address(False, False) r = Range(indietro).Offset(-1).Address Set rngF = Range("f2:" & r) If Not Intersect(Target, Range("f3:F" & lrF)) Is Nothing Then For Each cl In rngF If cl = Target Then MsgBox "Ombrellone prenotao" End If Next End If End SubQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)
puoi indicarmi gentilmente tutti i passaggi albatros54 perchè non riesco. Grazieallora:apri il tuo file, vai sul menu Sviluppo, a Sx dovresti trovare la Voce "visual basic", click e si apre l'editor di vba, sulla Sx troverai i nomi dei tuoi fogli, vai sul foglio"prenotazini doppio click e a dx si apre l'editor, copia il codice che ti ho postato è lo incolli in questo modulo.salva il file con attivazione macro.apri il tuo file prova a modificare qualche dato della colonna F inserendo numeri uguali, ti dovrebbe comparire un messaggio che ti indica che quel numero è stato inserito,prova e fai sapereQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)
funziona perfettamente. Grazie mille. Ora ho un'altra cosa da chiedere. In pratica voglio che appena seleziono un numero in quelle celle in F esempio 85...mi va a colorare lo sfondo della cella contenente il numero 85 al foglio (PIANTINA).Graziesostituisci il codice con questo
Private Sub Worksheet_Change(ByVal Target As Range) Dim lrF As Long Dim indietro As Variant Dim r As Variant Dim rngF As Range Dim rngpiantina1599 As Range Dim rgnpiantina179 As Range Dim bigrgnpiantina As Range Dim dt As Range Dim cl As Range lrF = Cells(Rows.Count, 6).End(xlUp).Row indietro = Target.Address(False, False) r = Range(indietro).Offset(-1).Address Set rngF = Range("f2:" & r) If Not Intersect(Target, Range("f3:F" & lrF)) Is Nothing Then For Each cl In rngF If cl = Target Then MsgBox "Ombrellone prenotao" End If Next End If Set rngpiantina1599 = Sheets("piantina").Range("s4:al8") Set rgnpiantina179 = Sheets("piantina").Range("a3:n14") Set bigrgnpiantina = Union(rgnpiantina179, rngpiantina1599) For Each dt In bigrgnpiantina If dt = Target Then dt.Interior.ColorIndex = 3 End If Next End SubQual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)
Ci siamo quasi. Veramente complimenti!! Ora ci sono due problemi? il primo è che digitando i numeri da 101 a 115 (solarium) non colora la cella mentre il secondo problema è che colora anche il numero digitato sullo schema dei tavoli; e siccome all'ombrellone esempio n.1 posso assegnare anche il tavolo n.23 questo deve essere assolutamente separato. Bisogna adattare il primo codice anche ai tavoli però i tavoli siccome si possono prenotare su due turni. il primo turno va dalle 12 alle 13 mentre il secondo turno va dalle 13 alle 14 quindi qui il doppione (numero uguale ci può stare) ma con la voce del turno diversa.Allego un foto del risultato di prima.Grazie ancora veramente gentilissimo.Allegati:
You must be logged in to view attached files. -
AutoreArticoli
Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
