Sviluppare funzionalita su Microsoft Office con VBA risultato cercavert in useform

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

    Frasubb
    Partecipante
      1 pt

      ciao a tutti, chiedo se è possibile visualizzare il risultato del cercavert (colonna D), che viene fuori dall'inserimento del codice in colonna E, nella userform1 in sede di inserimento dati. Non chiedo la possibilità di modifica in quel momento ma solo visualizzarlo.

      Devo creare una nuova textbox o un'etichetta per far questo ?

      Allego file

       

       grazie mille

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

      alfrimpa
      Partecipante
        33 pts

        In VBA il CERCA.VERT  ha la stessa sintassi della formula lato foglio.

        Esempio se si vuole visualizzare in una label il risultato partendo da una textbox

        Me.Label1.Caption = WorksheetFunctionVLooKup(Me.Textbox1.Value, Range("A1:B10"), 2, False)
        #54332 Score: 0 | Risposta

        alfrimpa
        Partecipante
          33 pts

          Il codice può essere associato ad un evento della Textbox es. AfterUpdate oppure Exit

          #54334 Score: 0 | Risposta

          Frasubb
          Partecipante
            1 pt

            @alfrimpa grazie per la tua risposta, ma dove indico il nome del foglio da dove prelevare i dati per il cercavert ?

             Grazie

            #54335 Score: 0 | Risposta

            alfrimpa
            Partecipante
              33 pts

              Devi solo completare il secondo parametro del VLookup anteponendo al range Sheets("nomefoglio") oppure il codename del foglio (es. Foglio1, Foglio2 ecc.) oppure ancora utilizzando il suo indice ossia la sua posizione nella cartella (es. Sheets(1), Sheets(2) ecc.)

              #54336 Score: 0 | Risposta

              Frasubb
              Partecipante
                1 pt

                Così, giusto ?

                Sheets(“FEE”).Range("A1:B10"), 2, False)
                #54337 Score: 0 | Risposta

                alfrimpa
                Partecipante
                  33 pts

                  Si è corretto.

                  Io ti consiglio di usare il codename del foglio perchè se il nome del foglio viene successivamente modificato il codice non funzionerebbe più.

                  #54338 Score: 0 | Risposta

                  Frasubb
                  Partecipante
                    1 pt

                    @alfrimpa  grazie mille per la tua assistenza.

                     Una domanda curiosa però, te la faccio solo per imparare: per esempio, nel foglio “FEE” in A1 c’è il codice azienda e in B1 il nome azienda.

                     Nella userform1, il codice azienda lo digito nella textbox “TxtMandato”; come è possibile, quindi, che nella label mi venga restituito il nome azienda se nelle relative righe di codice la textbox di cui sopra non è menzionata ?

                     Perdonami, forse ho saltato un passaggio che me lo fa capire ?

                     Sempre grazie !

                    #54341 Score: 0 | Risposta

                    alfrimpa
                    Partecipante
                      33 pts

                      Te l'ho detto come fare.

                      Devi associare il codice all'evento Exit o all'evento AfterUpdate della textbox "txt mandato".

                      Nel primo caso il codice viene eseguito quando esci dal controllo nel secondo quando, dopo aver digitato qualcosa premi Invio.

                      #54342 Score: 0 | Risposta

                      alexps81
                      Moderatore
                        56 pts

                        Frasubb ha scritto:

                        è possibile visualizzare il risultato del cercavert (colonna D), che viene fuori dall'inserimento del codice in colonna E, nella userform1 in sede di inserimento dati.

                        Frasubb ha scritto:

                        Nella userform1, il codice azienda lo digito nella textbox “TxtMandato”; come è possibile, quindi, che nella label mi venga restituito il nome azienda se nelle relative righe di codice la textbox di cui sopra non è menzionata ?

                        Fermo restando le valide indicazioni che hai ottenuto...onestamente, almeno io, non ho capito tu dove vorresti visualizzare il risultato del Cerca.Vert.

                        Puoi spiegare meglio le azione che fai e cosa vorresti ottenere da queste azioni?

                        #54343 Score: 0 | Risposta

                        Frasubb
                        Partecipante
                          1 pt

                          ciao alexps81, come scritto nella 54328

                          ciao a tutti, chiedo se è possibile visualizzare il risultato del cercavert (colonna D), che viene fuori dall'inserimento del codice in colonna E, nella userform1

                          mi servirebbe di visualizzarlo nella userform1 subito dopo aver inserito il codice nella textbox "TxtMandato

                          #54344 Score: 0 | Risposta

                          alexps81
                          Moderatore
                            56 pts

                            Frasubb ha scritto:

                            mi servirebbe di visualizzarlo nella userform1

                            Si ok...ma dove? In una TextBox? Label? MsgBox?

                            #54345 Score: 0 | Risposta

                            Frasubb
                            Partecipante
                              1 pt

                              Devi associare il codice all'evento Exit o all'evento AfterUpdate della textbox "txt mandato"

                              grazie @alfrimpa e scusa ma non sono ancora molto pratico ....

                              Ho fatto come dici tu ma certamente qualcosa sbaglio perché mi da errore, allego schermata

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

                              alfrimpa
                              Partecipante
                                33 pts

                                Tra a WorksheetFunction e VLookup ci vuole il punto.

                                #54350 Score: 0 | Risposta

                                Frasubb
                                Partecipante
                                  1 pt

                                  Tra a WorksheetFunction e VLookup ci vuole il punto.

                                   

                                  @alfrimpa ho aggiunto il punto dove mi hai detto, ma mi da errore comunque

                                   

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

                                  Frasubb
                                  Partecipante
                                    1 pt

                                    Si ok...ma dove? In una TextBox? Label? MsgBox?

                                    Ciao @alexps81  nella label "LabelNomeAzienda"

                                    #54353 Score: 0 | Risposta

                                    alfrimpa
                                    Partecipante
                                      33 pts

                                      Frasubb ha scritto:

                                      ho aggiunto il punto dove mi hai detto, ma mi da errore comunque

                                       

                                      Allega il file che ti dà errore

                                      #54354 Score: 0 | Risposta

                                      alexps81
                                      Moderatore
                                        56 pts

                                        Frasubb ha scritto:

                                        ho aggiunto il punto dove mi hai detto, ma mi da errore comunque

                                        Hai un po' di cose da sistemare:

                                        1) Le 2 virgolette nella definizione del nome del Foglio FEE sono sbagliate. Tu hai scritto Sheets(FEE).Range("A1:B10"), 2, False). Se avessi utilizzato il CodeName del Foglio anziché il suo nome , come suggerito da alfrimpa non ti sarebbe capitato questo problema.

                                        2) Il VLookup può fallire se cerchi un numero tramite una TextBox. Ti ricordo che da una TextBox esce sempre un TESTO. Inoltre se stai cercando un numero ma errore scrivi un carattere alfabetico (ad esempio scrivi la lettera "A") ed esci dalla TextBox, il VLookup fallirà dandoti errore. 

                                        Una soluzione potrebbe essere questa:

                                        Private Sub TxtMandato_AfterUpdate()
                                            On Error Resume Next
                                            Me.LabelNomeAzienda.Caption = WorksheetFunction.VLookup(CLng(Me.TxtMandato.Value), Sheets("FEE").Range("A1:B10"), 2, False)
                                            On Error Goto 0
                                        End Sub

                                        ma io preferisco più questa:

                                        Private Sub TxtMandato_AfterUpdate()
                                            Dim r As Variant
                                            
                                            r = Application.Match(Val(Me.TxtMandato.Value), Sheets("FEE").Range("A:A"), 0)
                                            If Not IsError(r) Then
                                                Me.LabelNomeAzienda.Caption = Sheets("FEE").Range("B" & r).Value
                                            Else
                                                Me.LabelNomeAzienda.Caption = ""
                                            End If
                                        End Sub
                                        #54355 Score: 0 | Risposta

                                        Frasubb
                                        Partecipante
                                          1 pt

                                          @alfrimpa   Al momento non ho il pc con me, se può esserti utile trovi allegato nella 54328 dove però c’è da inserire l’intero codice da te suggerito.

                                           Non so se può andarti bene lo stesso, altrimenti fra un’oretta carico quello giusto, ma quello finora allegato è il medesimo senza il tuo codice

                                          #54357 Score: 0 | Risposta

                                          alfrimpa
                                          Partecipante
                                            33 pts

                                            Visto che è stata data la soluzione è inutile che io continui.

                                          Login Registrati
                                          Stai vedendo 20 articoli - dal 1 a 20 (di 20 totali)
                                          Rispondi a: risultato cercavert in useform
                                          Gli allegati sono permessi solo ad utenti REGISTRATI
                                          Le tue informazioni: