Condividi:        

[Excel] macro conta simili e accoda

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] macro conta simili e accoda

Postdi macio66 » 17/03/16 17:44

Ciao
Ho un quesito da porvi.
Mi servirebbe creare una macro che, da uno scarico effettuato giornalmente da un file chiamato "Master", prenda i dati ( testo) della prima colonna chiamata "Materiale" (la lunghezza della prima colonna non è uguale x ogni scarico).
esempio:
Materiale
a
b
c
a
a
d
e
b
a

e me li vada ad accodare su un altro file chiamato "Scarico" già esistente, facendo la somma del testo uguale ed aggiungendo la data dello scarico.
esempio:
Materiale Somma Data
a 4 17/03/2016
b 2 17/03/2016
c 1 17/03/2016
d 1 17/03/2016
e 1 17/03/2016

Sperando di essere stato chiaro, resto in attesa di vostri suggerimenti.
Grazie
macio66
Utente Senior
 
Post: 147
Iscritto il: 13/06/13 14:59

Sponsor
 

Re: [Excel] macro conta simili e accoda

Postdi Anthony47 » 19/03/16 19:43

Prova con questa macro, che devi inserire in un modulo standard del file Scarico:
Codice: Seleziona tutto
Sub Riporta()   
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=106592
Dim From As Worksheet, myNext As Long, FMax As Long, myCheck As Range
Dim myMatch, I As Long
'
Set From = Workbooks("MASTER.xlsx").Sheets("Foglio1")     '<<< File e Foglio da cui prelevare
'
ThisWorkbook.Activate
Sheets("Foglio1").Select                                  '<<< Il foglio su cui importare
myNext = Cells(Rows.Count, 1).End(xlUp).Row + 1
FMax = From.Cells(Rows.Count, 1).End(xlUp).Row
Set myCheck = Cells(myNext, 1).Resize(FMax + 10, 1)
For I = 2 To FMax
    myMatch = Application.Match(From.Cells(I, 1).Value, myCheck, 0)
    If IsError(myMatch) Then
        Cells(Rows.Count, 1).End(xlUp).Offset(1, 0) = From.Cells(I, 1).Value
        Cells(Rows.Count, 1).End(xlUp).Offset(0, 1) = 1
        Cells(Rows.Count, 1).End(xlUp).Offset(0, 2) = Int(Now)
    Else
        myCheck.Cells(myMatch, 2).Value = myCheck.Cells(myMatch, 2).Value + 1
    End If
Next I
End Sub
Le righe marcate <<< vanno compilate come da commento.

Il file da cui prelevare deve essere gia' aperto.

Poi mandi in esecuzione la macro "Riporta", eventualmente associandola a un pulsante.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19225
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: [Excel] macro conta simili e accoda

Postdi macio66 » 21/03/16 16:16

Ciao Anthony
Ho provato la macro e funziona perfettamente.
Come sempre non posso fare altro che ringraziarti/vi.
macio66
Utente Senior
 
Post: 147
Iscritto il: 13/06/13 14:59


Torna a Applicazioni Office Windows


Topic correlati a "[Excel] macro conta simili e accoda":


Chi c’è in linea

Visitano il forum: Nessuno e 92 ospiti