Como avanzar n filas en Excel para fórmula

O función) de Excel. En una hoja hay cada 23 filas de una misma columna un valor dado (numérico), y es diferente cada 23 filas (las 22 filas de la misma columna entre cada valor están vacías). Lo que requiero es poder colocar en otra hoja del mismo libro de Excel una fórmula o función que, sin estar en esta nueva hoja separadas por 22 filas, sino una por una, el valor que tenga la primera hoja del libro cada 23 filas de manera repetitiva. Agradezco la ayuda. Por favor enviar respuesta al email (xxxxxx).

1 respuesta

Respuesta
1
En otra hoja del libro (por ejemplo "Hoja2") inserta una macro como esta:
sub RecorrerFilas()
dim filadatos, filaHoja2 as integer
filaHoja2=1
for filadatos=1 to 1000 'pon aquí el número de filas de la hoja de datos
if sheets("datos").cells(filadatos,1).value <> "" then
sheets("Hoja2").cells(filaHoja2,1) 'estoy suponiendo que los datos están en la columna A
filaHoja2 = filaHoja2 +1
end if
next
end sub
Acuérdate de cerrar la pregunta si te sirvió el código
Al crear la macro sale el depurador y no hace nada. Yo incluí el siguiente código:
Sub Macro1()
Application.Goto Reference:="Macro1"
Dim filadatos, filainterna, filahoja2 As Integer
Dim filanueva As Integer
Dim sw1 As Integer
Dim sw2 As Integer
filahoja2 = 1
filainterna = 1
filanueva = 1
sw1 = 0
sw2 = 0
For filadatos = 1 To 898
If filainterna = 23 Then
filahoja2 = filadatos + 1
Sheets("Funcion").Cells(filanueva, 3) = Sheets("EVALUACION").Cells(filahoja2, 5)
filainterna = 1
filanueva = filanueva + 1
Else
filainterna = filainterna + 1
End If
Next
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
Windows("equivale.xlsx").Activate
Windows("LISTADO MAESTRO DE PROVEEDORES.xls").Activate
Windows("equivale.xlsx").Activate
Windows("LISTADO MAESTRO DE PROVEEDORES.xls").Activate
Range("N2").Select
Sheets("EVALUACION").Select
Range("E8").Select
Sheets("Funcion").Select
Range("D1").Select
Application.Goto Reference:="Macro1"
End Sub
Pero no hace nada. Por favor revisar. Muchas gracias de nuevo.
El código que propones es bastante enrevesado y tiene algunos errores (como la falta de asignación de la propiedad Value en la línea 16).
Te propongo que uses mi versión que no funciona porque se coló un error. Este es el código revisado:
sub RecorrerFilas()
  dim filadatos, filaHoja2 as integer
  filaHoja2=1
  for filadatos=1 to 1000 'pon aquí el número de filas de la hoja de datos
    if sheets("datos").cells(filadatos,1).value <> "" then
    sheets("Hoja2").cells(filaHoja2,1).value=sheets("datos").cells(filadatos,1).value 'estoy suponiendo que los datos están en la columna A
    filaHoja2 = filaHoja2 +1
   end if
  next
end sub 
Este código tiene la ventaja de que no importa si los datos están separados 23 filas o más o menos ya que recorre toda la columna (hasta la fila 1000) buscando valores no nulos.
Si no te funciona pásame tu e-mail y te envío un fichero excel con el código.
Muchas gracias. El código me sirvió resto para aplicarla a mi hoja. Lo único es que no se vale validar <>"" porque hay otros números insertos en la columna que no son el total sino los calificadores parciales, por lo cual apliqué una mixtura de ambos códigos de macro. Muchísimas gracias, su ayuda me sirvió de ejemplo y así pude depurar mi macro.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas