En este artículo, crearemos una macro para organizar los datos por día en varias hojas.

Los datos brutos de este artículo consisten en datos de ventas diarios del equipo, que incluyen la fecha, el nombre del agente y el número de artículos vendidos.

ArrowRawData

Queremos distribuir los datos diariamente en varias hojas. Al hacer clic en el botón «Distribuir datos por día», hará lo mismo.

ArrowOutput

Explicación del código

Hacer hasta que esté vacío (Hojas de trabajo (1) .Células (intRowS, 1))

Bucle en el código anterior, el bucle Do hasta se repetirá hasta que se encuentre una celda en blanco.

strTab = Formato (Celdas (intRowS, 1) .Value, «ddmmyy»)

El código anterior se utiliza para extraer el nombre de la hoja de la fecha.

intRowT = Worksheets (strTab) .Cells (Rows.Count, 1) .End (xlUp) .Row + 1 El código anterior se usa para obtener el número de fila de la última celda.

Siga a continuación el código

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

Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.

Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]