Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

EXCEL Aiuto per macro

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

EXCEL Aiuto per macro

Postdi Francesco53 » 16/06/12 15:35

Buona giornata a tutti,
ho creato la seguente macro che però non riesce a gestire tutti i casi.
Posto le due immagini e la macro per far capire la mia difficoltà.
Immagine
Tramite questa macro elaboro la ricerca dei numeri ripetuti:
Codice: Seleziona tutto
Sub RicercaRipetuti()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.EnableEvents = False
Range("Q5:W14").Select
Selection.ClearContents
Range("A1").Select

For riga = 5 To 13
For colonna = 11 To 14
For indice = riga + 1 To 14
For indcol = colonna To 15
a = Cells(riga, colonna)
b = Cells(indice, indcol)
If a = b And a <> "" And b <> "" Then
Cells(riga, 19) = a
Cells(riga, 17) = Cells(riga, 1)
Cells(riga, 18) = Cells(indice, 1)

End If
Next
Next
Next
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub

Ma, come si può vedere da questa immagine, è il risultato che dovrei realizzare:
Immagine
Rispetto alla prima, manca di alcuni rilevamenti.
Grazie a chi può darmi le indicazioni giuste.
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45

Sponsor
 

Re: EXCEL Aiuto per macro

Postdi Flash30005 » 16/06/12 20:32

Prova questa
Codice: Seleziona tutto
Sub RicercaRipetuti()
Application.ScreenUpdating = False
Application.Calculation = xlManual
Application.EnableEvents = False
Range("Q5:W14").ClearContents


For riga = 5 To 13
For colonna = 11 To 15
If Cells(riga, colonna) = "" Then GoTo saltaI
    For Indice = riga + 1 To 15
    For IndCol = 11 To 15
    If Cells(Indice, IndCol) = "" Then GoTo SaltaI2
    a = Cells(riga, colonna)
    b = Cells(Indice, IndCol)
    If a = b Then
    UC = Cells(riga, 250).End(xlToLeft).Column
    If UC < 19 Then
    UC = 19
    Else
    UC = UC + 4
    End If
        Cells(riga, UC) = a
        Cells(riga, UC - 2) = Cells(riga, 1)
        Cells(riga, UC - 1) = Cells(Indice, 1)
    End If
SaltaI2:
    Next
    Next
saltaI:
Next
Next
Application.ScreenUpdating = True
Application.EnableEvents = True
Application.Calculation = xlCalculationAutomatic
End Sub


Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: EXCEL Aiuto per macro

Postdi Francesco53 » 16/06/12 21:36

Grazie Flash,
la tua disponibilità, professionalità e capacità non consentono di trovare altri aggettivi per qualificarti. :)
Francesco
S.O. Vista e Office 2007
Francesco53
Utente Senior
 
Post: 647
Iscritto il: 20/02/10 18:45


Torna a Applicazioni Office Windows


Topic correlati a "EXCEL Aiuto per macro":


Chi c’è in linea

Visitano il forum: enrico43, Marius44 e 5 ospiti