Condividi:        

Help per funzione Excel 2003

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

Help per funzione Excel 2003

Postdi libraio » 11/08/13 16:00

Chiedo ancora una volta il vostro aiuto.
Ho un problema che non so risolvere (funzione o macro), cerco di sintetizzarlo con la domanda a cui chiedo il risultato:

In foglio3 di una cartella Excel 2003:
SE il contenuto (numerico) della cella A2 trova corrispondenza in una cella della colonna A del foglio "Biblos", contenuto nella stessa cartella, nella cella G2 del Foglio3 dovrebbe essere importato il numero contenuto nella cella J corrispondente in "Biblos".

Spero di essere stato chiaro...
Un saluto a tutti
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Sponsor
 

Re: Help per funzione Excel 2003

Postdi Flash30005 » 11/08/13 21:36

Credo abbastanza chiaro e questa macro dovrebbe risolvere
Codice: Seleziona tutto
Sub TrovaSE()
    TRN = Application.WorksheetFunction.Match(Worksheets("Foglio1").Range("A2"), Worksheets("Biblos").Range("A1:A100"), 0)
    If TRN > 0 Then Worksheets("Foglio3").Range("G2").Value = Worksheets("Biblos").Range("J" & TRN).Value
End Sub


Se non trova il valore darà errore allora potresti usare questa macro
Codice: Seleziona tutto
Sub TrovaSE()
On Error Resume Next
    TRN = Application.WorksheetFunction.Match(Worksheets("Foglio1").Range("A2"), Worksheets("Biblos").Range("A1:A100"), 0)
    If TRN > 0 Then
    Worksheets("Foglio3").Range("G2").Value = Worksheets("Biblos").Range("J" & TRN).Value
    Else
    MsgBox " Dato inesistente"
    End If
    On Error GoTo 0
End Sub


ciao

EDIT ore 02:50 - Aggiunta macro in caso di errore
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: Help per funzione Excel 2003

Postdi libraio » 12/08/13 12:17

Grazie Flash,
la seconda macro risolve la mia richiesta, ma solo sulla riga 2; in realtà il Foglio3 contiene un numero variabile di righe (non inferiore a 200) su cui dovrei importare il dato in colonna G desunto dalla colonna J della cartella Biblos.
Mi puoi ancora aiutare?
Grazie
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Re: Help per funzione Excel 2003

Postdi Flash30005 » 12/08/13 21:50

libraio ha scritto:in realtà il Foglio3 contiene un numero variabile di righe (non inferiore a 200)

Ma il foglio3 non era quello dell'output dei dati?
E l'output non doveva essere in G2?
Se non è così ma hai più valori in Biblios corrispondenti alla cella A2 del foglio1 e li vorresti in G2, G3, G4 etc
Devo modificare la macro perché il codice è ben diverso.
Confermi?

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: Help per funzione Excel 2003

Postdi ricky53 » 12/08/13 23:01

Ciao,
riepilogo quando ho ricavato dai tuoi interventi:
a) siamo sul "Foglio3"
b) si scorre la colonna "A" dalla cella "A2" in giù
c) se il contenuto della i-esima della di "A" è uguale al contenuto di una cella della colonna "J" del foglio "Biblos" si deve riportare nella i-esima cella della colonna "G" del "Foglio3" il contenuto trovato in "J" di "Biblos"

E' questo quello che ti occorre?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Help per funzione Excel 2003

Postdi ricky53 » 12/08/13 23:27

Ciao,
prova questo esempio
Codice: Seleziona tutto
Sub Trova_Valore()
    Dim I As Long, Trovato As Integer, UR As Long, RR As Long
   
    RR = Sheets("Biblos").Range("J" & Rows.Count).End(xlUp).Row
    UR = Sheets("Foglio3").Range("A" & Rows.Count).End(xlUp).Row
    Sheets("Foglio3").Range("G2:G" & UR).ClearContents
    For I = 2 To UR
        On Error Resume Next
        Trovato = Application.WorksheetFunction.Match(Worksheets("Foglio3").Range("A" & I), Worksheets("Biblos").Range("J1:J" & RR), 0)
        If Trovato > 0 Then
            Worksheets("Foglio3").Range("G" & I).Value = Worksheets("Biblos").Range("J" & Trovato).Value
            Trovato = 0
        Else
            Worksheets("Foglio3").Range("G" & I).Value = "---"
            MsgBox " Il dato  '" & Worksheets("Foglio3").Range("A" & I) & "'   non esiste in 'Biblos'"
        End If
    Next I
    MsgBox "Elaborazione effettuata"
End Sub
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Help per funzione Excel 2003

Postdi libraio » 13/08/13 12:07

Rispondo innanzitutto a Flash.
Come dubitavo la mia esposizione non era del tutto chiara, tu scrivi:
>> c) se il contenuto della i-esima della di "A" è uguale al contenuto di una cella della colonna "J" del foglio "Biblos" ...
in realtà il contenuto della i-esima di "A" in Foglio3 deve essere uguale al contenuto di una cella della colonna "A" di Biblos.

Nel frattempo è intervenuto Ricky53; ho adattato la sua macro alle mie esigenze (mal spiegate) e funziona perfettamente.
Problema risolto

Ancora grazie a tutti, siete insostituibili!
libraio
libraio
Utente Senior
 
Post: 329
Iscritto il: 04/01/10 20:31

Re: Help per funzione Excel 2003

Postdi ricky53 » 13/08/13 12:15

Ciao,
bene per aver risolto.

Alla prossima ma ... con maggiore chiarezza.
Eh, Eh !!!
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Help per funzione Excel 2003":


Chi c’è in linea

Visitano il forum: Nessuno e 70 ospiti