Risultati da 1 a 11 di 11

Discussione: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.



  1. #1
    L'avatar di Snoopy
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Longare
    Messaggi
    14
    Versione Office
    OFFICE 2010
    Likes ricevuti
    0
    Likes dati
    0

    Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.


    BUONGIORNO

    chiedo un cortese aiuto per la soluzione di questo problema .
    Io non riesco a procedere dopo il punto 1.
    Ringrazio sin d'ora chi mi darà un aiuto.
    ------

    Ho una UserForm nella quale immetto due indici limite L1ed L2 attraverso due TextBox.


    Devo porre, in automatico, una variabile

    1: K= 1 (sarà 1 al primo ciclo)

    2: e visualizzarla sulla userformper tenere sottocontrollo il ciclo di immissione dei dati.

    3: Ora devo immettere una secondavariabile J che sarà correlata a K, ovvero immetterò tramite textbox il valoredi J(k)che sarà un numero intero>=2 (presumibilmente < 10)

    4: Quindi per ogni valore assunto da i = j(k)devo eseguire attraverso varie TextBox il seguente input:

    5: for i= 1 toj(k)
    Input A(i), B(i). C(i), D(i), E(i)tutte variabili in singola precisione
    InputStringa(i) variabile stringa selezionandolada una casella combinata di 5 parametri.
    Next i

    Devo ora sommare i variJ(k1), j(k2) …. J(kn)

    E confrontare la somma con il valore limite L2
    Se la somma è minore di L2 e K < di L1 , allora K= k+1 e si riparte dalpunto 2

    Dovrei in tal modo ottenere una matrice di valori di L2 righe per 6 colonneda memorizzare in un foglio excel per essere successivamente utilizzata per ilcalcolo.






  2. #2
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1108
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    in generale è meglio allegare un file di esempio per poter fare test, quando ci sono userform è proprio necessario.

  3. #3
    L'avatar di Snoopy
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Longare
    Messaggi
    14
    Versione Office
    OFFICE 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    Allego quello che sono riuscito a fare anche se non come l'avevo pensato.
    I problemi nel file:
    Non riesco a mettere nel foglio 1 la variabile CoeffC che pure visualizzo in MsgBox
    Non sono riuscito a realizzare il ciclo for next per l'input delle variabili. Quindi la UserForm2 s incarica ogni volta di farmi inputare a mano VAR A e VAR B

    Grazie
    File Allegati File Allegati

  4. #4

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2808
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    Citazione Originariamente Scritto da Snoopy Visualizza Messaggio
    Allego quello che sono riuscito a fare anche se non come l'avevo pensato.
    I problemi nel file:
    Non riesco a mettere nel foglio 1 la variabile CoeffC che pure visualizzo in MsgBox
    [...]
    Devi dichiarare a livello modulo:
    Codice: 
    Dim CoeffC As Long
    Dim MsgTxt2 As String
    Citazione Originariamente Scritto da Snoopy Visualizza Messaggio
    [...]
    Non sono riuscito a realizzare il ciclo for next per l'input delle variabili. Quindi la UserForm2 s incarica ogni volta di farmi inputare a mano VAR A e VAR B

    Grazie
    Non capisco la domanda

  5. #5
    L'avatar di patel
    Clicca e Apri
    Data Registrazione
    Mar 2016
    Località
    Livorno
    Età
    72
    Messaggi
    1108
    Versione Office
    2010
    Likes ricevuti
    143
    Likes dati
    1

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    anche io non capisco a cosa serva un ciclo for next se utilizzi una userform col pulsante NEXT.
    Basta che tu tenga il conto di quante volte premi NEXT e quando raggiungi il numero voluto chiudi la userform.

    NB
    dichiarare a livello modulo significa dichiarare le variabili PRIMA di tutte le sub ed ovviamente non dichiararle all'interno delle sub

  6. #6
    L'avatar di Snoopy
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Longare
    Messaggi
    14
    Versione Office
    OFFICE 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    il tasto next è stato inserito solo perché non sono riuscito a creare il ciclo for.. next.
    Il fatto di tener conto di inserire 250 volte 4 valori, forse non è il metodo migiiore.
    Poi comunque anche dichiarando le variabili a livello modulo non riporta sul foglio CoeffC.
    Grazie comunque

  7. #7

    L'avatar di Rubik72
    Clicca e Apri
    Data Registrazione
    Dec 2015
    Località
    Cosenza
    Età
    45
    Messaggi
    2808
    Versione Office
    Excel 2013
    Likes ricevuti
    1020
    Likes dati
    979

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    Citazione Originariamente Scritto da Snoopy Visualizza Messaggio
    il tasto next è stato inserito solo perché non sono riuscito a creare il ciclo for.. next.
    Il fatto di tener conto di inserire 250 volte 4 valori, forse non è il metodo migiiore.[...]
    Il tasto next adesso non fa altro che chiudere la UserForm e riaprirla. Così com'è non ha molto senso.
    Cosa volevi che facesse?


    Citazione Originariamente Scritto da Snoopy Visualizza Messaggio
    [...]Poi comunque anche dichiarando le variabili a livello modulo non riporta sul foglio CoeffC.
    Grazie comunque
    Devi scriverle in testa al modulo, come suggerito da @patel (che saluto) così:
    Codice: 
    Dim CoeffC As Integer
    Dim MsgTxt2 As String
    
    
    Private Sub CommandButton1_Click() 'NEXT
    
    
    Me.Hide
    
    
    Unload Me
     Set UserForm2 = Nothing
     
     UserForm2.Show
    
    
    End Sub
    
    
    Private Sub Label2_Click()
    
    
    End Sub
    
    
    
    
    Private Sub UserForm_Initialize()
    '
    ComboBox1.AddItem " BIANCO"
    ComboBox1.AddItem " GIALLO"
    ComboBox1.AddItem " ROSSO"
    ComboBox1.AddItem " BLU"
    ComboBox1.AddItem " VERDE"
    ComboBox2.AddItem " PRIMO "
    ComboBox2.AddItem " SECONDO"
    '
    End Sub
    Private Sub TbVARA_Change()
      If TbVARA = "" Or Not (IsNumeric(TbVARA.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire VAR A"  'avvisa con un messaggio
            TbVARA.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
    End Sub
    Private Sub TbVARB_Change()
        If TbVARB = "" Or Not (IsNumeric(TbVARB.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire VAR B  "    'avvisa con un messaggio
            TbVARB.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
      End Sub
    Private Sub ComboBox1_Change()
     MsgTxt1 = ComboBox1.Text
                If MsgTxt1 = " BIANCO" Then
                    CoeffC = 120
                    MsgBox MsgTxt1
                End If
                If MsgTxt1 = " GIALLO" Then
                    CoeffC = 130
                    MsgBox MsgTxt1
                    
                End If
                If MsgTxt1 = " ROSSO" Then
                    CoeffC = 100
                    MsgBox MsgTxt1
                End If
                If MsgTxt1 = " BLU" Then
                    CoeffC = 140
                    MsgBox MsgTxt1
                End If
                If MsgTxt1 = " VERDE" Then
                    CoeffC = 150
                    MsgBox MsgTxt1
                End If
     'controllo da eliminare
            MsgBox "coeff. C " & CoeffC
    End Sub
    Private Sub ComboBox2_Change()
     MsgTxt2 = ComboBox2.Text
                If MsgTxt2 = " PRIMO" Then
                    MsgBox MsgTxt2
                End If
                If MsgTxt2 = " SECONDO" Then
                    MsgBox MsgTxt2
                End If
                'controllo da eliminare
            MsgBox MsgTxt2
            MsgBox ComboBox2.Text
    End Sub
    Private Sub TbVARC_Change()
        If TbVARC = "" Or Not (IsNumeric(TbVARC.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire VAR C "  'avvisa con un messaggio
            TbVARC.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
    End Sub
    Private Sub TbVARD_Change()
    If TbVARD = "" Or Not (IsNumeric(TbVARD.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire Lunghezza  "    'avvisa con un messaggio
            TbVARD.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
    End Sub
    Private Sub TbVARE_Change()
     If TbVARE = "" Or Not (IsNumeric(TbVARE.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire VAR E  "    'avvisa con un messaggio
            TbVARE.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
    End Sub
    Private Sub TbVARM_Change()
    MsgTxt2 = ComboBox2.Text
        If MsgTxt2 = " PRIMO" Then
            TbVARM.Visible = False
            Label8.visibile = False
        Else
            TbVARM.Visible = True
            Label8.visibile = True
        If TbVARM = Not (IsNumeric(TbVARM.Text)) Then     'controlla che il textbox non sia vuoto e che sia numerico, se è vuoto allora
            MsgBox "Inserire VAR M"  'avvisa con un messaggio
            TbVARM.SetFocus   'posiziona il focus sul textbox
        Exit Sub     'ed esce dalla routine senza completare il resto delle istruz.
        End If
        End If
    End Sub
    Private Sub Cmd2REGISTRA_Click()
    'cerca riga vuota in Foglio 1, colonna a
        UltimaRigaX = Sheets("Foglio1").Range("A65000").End(xlUp).Row
        'MsgBox ("ultima riga") & UltimaRigaX
        
        R = UltimaRigaX + 1
        
        Cells(R, 1) = TbVARA.Text
        Cells(R, 2) = TbVARB.Text
        Cells(R, 3) = TbVARC.Text
        Cells(R, 4) = TbVARD.Text
        Cells(R, 5) = TbVARE.Text
        Cells(R, 6) = TbVARM.Text
        Cells(R, 7) = CoeffC
        Cells(R, 8) = MsgTxt2
        
        
        
      End Sub

  8. #8
    L'avatar di Snoopy
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Longare
    Messaggi
    14
    Versione Office
    OFFICE 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    Vorrei lasciare per il momento da parte la label calcolata e affrontare il problema degli input multipli.
    Per spiegarmi allego un file word con indicatoquello che vorrei ottenere oltre al mio file che però non funziona.
    Ringrazio per i suggerimenti.
    File Allegati File Allegati

  9. #9
    L'avatar di dracoscrigno
    Clicca e Apri
    Data Registrazione
    May 2016
    Località
    ferrara
    Età
    41
    Messaggi
    2074
    Versione Office
    office pro 2010
    Likes ricevuti
    440
    Likes dati
    241

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    snoopy.
    la userform, sei obbligato ad utilizzarla?
    dal file word, sembrerebbe più semplice ed efficace itilizzare una tabella su un foglio o, forse ancora meglio, un intabellamento su un foglio.

    su di esso immetti i valori e su di esso li calcoli.
    al massimo, la userform la utilizzi come maschera per visualizzarli e, magari pure immetterli.

    l intabellamento potresti costruirlo in modo che nel primo campo c'è il risultato della formula che lega i successivi campi dello stesso tecord.
    esempio:
    A1=Somma(A1:Z1)
    B1=SOmma(B1:Z1)
    ...
    e così via.

    andresti ad inserire i tuoi dati ditettamente sul foglio, il quale, diventerebbe autosufficiente e solo in un secondo tempo, potresti implementare una userform per visualizzare quello che mostra ogni campo di ogni record, magari anche con una provedura di immissione dati.

  10. #10
    L'avatar di Snoopy
    Clicca e Apri
    Data Registrazione
    Jun 2016
    Località
    Longare
    Messaggi
    14
    Versione Office
    OFFICE 2010
    Likes ricevuti
    0
    Likes dati
    0

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    va bene. quello che suggerisci mi sembra possa andare bene ma non so da dove cominciare
    puoi darmi una dritta?

    ----------Post unito in automatico----------


    Scusa ho detto una cazzata. La tabella di input mi serve per eseguire ulteriori calcoli su ogni ogni record e poi costruire un sistema di equazioni.

  11. #11
    L'avatar di tanimon
    Clicca e Apri
    Data Registrazione
    Oct 2015
    Località
    _
    Messaggi
    258
    Versione Office
    Excel 2007
    Likes ricevuti
    36
    Likes dati
    4

    Re: Visuaizzare label calcolata - Input multiplo con cicli for next in una userform.

    ciao,
    premesso che non ho visionato il file, ma ho solo letto velocemente il thread,
    mi sembra che, al di là di eventuali suggerimenti sulla stesura del codice,
    sia meglio, prima, spezzettare il problema che mi sembra non complicato ma almeno complesso.

    Fai un minimo di analisi, determina le priorità di calcolo, e risolvile a cascata una alla volta.

    Fare tutto in unica soluzione, quello che SOLO TU hai in mente di realizzare,
    considerando i possibili passaggi non espressamente previsti e/o da te comunicati,
    aumenta solamente il rischio di possibili incompresioni con conseguente perdita di tempo per tutti,

    e soprattutto per te.

    Il tempo impiegato a pianificare, darà una valenza maggiore a quello che impiegherai successivamente.

    Ciao
    Frank
    Excel 2007 win7 - Ogni Progetto è composto da Micro Progetti: PRIMA risolvi quelli, e PRIMA raggiungi il completamento del Progetto!
    Domanda: "Come avranno fatto gli utilizzatori di Excel VBA, quando non esisteva il registratore di macro?"

Discussioni Simili

  1. [Risolto] Ricerca obiettivo multiplo
    Di pippootty nel forum Domande su Excel in generale
    Risposte: 2
    Ultimo Messaggio: 26/10/16, 12:32
  2. [UserForm] Problemi con cicli For
    Di mirko.esposito nel forum Domande su Excel VBA e MACRO
    Risposte: 8
    Ultimo Messaggio: 23/10/16, 20:26
  3. Correzione automatica di una formula incoerente per la colonna calcolata
    Di AndreaFr nel forum Domande su Excel in generale
    Risposte: 7
    Ultimo Messaggio: 09/08/16, 16:52
  4. Ottenere al centro della Label o TextBox un testo o un numero
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 3
    Ultimo Messaggio: 11/06/16, 19:40
  5. Excel 2010 dal calendario inserire la data su TextBox o Label.
    Di Pacifico437 nel forum Domande su Excel VBA e MACRO
    Risposte: 15
    Ultimo Messaggio: 07/01/16, 18:51

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •