............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Copiar datos en otra hoja, en la fila vacia

Ver el tema anterior Ver el tema siguiente Ir abajo

Copiar datos en otra hoja, en la fila vacia

Mensaje por JulenY el Jue Jul 28, 2011 5:05 am

Hola a todos soy nuevo aqui y necesito ayuda.

tengo una macro pero necesitaria completarla con la funcion que al pasar lo datos a otra hoja (tengo unas 50 hojas y necesitaria que la ultima hoja fuera como una especie de resumen), los datos que se vayan a copiar se copien en la fila vacia.En esta hoja tengo otros datos y no quiero que al utilizar la macro estos datos se borrasen.

La macro es la siguiente:
Sub Macro3()
Dim i As Integer
Dim nueva_fila As Integer
nueva_fila = 0
For i = 2 To 50
If (Range("f" + CStr(i)).Value > =1) Then
nueva_fila = nueva_fila + 1
Rows(i).Copy Sheets("Positivos").rows(nueva_fila)
End If
Next i
End Sub


JulenY

Masculino Cantidad de envíos: 5
Edad: 26
Ciudad - Pais: E.H.
Version de Excel: 2007
Fecha de inscripción: 28/07/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por JulenY el Jue Jul 28, 2011 5:28 am

Gracias de antemano!

JulenY

Masculino Cantidad de envíos: 5
Edad: 26
Ciudad - Pais: E.H.
Version de Excel: 2007
Fecha de inscripción: 28/07/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por ioyama el Jue Jul 28, 2011 11:25 am

Hola Julen

Prueba con

Sub PasarDatos()
nueva_fila = 0
For s = 1 To Sheets.Count
If Sheets(s).Name = "Positivos" Then GoTo Salto
For i = 2 To 50
If Sheets(s).Range("F" + CStr(i)).Value >= 1 Then
nueva_fila = nueva_fila + 1
Sheets(s).Rows(i).Copy Sheets("Positivos").Rows(nueva_fila)
End If
Next i
Salto:
Next s
End Sub

Te lee todas las hojas, entendiendo que el formato es el mismo para todas ellas y en positivos te va añadiendo la fila correspondiente al avlor que cumple el requisito de > 1.

Un saludo desde Vitoria

ioyama
Moderador
Moderador

Masculino Cantidad de envíos: 124
Edad: 51
Ciudad - Pais: Vitoria (España)
Fecha de inscripción: 03/03/2008

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por JulenY el Vie Jul 29, 2011 5:49 am

Eskerrikasko!
La macro me funciona perfectamente, agradezco tu atencion!Agur!









Eskerrikasko!
Es correcto traducir por "Muchas Gracias"???




GALI (aprendiendo euzkaro)

JulenY

Masculino Cantidad de envíos: 5
Edad: 26
Ciudad - Pais: E.H.
Version de Excel: 2007
Fecha de inscripción: 28/07/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por JulenY el Vie Ago 05, 2011 5:58 am

Hola ioyama

Despues de estar completando mi hoja de calculo etc. tengo problemas y necesito tu ayuda otra vez.
El problema es que al ejecutar la macro copia toda la fila y yo solo necesitaria que se copiaran los datos que van desde la A hasta la D.
Otro problemilla que tengo es que a todas las hojas les he puesto el mismo macro pero con diferentes numeros, pero al darle al boton para que se ejecute la macro, se copian los datos de las otras hojas tambien (que cumplen las condiciones especificadas en la macro).
Por ultimo, en la ultima hoja que es el resumen tengo 2 filas que no quiero que se borren al ejecutar la macro.

Muchisimas gracias por tu ayuda y atencion.

JulenY

Masculino Cantidad de envíos: 5
Edad: 26
Ciudad - Pais: E.H.
Version de Excel: 2007
Fecha de inscripción: 28/07/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por JulenY el Vie Ago 05, 2011 6:01 am

Un detalle, he cambiado el macro escrito por ti y la condicion en vez de ser en la columna F es en la D.
Gracias!

JulenY

Masculino Cantidad de envíos: 5
Edad: 26
Ciudad - Pais: E.H.
Version de Excel: 2007
Fecha de inscripción: 28/07/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por ioyama el Lun Ago 22, 2011 3:57 am

Hola JulenY

Revisa la nueva macro

Sub PasarDatos()
For s = 1 To Sheets.Count
If Sheets(s).Name = "Positivos" Then GoTo Salto
For i = 2 To 50
If Sheets(s).Range("D" + CStr(i)).Value >= 1 Then
uf = Sheets("Positivos").Range("A" & Cells.Rows.Count).End(xlUp).Row + 1
Sheets(s).Range("A" & i & ":D" & i).Copy Sheets("Positivos").Range("A" & uf)
End If
Next i
Salto:
Next s
End Sub

Tal y como te entendí sólo hay una macro, por lo que no entiendo cuando dices

"....Otro problemilla que tengo es que a todas las hojas les he puesto el mismo macro pero con diferentes numeros, pero al darle al boton para que se ejecute la macro, se copian los datos de las otras hojas tambien (que cumplen las condiciones especificadas en la macro)...."

La macro está preparada para recorrer todas las hojas (entiendo que todas tienen el mismo formato) y pasar los valores que cumplen el criterio de la misma. Si cada hoja tiene un criterio la macro deberá cambiarse a fin de que en cada hoja compare con su criterio, en vez de siempre con >= 1.

No sé si me explico.

Un saludo desde Vitoria

ioyama
Moderador
Moderador

Masculino Cantidad de envíos: 124
Edad: 51
Ciudad - Pais: Vitoria (España)
Fecha de inscripción: 03/03/2008

Volver arriba Ir abajo

Copiar datos a otra hoja

Mensaje por Jose BN el Dom Sep 04, 2011 10:49 pm

Hola! amigos he tratado de adaptar la macro compartida en el post, a una necesidad que tengo. Pero no he tenido exito, por lo que recurro a sus valiosas ayuda.

Tengo un libro que del cual necesito copiar un rango de celdas (A1:M22) que se encuentra en la Hoja1 a la Hoja 2, con el codigo expuesto por ioyama logro que se copien los datos, pero no he logrado que identifique la ultima celda ocupada en la hoja 2 para copiar datos posteriores. Es cierto que esto se logra de una manera practica con un formulario o insertando columna pero esta ultima opción me altera los calculos contenidos en la hoja 2 por lo que me gustaria me ayudaran a resolverlo.

Muchas gracias! por el apoyo que me quieran brindar.

Saludes,

Jose

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por moises melgar el Lun Sep 05, 2011 1:39 am

Sube tu archivo para poder ver lo que comentas

moises melgar
Jr_Moderator

Masculino Cantidad de envíos: 456
Edad: 26
Ciudad - Pais: Coatzacoalcos - Mexico
Version de Excel: 2007
Fecha de inscripción: 25/05/2010

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por moises melgar el Lun Sep 05, 2011 5:58 pm

Por que dices "insertando columna", los datos se transportan por columnas o fue un error de dedo???

moises melgar
Jr_Moderator

Masculino Cantidad de envíos: 456
Edad: 26
Ciudad - Pais: Coatzacoalcos - Mexico
Version de Excel: 2007
Fecha de inscripción: 25/05/2010

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por Jose BN el Lun Sep 05, 2011 9:05 pm

Hola! Moises gracias por contestar, te adjunto el link de skydrive donde esta el archivo, el libreo se llama "Borrador Hoja Tiempo".

En cuanto alo de insertar columna me refiero que segun un codigo que encontré en un post, los datos se copian de una hoja a otra insertando fila, por lo que si utilizaba este codigo alteraba los datos, no soy muy experto en el campo por lo que agradecería me aclares a mayor detalle.

Saludes,

Jose

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por Jose BN el Lun Sep 05, 2011 9:06 pm

Disculpas! adjunto el link:

[Tienes que estar registrado y conectado para ver este vínculo]

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por moises melgar el Lun Sep 05, 2011 11:58 pm

Ok aca esta, ya que son datos fijos los provenientes de la hoja1(hoja base)
la elabore asi
Código:
Sub transportar()
Dim fila As Long
'determino 1a celda disponible del rango A con:
fila = Hoja2.Range("A" & hoja1.Rows.Count).End(xlUp).Row + 1
'"x" son las filas y "y" son las columnas
For x = 0 To 6 'son 7 filas de lunes a domingo 0,1,2,3,4,5,6
For y = 1 To 11 'son 11 columnas nuestros datos
' pura matematica por la relacion entre la hoja1 y la hoja2
  Hoja2.Cells(fila + x, y).Value = hoja1.Cells(8 + x, 2 + y)
Next y
'ahora le damos el formato repectivo a cada valor depe de su columna
  Hoja2.Range("A" & fila + x).NumberFormat = "m/d/yyyy"
  Hoja2.Range("B" & fila + x & ":" & "E" & fila + x).NumberFormat = "h:mm AM/PM"
  Hoja2.Range("K" & fila + x).NumberFormat = "[h]:mm"
Next x
End Sub
Archivos
Borrador Hoja de Tiempo.xlsm No tienes los permisos para descargar los archivos.(38 KB) Descargado 19 veces

moises melgar
Jr_Moderator

Masculino Cantidad de envíos: 456
Edad: 26
Ciudad - Pais: Coatzacoalcos - Mexico
Version de Excel: 2007
Fecha de inscripción: 25/05/2010

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por Jose BN el Mar Sep 06, 2011 8:44 pm

Hola! Moises muchas gracias por compartir tus conocimientos que resolvieron en un 100% el caso. La explicación fue muy precisa.

Saludes,

Jose

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por Jose BN el Mar Sep 13, 2011 9:05 pm

Hola! Moises quisiera solicitarte tu generoso apoyo con una consulta más, cuál seria una forma de almacenar datos capturas en form a diferentes hojas, actualmente utilizó el siguiente código:

Private Sub Registro_Click()
If consecutivo.Value “” Then
If TextBox1.Value “” Then
If TextBox2.Value “” Then
If TextBox3.Value “” Then
If ComboBox4.Value “” Then

jballnav = Worksheets(“BaseDatos”).Range(“B1″).Value

Worksheets(“BaseDatos”).Cells(jballnav, 1).Value = consecutivo.Value
Worksheets(“BaseDatos”).Cells(jballnav, 2).Value = TextBox1.Value
Worksheets(“BaseDatos”).Cells(jballnav, 4).Value = TextBox3.Value
Worksheets(“BaseDatos”).Cells(jballnav, 5).Value = TextBox2.Value
Worksheets(“BaseDatos”).Cells(jballnav, 7).Value = ComboBox4.Value

consecutivo.Value = “”
TextBox1.Value = “”
TextBox3.Value = “”
TextBox2.Value = “”
ComboBox4.Value = “”

End If
End If
End If
End If
End If

End Sub

Agradezco tus comentarios.

Saludos,

José

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por GalileoGali el Miér Sep 14, 2011 8:18 am

Tu código, traslada un error que no tiene que ver con tu pregunta pero, me parece necesario aclarar para que sirva para otros

Error de sintaxis en estas expresiones
If consecutivo.Value “” en lugar de If consecutivo.Value =“”

Respecto a tu pregunta, trato de interpretar, supongo que en algún TextBox o mejor Combobox, defines la hoja a cargar eligiendo el nombre de la misma. Desde ese objeto tomas el nombre y cargas las expresiones

Worksheets(nombredelaHoja)

puedes tambien usar set para dar nombre al objeto y a nivel codigo llamarlo con mayor eficiencia.


Última edición por GalileoGali el Jue Sep 15, 2011 9:37 pm, editado 1 vez

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional

GalileoGali
Admin

Masculino Cantidad de envíos: 1962
Edad: 59
Ciudad - Pais: QUIROGA, Argentina
Version de Excel: 2000-2003-2007-2010
Fecha de inscripción: 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por moises melgar el Jue Sep 15, 2011 1:39 pm

No pude contestar por problemas con la instalacion electrica de la oficina
pero............empezare con un ejemplo
En el Libro siempre se almacenaran en la mima hoja (realmente es muy simple este ejemplo)
Archivos
ejemplo simple de insertar datos en varias hojas (hojas fijas y conocidas).xlsm No tienes los permisos para descargar los archivos.(24 KB) Descargado 22 veces

moises melgar
Jr_Moderator

Masculino Cantidad de envíos: 456
Edad: 26
Ciudad - Pais: Coatzacoalcos - Mexico
Version de Excel: 2007
Fecha de inscripción: 25/05/2010

Volver arriba Ir abajo

Re: Copiar datos en otra hoja, en la fila vacia

Mensaje por Jose BN el Jue Sep 15, 2011 7:02 pm

Gali he comprendido tu sugerencia que es más eficiente definir la hoja a cargar eligiendo el nombre de la misma "Hoja1.Range("ZZZZ").Value = TextBox1.text" esta alternativa no la conocía. Pero gracias a los valiosos aportes y recomendaciones de personas como tú y moisés, siempre se aprendemos algo nuevo.

Jose BN

Masculino Cantidad de envíos: 56
Edad: 34
Ciudad - Pais: Costa Rica-San Jose
Version de Excel: 2003, Vista, 2007
Fecha de inscripción: 16/05/2011

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.