selezionare dati tramite combobox



  • selezionare dati tramite combobox
    di Roby (utente non iscritto) data: 10/04/2014 14:33:03

    buongiorno, in un form con la selezione tramite tre combobox dovrei estrapolare il numero corrispondente che si trova in due tabelle sul foglio.
    Sono riuscito soltanto selezionando il primo dato di ogni tabella, non riesco però selezionando gli altri elementi delle tre combobox.
    allego il file di esempio.
    grazie anticipatamente per eventuali suggerimenti
     
    Private Sub UserForm_Activate()
    UserForm2.ComboBox1.RowSource = "MESI"
    UserForm2.ComboBox2.RowSource = "GIORNI"
    UserForm2.ComboBox3.RowSource = "NOMI"
    End Sub
    
    Private Sub TextBox1_Change()
    TextBox2.Text = ""
    If TextBox1.Value = True And UserForm2.ComboBox1.Text = "GENNAIO" And UserForm2.ComboBox2.Text = "1" And UserForm2.ComboBox3.Text = "MARIO" Then
        TextBox2.Text = TextBox1.Value * Cells(2, 2)
    End If
    
    'TextBox2.Text = ""
    'If TextBox1.Value = True And UserForm2.ComboBox1.Text = "GENNAIO" And UserForm2.ComboBox2.Text = "2" And UserForm2.ComboBox3.Text = "MARIO" Then
    '    TextBox2.Text = TextBox1.Value * Cells(3, 2)
    'End If
        
    End Sub
    
    



  • di Roby (utente non iscritto) data: 10/04/2014 22:20:01

    il numero estrapolato verrà poi moltiplicato per un numero digitato in una textbox sul form con il risultato visibile in un altra textbox, ma questo è di semplice fattibilità.



  • di Roby (utente non iscritto) data: 11/04/2014 13:02:58

    Buongiorno, cerco di spiegarmi meglio: ammettiamo di aver due tabelle sul foglio così composte:
    GENNAIO MARIO PAOLO PIETRO
    1 10 15 20
    2 30 38 47
    3 50 27 38

    FEBBRAIO MARIO PAOLO PIETRO
    1 60 70 80
    2 90 95 100
    3 105 110 120

    vorrei ottenere nel form una cosa del genere digitando un numero nella textbox "moltiplicatore"

    MESI GIORNO NOME MOLTIPLICATORE RISULTATO
    gennaio 1 mario 1 10

    quindi:

    febbraio 2 paolo 2 190
    nel file riportato si verifica solo scegliendo il primo dato per ogni combobox, ma selezionando le altre opzioni ho provato in vari modi ma mi da errore,
    sigh..........



  • di totygno71 (utente non iscritto) data: 11/04/2014 13:30:59

    Vorrei aiutarti ma non capisco proprio cosa vuoi ottenere.



  • di Roby (utente non iscritto) data: 11/04/2014 14:25:33

    Ciao totygno71, , in pratica selezionando dei dati da tre combobox dovrei ricavare il valore corrispondente alle tabelle che sono presenti nel foglio.
    Se apri il file di esempio forse si capisce meglio.



  • di Raffaele_53 (utente non iscritto) data: 11/04/2014 15:40:46

    Per sicurezza taglia le celle in F1:H3 e incollale in sheet2.
    Dopo inserisci questo codice
     
    Private Sub TextBox1_Change()
    TextBox2.Text = ""
    If ComboBox1 <> "" And ComboBox2 <> "" And ComboBox3 <> "" Then
    Dim Uriga1 As Long,  R As Long, C As Long, X As Long, Riga As Object, Col As Object
    Uriga = Range("A" & Rows.Count).End(xlUp).Row
    C = Rows("1:1" & Columns.Count).End(xlToRight).Column
    Set Col = Range(Cells(1, 1), Cells(1, C)).Find(ComboBox3.Text, LookIn:=xlValues, LookAt:=xlWhole)
    If Not Col Is Nothing Then
        C = Col.Column 'Row
    End If
    Set Riga = Range(Cells(1, 1), Cells(Uriga, 1)).Find(ComboBox1.Text, LookIn:=xlValues, LookAt:=xlWhole)
    If Not Riga Is Nothing Then
        R = Riga.Row
        For X = X + 1 To X + 30
        If Cells(R + X, 1) <> "" Then
            If Cells(R + X, 1) = ComboBox2.Text Then
                R = R + X
                Exit For
            End If
        End If
        Next X
    End If
    If TextBox1.Value = True Then
        TextBox2.Text = TextBox1.Value * Cells(R, C)
    End If
    End If
    End Sub



  • di Roby (utente non iscritto) data: 11/04/2014 15:59:16

    innanzitutto grazie per la risposta..............adesso provo poi ti saprò dire.....



  • di Roby (utente non iscritto) data: 11/04/2014 16:04:09

    ho fatto come mi hai detto, ma non mi carica le combobox, sigh



  • di Raffaele_53 (utente non iscritto) data: 11/04/2014 19:06:08

    Ok, però Private Sub UserForm_Activate() doveva rimanere
    Ho scritto solo la seconda



  • di Roby (utente non iscritto) data: 11/04/2014 20:50:13

    ok grazie, scusa ma sono alle prime armi.



  • di Roby (utente non iscritto) data: 11/04/2014 20:58:42

    appena avrò tempo lo testerò ma sono convintissimo che funzionerà, grazie ancora , complimenti x la competenza.



  • di Roby (utente non iscritto) data: 16/04/2014 15:32:32

    Innanzitutto grazie a Raffaele_53, che con i suoi consigli sono riuscito ad andare avanti un pò nel programma, ora però con varie modifiche i dati nor risultano corrispondeti alle scelte che si fanno tramite le combobox.
    Sono graditi suggerimenti.
    Allego il file aggiornato di esempio.



  • di Roby (utente non iscritto) data: 16/04/2014 15:45:39

    Più precisamente i dati della seconda e della terza combobox variano in base alle schelte della prima combobox e di conseguenza anche i dati, ma il programma estrapola i dati in modo erroneo cosa che prima della modifica non faceva.