Sviluppare funzionalita su Microsoft Office con VBA calcoli tra valori in textbox

LoginRegistrati
Stai vedendo 25 articoli - dal 1 a 25 (di 27 totali)
  • Autore
    Articoli
  • #27699 Risposta

    Veleno
    Partecipante

      Buonasera a tutti. Dovrei per i miei clienti creare un foglio di excel dove loro inseriranno delle misure,lunghezza e larghezza ,poi ,in un altra textbox verra calcolata l'area. Fino qui ci sono quasi.Il problema nasce che quando inseriscono misure non producibili vorrei un msgbox che li avverte che hanno superato il limite massimo e, allo stesso modo non possono inserire in larghezza un valore minore di 40 cm .

      Vi ringrazio anticipatamente per l'aiuto

      #27700 Risposta

      GiuseppeMN
      Partecipante
        8 pts

        Buon pomeriggio, @veleno;
        allega un File, senza Dati sensibili, con alcuni Record significativi già inseriti e chiarisci ciò che desideri ottenere.

         

        Giuseppe

        #27704 Risposta

        Veleno
        Partecipante

          Buonasera Giuseppe e grazie per la celere risposta .Non ti nego la difficolta per scrivere qualche stringa intanto ho allegato un file excel molto intuibile ti giuro non riesco ad andare avanti.

           

          Allegati:
          You must be logged in to view attached files.
          #27706 Risposta

          GiuseppeMN
          Partecipante
            8 pts

            Buona giornata, @veleno;
            nel File non vedo alcun Codice VBA ne vincoli nell'inserimento dei calcoli.

            Quello che posso fare è solo fornirti qualche consiglio:
            - Tabella con vincoli per indicare il "limite massimo" dei Valori proponibili e il "Prezzo"; molto probabilmente già presente nel tuo File originale.
            - Quello che credo aiuterebbe i tuoi Clienti potrebbe essere una UserForm come da immagine in allegato; non è certo indispensabile ma è un po più professionale.

            Oltre non saprei proprio come poterti aiutare se non ricordarti che i Valori inseriti in TextBox non sono Valori numerici ma Stringhe e come tali vanno riproposte in un Formato gestibile nei calcoli.

             

            Buon Lavoro.

            Giuseppe

            Allegati:
            You must be logged in to view attached files.
            #27712 Risposta

            Veleno
            Partecipante

              grazie mi hai dato una bella idea mi metto all'opera e ti aggiorno

              #27719 Risposta

              GiuseppeMN
              Partecipante
                8 pts

                Poi, ovviamente, se hai problemi assieme possiamo approfondire.

                 

                Giuseppe

                 

                #27750 Risposta

                Veleno
                Partecipante

                  gentilissimo

                  #27770 Risposta

                  Veleno
                  Partecipante

                    Buongiorno Giuseppe questa e' la versione embrionale.

                    Nelle textbox dei valori di lunghezza e larghezza che moltiplicati danno l'area che moltiplicata per 77.81 € danno il prezzo.Fino qui abbastanza facile. Poi ho aggiunto delle combo box che riepilogassero tutte le misure disponibili ma qui arrivano i primi sintomi di ignoranza.

                    Come puoi vedere a sinistra del foglio ci sono 2 elenchi 1 con misure ripetute ed il secondo,piu in basso, piu corto dove ho solo rimosso i duplicati qui nel ciclo for delle combobox ho provato a fargli leggere quei valori ma non funziona cioe mi rida' tutti i valori non in ordine .

                    Infine dovrei aggiungere altre condizioni per esempio se metto un valore nella textbox1(larghezza) non compreso fra tutti quelli della colonna A devo aggiungere un sovraprezzo del 25% ed anche nella colonna B (lunghezza) se supero una lunghezza di 4mt (400) deve essere aggiunto il 25% .Spero di essere stato chiaro ti prego illuminami

                    Allegati:
                    You must be logged in to view attached files.
                    #27772 Risposta

                    GiuseppeMN
                    Partecipante
                      8 pts

                      Buon pomeriggio, @veleno;
                      oggi giornata di Gare di Moto GP e SBK, domani darò uno sguardo al tuo File e ci sentiamo in ogni caso ho fiducia che qualche altro Utente possa esserti d'aiuto più rapidamente.

                      Buon fine settimana.

                      Giuseppe

                      #27774 Risposta

                      Veleno
                      Partecipante

                        siamo in 2 grazie

                        #27775 Risposta

                        Veleno
                        Partecipante

                          Ho aggiunto 2 combobox con riferimento alle righe 22 27 commentando quelle di prima ma non funziona
                          Private Sub ComboBox3_Change()
                          Dim i As Integer
                          For i = 22 To 27
                          TextBox1.Text = Val(ComboBox1.Value)
                          ComboBox1.AddItem Cells(i, 1)
                          Next i
                          End Sub

                          Private Sub ComboBox4_Change()
                          Dim a As Integer
                          For a = 22 To 29
                          TextBox2.Text = Val(ComboBox2.Value)
                          ComboBox2.AddItem Cells(a, 2)
                          Next a
                          End Sub

                          #27781 Risposta

                          GiuseppeMN
                          Partecipante
                            8 pts

                            Buon pomeriggio, @veleno;
                            sono piuttosto perplesso sull'impostazione della tua struttuta, ma con le Mail diventa laborioso arrivare ad una possibile soluzone.

                            Credo che sarebbe molto più produttiva una chiacchierata in Skype con l'impegno formale di condividere in Forum eventuali sviluppi.

                            Se lo ritieni utile e opportuno mandami il tuo NickName in Skype.

                             

                            Buon fine settimana.

                            Giuseppe

                            #27785 Risposta

                            GiuseppeMN
                            Partecipante
                              8 pts

                              Buona giornata, @veleno;
                              ti anticipo quali sono le mie perplessità.

                              Nel File in allegato:
                              - ho dovuto ridefinire i ComboBox1 e ComboBox2
                              - ho previsto un allert nel caso in cui ComboBox non sia valorizzato
                              - ho inserito un avvertimento, + 25%, nel caso in cui il valore ComboBox sia fuori range
                              - non sono intervenuto sul calcolo dell'extra costo in quanto non so come gestire un fuori range sia della lunghezza che della larghezza

                               

                              Buon Lavoro.

                              Giuseppe

                              Allegati:
                              You must be logged in to view attached files.
                              #27822 Risposta

                              Veleno
                              Partecipante

                                Buonasera Giuseppe sono riuscito a vedere il lavoro fatto.Beato che che mastichi sta cosa . La combo box e' una cosa pratica ma quando si hanno misure che vanno al di fuori di quelle elencate quindi l'operatore  va sulla text e scrive per esempio 80 cm in larghezza (che non e' riportato nella lista ) automaticamente al prezzo 77.81 va aggiunto il 25%,

                                altresi' modo qualora il cliente lo volesse lungo 450 cm(textbox2) e' semore considerato un fuori misura va aggiunto il 25%.

                                Comunque per video conferenze sarei propenso pure perche cerco un insegnante di vba copiando ed incollando misa che non vado da nessuna parte fammi sapere per il disturbo grazie

                                #27827 Risposta

                                GiuseppeMN
                                Partecipante
                                  8 pts

                                  Buon pomeriggio, @veleno;
                                  nessun disturbo, ti ho proposto una chiacchierata in Skype in quanto ci sono diverse cose che credo vadano riviste.
                                  Prova ad immaginare un Cliente che compila un nuovo Ordine, potrebbe tranquillamente modificare le tabelle relative alle dimensioni.
                                  Le Tabelle vanno inserite in un Foglio di lavoro protetto da password e nascosto con protezione.
                                  Inoltre rimango fermamente convinto che una maschera di inserimento Dati sarebbe molto più professionale.
                                  Un discorso è un Cliente che deve compilare un prospetto altra cosa se ha un UserForm che, oltre a presentarsi in modo più accattivante è personalizzato da Dati relativi al Cliente stesso.

                                  Se desideri un contatto in Skype fammi sapere tempi e modi a te più favorevoli; in questo caso mi serve, magari privatamente, il tuo Nickname di Skype.

                                  Per quanto concerne:

                                  ... cerco un insegnante di vba ...

                                  sono un autodidatta ma non ho problemi a condividere quel poco che conosco.

                                   

                                  Buon Lavoro.

                                  Giuseppe

                                  #27830 Risposta

                                  Veleno
                                  Partecipante

                                    Ma sono in paradiso o cosa? Imparare vba mi da un valore aggiunto non solo per il mio lavoro ma per tutto ,excel e access hanno un profumo diverso col vba ti invio il mio link di skype quando puoi ne saro lieto.Grazie

                                    https://join.skype.com/invite/jTYsACIyso0C

                                    #27832 Risposta

                                    Veleno
                                    Partecipante

                                      Comunque e' vero perche' imparo da autoditatta pure io compro corsi su udemy e non ci capisco nulla causa pure troppi impegni. Ma mi rendo conto che ne ho veramente bisogno. Il configuratore ora e' cosi ma presto userà tutti gli accorgimenti di cui mi hai parlato .Il tempo di imparare a mettere le mani sulla tastiera.

                                      Aspetto tue notizie 

                                      #27833 Risposta

                                      Veleno
                                      Partecipante

                                        paoliniroberto

                                        #27834 Risposta

                                        GiuseppeMN
                                        Partecipante
                                          8 pts

                                          Buona serata, @veleno;
                                          purtroppo VBA EXCEL è piuttosto diverso dal VBA ACCESS.

                                          In Skype trovo tre account:
                                          1) Roberto Paolini - paoliniroberto - Colleferro
                                          2) paoliniroberto - galatea34 - forli, italy
                                          3) paoliniroberto - galatea34 - forli, italy

                                          Skype

                                          Qual'è il tuo 1, 2 o 3.

                                           

                                          Buona serata.

                                          Giuseppe

                                          #27846 Risposta

                                          Veleno
                                          Partecipante

                                            Buonasera Giuseppe Tornato ora io sono quello d'avanti al missile 

                                            #27847 Risposta

                                            GiuseppeMN
                                            Partecipante
                                              8 pts

                                              Buona sera, @veleno;
                                              provo a contattarti e, come sempre, rimane l'impegno di condividere in Forum eventuali sviluppi.

                                              Buona serata e buon fine settimana.
                                              Giuseppe

                                              #27851 Risposta

                                              Veleno
                                              Partecipante

                                                buongiorno Giuseppe ho visto che hai provato a chiamarmi stasera e domani rientro alle 22 dal lavoro non mi pare il caso lunedi e martedi sono di riposo quindi se per te va bene dalle 20 in poi ci proviamo a conoscerci 

                                                #27852 Risposta

                                                GiuseppeMN
                                                Partecipante
                                                  8 pts

                                                  OK.

                                                  Buon fine settimana.

                                                  Giuseppe

                                                  #27853 Risposta

                                                  Veleno
                                                  Partecipante

                                                    Private Sub ComboBox1_GotFocus()
                                                    Cells(2, 6).Value = ""
                                                    TextBox1.Value = ""
                                                    End Sub
                                                    Private Sub ComboBox1_LostFocus()
                                                    Dim x As Double
                                                    If ComboBox1.Value = "" Then
                                                    MsgBox "Manca la misura della lunghezza"
                                                    End
                                                    End If
                                                    TextBox1.ForeColor = &H80000008
                                                    For x = 22 To 27
                                                    If Cells(x, 1) = Val(ComboBox1.Value) Then
                                                    TextBox1.Value = Val(ComboBox1.Value)
                                                    Exit For
                                                    End If
                                                    Next x
                                                    If TextBox1 = "" Then
                                                    TextBox1.ForeColor = &HFF&
                                                    TextBox1.Value = Val(ComboBox1.Value)
                                                    Cells(2, 6).Value = 0.25
                                                    End If
                                                    Call Calcola_area
                                                    End Sub

                                                    Private Sub ComboBox2_GotFocus()
                                                    Cells(7, 6).Value = ""
                                                    TextBox2.Value = ""
                                                    End Sub
                                                    Private Sub ComboBox2_LostFocus()
                                                    Dim x As Double
                                                    If ComboBox2.Value = "" Then
                                                    MsgBox "Manca la misura della larghezza"
                                                    End
                                                    End If
                                                    TextBox2.ForeColor = &H80000008
                                                    For x = 22 To 29
                                                    If Cells(x, 2) = Val(ComboBox2.Value) Then
                                                    TextBox2.Value = Val(ComboBox2.Value)
                                                    Exit For
                                                    End If
                                                    Next x
                                                    If TextBox2 = "" Then
                                                    TextBox2.ForeColor = &HFF&
                                                    TextBox2.Value = Val(ComboBox2.Value)
                                                    Cells(7, 6).Value = 0.25
                                                    End If
                                                    Call Calcola_area
                                                    End Sub

                                                    Sub Calcola_area()
                                                    If TextBox1.Value <> "" And TextBox2.Value <> "" Then TextBox3 = TextBox1.Value * TextBox2.Value
                                                    TextBox3 = Format(TextBox3, "#,##")
                                                    End Sub

                                                    ecco qua non ho capito quasi nulla aiuto 

                                                    #27856 Risposta

                                                    GiuseppeMN
                                                    Partecipante
                                                      8 pts

                                                      Buona giornata, @veleno;
                                                      cerco di spiegare con ordine:

                                                      Private Sub ComboBox1_GotFocus()
                                                      Cells(2, 6).Value = ""
                                                      TextBox1.Value = ""
                                                      End Sub

                                                      GotFocus è l'evento che attiva le istruzioni:
                                                      Cells(2, 6).Value = "" a ben vedere sarebbe più logico Cells(2, 6).ClearContents
                                                      TextBox1.Value = ""
                                                      quando ComboBox1 viene attivato.
                                                      In Cella(2,6) e Cella(7,6) pensavo di inserire l'extra costo +0,25% nel caso in cui la dimensione sia fuori standard.

                                                      ComboBox1_LostFocus è l'evento che attiva la sequenza sottostante quando si esce da ComboBox1.

                                                      Le istruzioni:

                                                      Dim x As Double
                                                      If ComboBox1.Value = "" Then
                                                      MsgBox "Manca la misura della lunghezza"
                                                      End
                                                      End If
                                                      TextBox1.ForeColor = &H80000008
                                                      For x = 22 To 27
                                                      If Cells(x, 1) = Val(ComboBox1.Value) Then
                                                      TextBox1.Value = Val(ComboBox1.Value)
                                                      Exit For
                                                      End If
                                                      Next x
                                                      If TextBox1 = "" Then
                                                      TextBox1.ForeColor = &HFF&
                                                      TextBox1.Value = Val(ComboBox1.Value)
                                                      Cells(2, 6).Value = 0.25
                                                      End If
                                                      Call Calcola_area
                                                      End Sub

                                                      Esegue una serie di controlli sul Valore inserito in ComboBox1; nel caso di una dimensione fuori standard il Valore sarà evidenziato in "Rosso"

                                                      Analogamente per ComboBox2

                                                      Il Codice VBA Calcola_area esegue un controllo su ComboBox1.value e ComboBox2.value se untrambi i ComboBox sono valorizzati esgue il calcolo dell'area.

                                                      Non voglio dilungarmi oltre in quanto in Skype ti proporrò di sostituire TextBox1 e TextBox2 con ComboBox1 e ComboBox2 ma sarai tu a decidere; come anticipato precedentemente ogni sviluppo in Skype sarà condiviso in Forum.

                                                       

                                                      Buon fine settimana.

                                                      Giuseppe

                                                       

                                                       

                                                    LoginRegistrati
                                                    Stai vedendo 25 articoli - dal 1 a 25 (di 27 totali)
                                                    Rispondi a: calcoli tra valori in textbox
                                                    Gli allegati sono permessi solo ad utenti REGISTRATI
                                                    Le tue informazioni:



                                                    vecchio frac - 2750 risposte

                                                    albatros54
                                                    albatros54 - 1009 risposte

                                                    patel
                                                    patel - 957 risposte

                                                    Marius44
                                                    Marius44 - 825 risposte

                                                    Luca73
                                                    Luca73 - 700 risposte