Condividi:        

Ricerca stringa

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Ricerca stringa

Postdi astrigno » 26/10/11 15:53

Salve a tutti. Ho un elenco molto lungo di dipendenti formato da sole 5 colonne: Col A Società- B Matricola - C Cognome -D Nome - E Centro di Costo.
Devo spesso ricercare un cognome per sapere a quale società e CDC appartiene. Fino ad oggi ho sempre operato con i filtri ovvero con il comando trova.
Vi chiedevo se è fattibile poter scrivere il cognome da ricercare su una cella ed avere nella cella adiacente il relativo CDC.
Es. Scrivo Berlusconi in E1 e il comando mi restituisce Mediaset in F1 e Direzione in G1.
Grazie
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Sponsor
 

Re: Ricerca stringa

Postdi astrigno » 26/10/11 15:54

Ovviamente scrivo in F1 e ho le risposte in G1 e H1
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Re: Ricerca stringa

Postdi Flash30005 » 26/10/11 17:31

Selezioni la cella F1
Poi vai sul Menu Dati -> Convalida...
inserisci in Consenti "Elenco" (già disponibile nel combox)
In Origine inserirai questa formula
Codice: Seleziona tutto
=$C$1:$C$1000
(adatta 1000 alla tua esigenza)

Inserisci, nel Vba del foglio dati (non modulo), questo codice
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
CheckArea = "F1:F1"
If Not Application.Intersect(ActiveCell, Range(CheckArea)) Is Nothing Then
    If (Selection.Rows.Count + Selection.Columns.Count) > 2 Then Exit Sub
        Application.ScreenUpdating = False
        Application.Calculation = xlManual
RArt = Target.Row
ArtV = Target.Value
    If ArtV <> 0 Then
        UR = Range("A" & Rows.Count).End(xlUp).Row
    For R = 1 To UR
        If ArtV = Mid(Range("C" & R).Value, 1, Len(ArtV)) Then
            Target.Value = Range("C" & R).Value
            Range("G1").Value = Cells(R, 1).Value
            Range("H1").Value = Cells(R, 5).Value
            GoTo esci
        End If
    Next R
esci:
End If
End If

Application.EnableEvents = True
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic

End Sub


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Ricerca stringa

Postdi astrigno » 27/10/11 07:51

Oggi la provo, grazie.
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Re: Ricerca stringa

Postdi astrigno » 27/10/11 08:22

astrigno ha scritto:Oggi la provo, grazie.


Ok perfetto.
Approfitto però ancora della tua competenza .....e pazienza perchè ho un altro quesito relativo sempre allo stesso elenco.
Come detto in questo elenco ho il nome in una colonna e il cognome in un'altra. Devo aggiungere ad ogni riga (dipendente) di questo elenco un'informazione contenuta in un elenco di un altro collega dove però nome e cognome sono in un'unica colonna separati da uno spazio. Il CERCA VERT ovviamente non funziona, cosa posso fare?
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Re: Ricerca stringa

Postdi Flash30005 » 27/10/11 10:12

Il cerca verticale lo puoi "comporre"
Il tuo cognome è in colonna C e nome in colonna D
Supponenedo che il secondo elenco abbia il cognome e nome in M e il dato da ricercare in N (stesso foglio)

Puoi usare questa formula
Codice: Seleziona tutto
=CERCA.VERT(C2&" "&D2;M2:N13;2;FALSO)


Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Ricerca stringa

Postdi astrigno » 27/10/11 11:45

Scusami ma ti ho dato una info errata, devo fare il contrario. Cioè sul file del mio collega, (quello che ha nome e cognome nella stessa cella), devo fare il CERCA VERT sul mio file (quello che ha nome e cognome su due colonne).
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Re: Ricerca stringa

Postdi Flash30005 » 27/10/11 13:50

Soluzioni:
1) Creati una colonna di appoggio anche nascosta
dove concateni i tuoi due dati
2) nella tua colonna D dove hai il nome puoi incollare (solo valori) della colonna Nascosta al punto 1 e fare il cerca verticale su questa colonna
3) separi il cognome e nome dell'altro elenco con la funzione testo in colonne (separatore "spazio")

Altrimenti bisogna realizzare una macro che effettua la ricerca di quanto sopra e fornisca l'output del dato che ricerchi
ma bisogna avere più dettagli:
1) posizione dati Elenco1
2) posizione Elenco confronto
3) dato da copiare (posizione)
4) destinazione dato copiato

Insomma se invii il file è meglio

ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Ricerca stringa

Postdi astrigno » 27/10/11 15:45

Non mi pare il caso di farti lavorare ancora le soluzioni fornite mi sembrano già soddisfacente.
Grazie
astrigno
Utente Senior
 
Post: 121
Iscritto il: 17/05/11 10:01
Località: genova

Re: Ricerca stringa

Postdi maxmula » 27/10/11 19:09

Non per fare l'avvocato del diavolo, però se la stessa operazione viene farts su due pc diversi potrebbe aver senso "far convergere" i due database, o se non altro usare lo stesso formato dei campi... Potendolo fare, ovviamente. Poi, si sa, tra il dire e il fare c'è di mezzo " e il " :).
Avatar utente
maxmula
Utente Senior
 
Post: 965
Iscritto il: 18/08/04 18:28
Località: N44°59'45 E09°00'34


Torna a Applicazioni Office Windows


Topic correlati a "Ricerca stringa":


Chi c’è in linea

Visitano il forum: Nessuno e 58 ospiti