Saltar al contenido

Detectar cantidad de filas con datos e insertar filas en historico


Recommended Posts

publicado

Hola necesito saber como puedo hacer para insertar filas en el historico pero solamente segun la cantidad de filas que tengan datos en la hoja de la hoja (datos de entrada). Generalmente son 15 muestras pero en ocaciones son menos por eso quiero pasar solamente la cantidad que tengan datos ingresados. Adjunto Planilla.

Muestra.xls

Invitado Cacho R
publicado

Hola! Ignacio. Por ejemplo, intenta con:

Dim Q&
With Sheets("Entrada de Datos").[a1].CurrentRegion.Offset(1)
Q = .Rows.Count - 1
Sheets("Historico").Cells(Rows.Count, "a").End(xlUp) _
.Offset(1).Resize(Q, 8) = .Resize(Q).Value
End With[/PHP]

Saludos, Cacho R.

publicado

Cacho millon de gracias por responder pero no se como aplicarlo. Pego la macro para guardar en historico, disculpa la ignorancia pero no se donde va.

Sub Macro6()

'

' Macro6 Macro

'

'

    Sheets("Historico").Select
Rows("4:19").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
ActiveWindow.SmallScroll Down:=15
Range("A20:H35").Select
Selection.Copy
Range("A4:H19").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Range("A4").Select
Sheets("Ingreso de Datos").Select
Range("R5:Y20").Select
Selection.Copy
Sheets("Historico").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
Range("A4").Select
ActiveWorkbook.Save
Sheets("Ingreso de Datos").Select
Range("A2").Select
End Sub[/PHP]

Invitado Cacho R
publicado

Veamos, Ignacio:

a) Lo que te mostré reemplaza totalmente a lo que mostraste en tu mensaje #4, ¿OK?

B) Te sugiero que -primero- pruebes el código de mi mensaje #2 en el archivo que vemos en tu primer mensaje.

Una vez comprendido su funcionamiento, trata de adaptarlo a tu situación real. Por ejemplo: la hoja Entrada de datos en realidad la llamas Ingreso de Datos, mientras que el rango de 16 filas y 8 columnas tampoco está donde lo mostraste en tu primer mensaje.

Cualquier inconveniente: ¡Pega el grito, nomás!...

Saludos, Cacho R.

publicado

hehj1217 Muchas gracias por tu respuesta pero me tira error la descarga de tu archivo.

Cacho genio, mira la probe pero me esta costando saber bien como trabaja esa programación. Sigo intentando y te aviso. Saludos.

Invitado Cacho R
publicado
... Cacho genio, mira la probe pero me esta costando saber bien como trabaja esa programación. Sigo intentando y te aviso. Saludos.

Como te lo mencionara, cualquier inconveniente: ¡Pega el grito, nomás!...

Saludos, Cacho R.

publicado

Bueno con el permiso de nuestro amigo Cacho , ignaciomasi solo pega este codigo en un modulo y asocialo a un boton o imagen y ejecuta la macro y listo,

Sub copia()
l = 2li = 4
inicio:
If Worksheets("Historico").Cells(li, 1) = "" Then GoTo copia
li = li + 1 GoTo inicio
copia:
If Cells(l, 1) = "" Then GoTo fin
Worksheets("Historico").Cells(li, 1) = Cells(l, 1)
Worksheets("Historico").Cells(li, 2) = Cells(l, 2)
Worksheets("Historico").Cells(li, 3) = Cells(l, 3)
Worksheets("Historico").Cells(li, 4) = Cells(l, 4)
Worksheets("Historico").Cells(li, 5) = Cells(l, 5)
Worksheets("Historico").Cells(li, 6) = Cells(l, 6)
Worksheets("Historico").Cells(li, 7) = Cells(l, 7)
Worksheets("Historico").Cells(li, 8) = Cells(l, 8)
l = l + 1
li = li + 1
GoTo copia
fin:
End Sub
[/HTML]

saludos¡¡¡[/b]

Invitado Cacho R
publicado
Bueno con el permiso de nuestro amigo Cacho ...

¡Ni que lo digas, mi estimado!

¡Eso sí!... Échale una mirada a esta línea:

l = 2li = 4

pues -diría- "algo huele a podrido en Dinamarca"...

Saludos para todos.

publicado

Aja, solo hay que posicionarse entra el numero 2 y li y enter igual para la linea li=li + 1 Goto inicio , ejemplo abajo.

l = 2li = 4

li = li + 1 GoTo inicio

De algún modo el encerrar el código con las etiquetas HTML se subió así.

Listo.

Saludos

- - - - - Mensaje combinado - - - - -

Bueno, creo que soy un poco torpe para explicarme, así que subo el codigo otra vez.


Sub copia()
l = 2
li = 4
inicio:
If Worksheets("Historico").Cells(li, 1) = "" Then GoTo copia
li = li + 1
GoTo inicio
copia:
If Cells(l, 1) = "" Then GoTo fin
Worksheets("Historico").Cells(li, 1) = Cells(l, 1)
Worksheets("Historico").Cells(li, 2) = Cells(l, 2)
Worksheets("Historico").Cells(li, 3) = Cells(l, 3)
Worksheets("Historico").Cells(li, 4) = Cells(l, 4)
Worksheets("Historico").Cells(li, 5) = Cells(l, 5)
Worksheets("Historico").Cells(li, 6) = Cells(l, 6)
Worksheets("Historico").Cells(li, 7) = Cells(l, 7)
Worksheets("Historico").Cells(li, 8) = Cells(l, 8)
l = l + 1
li = li + 1
GoTo copiafin:
End Sub
[/PHP]

[/b]saludos...

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.