selezione celle



  • selezione celle
    di adriprivate data: 11/04/2013 15:59:51

    selezione celle di soul13 (utente non iscritto) data: 11/04/2013 15:33:57

    Ciao a tutti.. Un piccolo aiutino a chi si sta esaurendo cercando di ricordare nozioni di secoli fa?!?!
    Ho la seguente tabella in excel che indica i paesi con le zone di riferimento (DA COLONNA A A COLONNA B),mentre dalla F ALLA P ci sono i pesi con i costi relativi alle varie zone:
    A B C D E F G H I L M N O P
    1 ZONE EXP STD FEDEX DHL PESO 2 3 4 5 6 7 A
    2 ITALIA 2 3 5 7 0.5 20.5 25 12 14 16 16 17
    3 FRANCIA 6 6 2 4 1 40.5 25 23 16 18 16 16 15
    4 GERMAN 2 4 A 6 1.5 10 8 26 35 14 18 19 20
    5 USA 4 1 B 9 2 25 24 60 68 45 85 12 13

    Ho caricato in due combo box i pesi e le zone, quando seleziono un paese dalla combo in delle label mi compaiono le zone di di riferimento per ogni vettore:
    EXP 2
    STD 3
    FEDEX A
    DHL 6

    Vorrei che una volta selezionato anche il peso mi compaia in altre label la tariffa corrispondente
    esempio paese italia peso 0.5
    EXP 2 20.5
    STD 3 40.5
    FEDEX A 10
    DHL 6 25

    In poche parole deve andarmi a selezionare il valore con le coordinate riga (corrisponde al peso selezionato), colonna corrisponde alla zona del paese selezionato.

    Spero di essere stato chiaro e grazie anticipatamente per eventuali risposte!!!!












     
    'carico nelle combobox i paesi inseriti lungo la colonna A e i pesi della colonna f
    Private Sub UserForm_Activate()
        Dim peso As Variant
        Dim zona As Variant
        Dim ur As Integer, i As Integer, p As Integer, s As Integer
        
        ur = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
        For i = 2 To ur
            Me.ComboBox1.AddItem (Foglio1.Cells(i, 1))
            zona = ComboBox1.Value
        Next
        
        p = Foglio1.Cells(Rows.Count, 1).End(xlUp).Row
        For s = 2 To p
            Me.ComboBoxpeso.AddItem (Foglio1.Cells(s, 7))
            peso = ComboBoxpeso.Object
        Next
          
    End Sub
    
    'in base al paese selezionato, lo cerco lungo la colonna A
    'e riporto le celle vicine nelle label
    Private Sub ComboBox1_Change()
        Dim r As Integer
        With Me
            zona = Columns(1).Find(.ComboBox1).Row
            .lblExp = Foglio1.Cells(zona, 2)
            .lblStd = Foglio1.Cells(zona, 3)
            .lblexpedited = Foglio1.Cells(zona, 4)
            .lblfedex = Foglio1.Cells(zona, 5)
            .lbldhl = Foglio1.Cells(zona, 6)
        End With
    End Sub
     
    



  • di adriprivate data: 11/04/2013 16:09:24

    In allegato un pezzo di tabella excel per rendere l'idea.......



  • di HarryBosch data: 11/04/2013 18:51:30

    Ciao e benvenuto sul Forum
    questa routine mi ricorda qualcosa...

    secondo me c'è qualcosa che non quadra nella tabella, oppure sono io che non riesco a capire.
    I pesi non dovrebbero stare nella riga orizzontale, ovvero nel range: G1:W1 ?
    Questo perché ogni riga relativa al paese avrà i suoi costi in base al peso inserito nell'intestazione di colonna.

    Quindi, la seconda combo, non dovrebbe caricare i pesi di questa riga?
    Al momento inserisci i pesi lungo la colonna G, ma così facendo non si ottiene nessuna coordinata...




  • di HarryBosch data: 11/04/2013 19:13:40

    Siccome il foglio da cui sei partito l'avevo già...
    ti allego una revisione di come mi sembrerebbe logico agire.

    Anche se ho tralasciato la colonna G di cui mi illustrerai meglio



  • di adriprivate (utente non iscritto) data: 11/04/2013 19:20:29

    forse mi sono spiegato male..
    Il discorso è piu complesso ed io ho riportato solo una parte di dati, in modo tale da ripetere il codice per il resto.
    C'è una tabella con tutti i paesi del mondo, ogni paese è associato ad una zona che varia in base a chi e' lo spedizioniere.
    per esempio in germania il servizio stdUps e zona in 4, quello quello exp ups in zona 2. quello fedex in zona s, quello dhl in zona 1.
    Le altre tabelle hanno in corrispondenza del peso il costo in base alla zona.
    Per esempio se voglio sapere il costo della germania di un pacco di 3 kg con fedex, andro' prima a guardare la zona di riferimento nella prima tabella (s), poi nella tabella delle tariffe fedex andrò a vedere i costi con le coordinate peso zona....




  • di adriprivate (utente non iscritto) data: 11/04/2013 20:05:34

    allego file con tabelle come fatte correttamente...
    I pesi ci sono tutti da 0 a 70 kg.. Mi sa che prima ho scritto una cavolata!
    Grazie della pazienza