Sviluppare funzionalita su Microsoft Office con VBA combobox che restituisce dinamicamente un valore da una cella.

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

    tempusfugit
    Partecipante

      Buongiorno a tutti,

      ho un elenco in una combobox1 con all'interno un elenco di articoli, vorrei che quando selezioni un articolo

      la textbox1 mi restituisse un colore associato a quell'articolo, (esempio: scarpe=rosse; maglia=bianca;etc.).

      #28670 Score: 0 | Risposta

      alfrimpa
      Partecipante
        33 pts

        Non si capisce.

        Prima parli di combobox e poi di textbox.

        Devi spiegare meglio allegando file di esempio.

        #28676 Score: 0 | Risposta

        tempusfugit
        Partecipante

          Buonasera Alfredo,

          ho due Combobox (ma potrei avere anche una Combo e una Text), dove vorrei che dinamicamente, al selezionare della Combo (NUMERO) nella Combo (COL) apparisse il colore abbinato, mi spiego meglio in una tabella di riferimento (E2:F5) ho abbinato le taglie al colore.

          Non mi dire di utilizzare un ciclo FOR, perchè ancora non ho capito come si implementa 🙂

          Grazie.

           

           

          Allegati:
          You must be logged in to view attached files.
          #28678 Score: 0 | Risposta

          alfrimpa
          Partecipante
            33 pts

            Scusa ma se ad ogni taglia corrisponde un solo colore che necessità hai della seconda combobox?

            #28679 Score: 0 | Risposta

            mflauto
            Partecipante
              1 pt

              Alfredo,  non so come si fa ad associare ad una singola Combo più valori perciò ti chiedo aiuto. 

              #28680 Score: 1 | Risposta

              alfrimpa
              Partecipante
                33 pts

                Tu hai parlato di due combobox.

                Ma se alla taglia 32 corrisponde solo il colore rosso che necessità c'è di avere la seconda combobox?

                Se la taglia avesse avuto più colori allora selezionando la taglia sulla prima combo avresti avuto nella seconda i colori appunto della taglia 32.

                E questo solo con un ciclo For puoi farlo.

                Nel tuo caso, visto che il colore per taglia è unico, ti basterebbe un CERCA.VERT (lato VBA WorksheetFunction.VLookup) per inserire in una textbox (no combobox) il colore della taglia prescelta nella prima combo.

                Un consiglio: se vuoi continuare ad usare macro, userform ecc. i cicli sono una delle cose basilari da conoscere quindi li devi imparare.

                #28681 Score: 0 | Risposta

                tempusfugit
                Partecipante

                  Grazie Alfredo,

                  mi consiglieresti qualche guida in italiano sui cicli di fore netx?

                  Grazie.

                  Massimiliano

                  #28682 Score: 0 | Risposta

                  alfrimpa
                  Partecipante
                    33 pts

                    Basta cercare con Google

                    http://ennius.altervista.org/vba/vba34.php

                    ma ripeto nel caso che hai sottoposto con il file allegato non devi usare nessun ciclo.

                     

                     

                     

                     

                     

                     

                    #28686 Score: 1 | Risposta

                    patel
                    Moderatore
                      51 pts

                      Confermo quanto detto da alfrimpa (che saluto), per ottenere il colore non c'è bisogno di cicli, basta sostituire la combo con una label di nome LabColore ed utilizzare questo codice

                      Private Sub CommandButton1_Click()
                          Dim COLORE As String, indice As Integer
                          indice = NUMERO.ListIndex
                          COLORE = Range("F" & indice + 2)
                          LabColore.Caption = COLORE
                      End Sub

                      Piuttosto noto che il codice che hai proposto è scritto o copiato completamente a caso, non ha alcun senso. Trovi delle buone guide per imparare anche in fondo alla pagina di questo forum.

                      Una volta capito come funziona questo codice ti accorgerai che è inutile fare 2 tabelle, basta solo la prima e potrai ottenere anche il numero dei pezzi  con lo stesso criterio.

                      #28689 Score: 0 | Risposta

                      mflauto
                      Partecipante
                        1 pt

                        Buongiorno Patel, 

                        il resto del codice serviva per inserire la ricerca nella tabella,

                        comunque non mi funziona (vedi file allegato) per un mio errore di comprensione.

                        Saluti.

                        Massimiliano

                        Private Sub CommandButton1_Click()
                            Dim COLORE As String, indice As Integer
                            indice = NUMERO.ListIndex
                            COLORE = Range("F" & indice + 2)
                            LabColore.Caption = COLORE
                        End Sub
                        
                        Allegati:
                        You must be logged in to view attached files.
                        #28692 Score: 0 | Risposta

                        alfrimpa
                        Partecipante
                          33 pts

                          Tu non hai fatto quanto detto da @patel che saluto.

                          Anzichè sostituire la combo con una label hai inserito una textbox.

                          Il controllo textbox non ha la proprietà Caption ed è per questo che il codice va in errore.

                          #28696 Score: 1 | Risposta

                          patel
                          Moderatore
                            51 pts

                            Stai cambiando le carte in tavola, è ovvio che non ti funzioni, dammi retta, fai una sola tabella completa, non 2 e poi utilizza il criterio che ti ho mostrato, il passo successivo potrebbe essere eliminare i  pulsanti ed utilizzare l'evento NUMERO_Change() che ti consentirebbe di visualizzare tutti i dati al cambiare della selezione sulla combobox.

                             

                            #28848 Score: 0 | Risposta

                            tempusfugit
                            Partecipante

                              Grazie Pavel,

                              ho risolto con le tue indicazioni 🙂

                              Allegati:
                              You must be logged in to view attached files.
                            Login Registrati
                            Stai vedendo 13 articoli - dal 1 a 13 (di 13 totali)
                            Rispondi a: combobox che restituisce dinamicamente un valore da una cella.
                            Gli allegati sono permessi solo ad utenti REGISTRATI
                            Le tue informazioni: