In questo articolo, creeremo una macro per organizzare i dati in base al giorno su più fogli.

I dati grezzi per questo articolo sono costituiti dai dati di vendita giornalieri del team, che includono data, nome dell’agente e numero di articoli venduti.

ArrowRawData

Vogliamo distribuire i dati giornalmente su più fogli. Facendo clic sul pulsante “Distribuisci dati giornalmente”, farà lo stesso.

ArrowOutput

Spiegazione del codice

Do Until IsEmpty (Worksheets (1) .Cells (intRowS, 1))

Loop Nel codice precedente, il ciclo Do Until verrà eseguito in loop fino a quando non viene rilevata una cella vuota.

strTab = Formato (Celle (intRowS, 1) .Value, “ddmmyy”)

Il codice sopra viene utilizzato per estrarre il nome del foglio dalla data.

intRowT = Worksheets (strTab) .Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Il codice precedente viene utilizzato per ottenere il numero di riga dell’ultima cella.

Segui sotto per il codice

Sub Divide()

'Declaring variables

Dim intRowS As Integer, intRowT As Integer

Dim strTab As String

'Initializing with starting row number

intRowS = 10

'Checking whether cell in first column is empty

Do Until IsEmpty(Worksheets(1).Cells(intRowS, 1))



'Getting name of the sheet based on the date value in the first column

strTab = Format(Cells(intRowS, 1).Value, "ddmmyy")



'Getting the row number of last cell

intRowT = Worksheets(strTab).Cells(Rows.Count, 1).End(xlUp).Row + 1



'Copying data to respective sheet

Rows(intRowS).Copy Worksheets(strTab).Rows(intRowT)

intRowS = intRowS + 1

Loop

End Sub

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]