Excel e gli applicativi Microsoft Office come evitare doppioni in una colonna formata da celle con menù a tendina???

Login Registrati
Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
  • Autore
    Articoli
  • #1840 Score: 0 | Risposta

    falso92ale
    Partecipante
      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.
      Grazie
      #1841 Score: 0 | Risposta

      D@nilo
      Partecipante
        12 pts
        Buonasera
         bisogna 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 B1
        DATI
        CONVALIDA DATI
        ELENCO
        nella barra della formula incolla
        =SCARTO($G$1;;;MATR.SOMMA.PRODOTTO(--($G$1:$G$100<>"")))
        e dai conferma
        poi 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.
        #1860 Score: 0 | Risposta

        falso92ale
        Partecipante
          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 mille
          Allegati:
          You must be logged in to view attached files.
          #1862 Score: 0 | Risposta

          albatros54
          Moderatore
            89 pts

            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 sapere

            Private 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 Sub

            Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

            #1864 Score: 0 | Risposta

            falso92ale
            Partecipante
              puoi indicarmi gentilmente tutti i passaggi  albatros54 perchè non riesco. Grazie
              #1865 Score: 0 | Risposta

              albatros54
              Moderatore
                89 pts
                allora:
                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 sapere

                Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

                #1868 Score: 0 | Risposta

                falso92ale
                Partecipante
                  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).
                  Grazie
                  #1874 Score: 0 | Risposta

                  albatros54
                  Moderatore
                    89 pts

                    sostituisci 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 Sub

                    Qual è il punto di avere gusti diversi, se non mostrare che i cervelli lavorano diversamente, che pensiamo diversamente?( Alan Turing)

                    #1878 Score: 0 | Risposta

                    falso92ale
                    Partecipante
                      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.
                    Login Registrati
                    Stai vedendo 9 articoli - dal 1 a 9 (di 9 totali)
                    Rispondi a: come evitare doppioni in una colonna formata da celle con menù a tendina???
                    Gli allegati sono permessi solo ad utenti REGISTRATI
                    Le tue informazioni: