Colonna nomi



  • Colonna nomi
    di Paolo (utente non iscritto) data: 17/09/2017 18:21:50

    Ciao a tutti!
    Ho un piccolo problema, ho un file excel dove nella colonna b ho dei cognomi e vorrei in base ai cognomi inserire dei numeri:

    Ad esmpio:
    -se ho nella colonna "b" il nome "verdi" nella colonna "p" inserisci il numero "50". Se ho nella colonna "b" il nome "rossi" nella colonna "p" inserisci il numero "67". se ho nella colonna "b" il nome "colucci" nella colonna "p" inserisci il numero "25".

    È possibile creare una macro per velocizzare il processo visto che ci sono tanti dati.

    Grazie per l'aiuto.



  • di alfrimpa data: 17/09/2017 21:15:42

    Paolo devi allegare un file di esempio con tutte le casistiche possibili: cognomi e relativi numerinda inserire in colonna P.

    I cognomi sono solo 3?

    Alfredo





  • di paolo (utente non iscritto) data: 18/09/2017 19:20:36

    Grazie per avermi risposto,
    ho tanti nomi, mi servirebbe solo una macro dove mi indica che se nella colonna B ho determinati nomi (verdi, rossi, colucci) vorrei che nella colonna p deve impostare i dati indicati (50, 67, 25), mentre gli altri che non corrispondono deve impostare 2.

    i nomi si ripetono più volte.

    spero di essere stato più chiaro possibile.

    Grazie



  • di ges data: 18/09/2017 22:17:02

    Ciao,
    un saluto a Alfredo.

    Potresti usare questo codice: 
     
    Sub Inserisci_numeri()
    Dim cel As Range
        For Each cel In Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row)
            If LCase(cel) = "verdi" Then
                cel.Offset(0, 14) = 50
            ElseIf LCase(cel) = "rossi" Then
                cel.Offset(0, 14) = 67
            ElseIf LCase(cel) = "colucci" Then
                cel.Offset(0, 14) = 25
            Else
                cel.Offset(0, 14) = 2
            End If
        Next
    End Sub



  • di alfrimpa data: 18/09/2017 22:39:13

    Elementare Watson

    Un caro saluto Ges

    Alfredo





  • di Poalo (utente non iscritto) data: 20/09/2017 16:33:38

    Salve a tutti,
    ho provato la macro, ma ha messo tutti "2" senza tener conto dei nomi.

    Grazie ancora per l'aiuto.



  • di alfrimpa data: 20/09/2017 18:27:55

    Allora bisogna vedere il tuo file

    Alfredo





  • di Paolo (utente non iscritto) data: 21/09/2017 20:27:44

    Grazie a tutti per la risposta, la macro funziona benissimo però mi sono accorto di un limite sulle maiuscole. Se nella macro inserisco delle lettere maiuscole come "Albero" invece di "rossi" mi da sempre un errore e mi riporta il risultato 2. Come mai? potreste aiutarmi a risolvere quest'ultimo problema? Grazie in anticipo



  • di Vecchio Frac data: 21/09/2017 20:36:01

    Ma non è un "limite delle maiuscole".
    Il test in quel codice si fa solo e soltanto sui valori indicati senza che le maiuscole influenzino il risultato.
    La funzione LCase() serve proprio a garantire un confronto corretto, ignorando maiuscole/minuscole. (Si potrebbe anche utilizzare Like in questo contesto, e io preferirei anche un Select Case, ma pazienza, non sottilizziamo).
    Se tu fai un test così: if LCase(cella) = "Albero" Then ... , la condizione non sarà mai vera, perchè LCase converte in minuscolo, l'If cerca un'uguaglianza con del testo che contiene una maiuscola, e il confronto fallisce.