Todoexpertos.com
http://www.todoexpertos.com
La respuesta está en Internet
Información de la pregunta
Título: Guardar data a otra hoja mediante Command Button
Experto: elsamatilde
Valoración: 5
Fecha: 14/05/2008


Guardar data a otra hoja mediante Command Button
Hola Elsa. Puse en practica tu codigo para trasladar valores de una celda de una hoja a otra mediante un Command Button, ahora mi pregunta es la siguiente: Tengo una Orden de Compra hecha en excel, que contiene No de Orden, Fecha de Compra, terminos de compra, etc como parte del encabezado, ahora en el cuerpo de la oden tengo Item, Descripcion, Cantidad, Precio Unitario y Total, pues en esas filas voy ingresando datos, ahora la pregunta es la siguiente: Como hacer para que las filas siguientes me graben a la otra hoja en excel o una forma de incrementar automaticamente las celdas mediante la variable filalibre Private Sub salvar_Click() filalibre = Sheets("DATA").Range("A65536").End(xlUp).Row + 1 Linea1 Range("A16").Select Do While ActiveCell <> Empty ActiveCell.Offset(1, 0).Select Sheets("DATA").Cells(filalibre, 1) = ActiveSheet.Range("H4") Sheets("DATA").Cells(filalibre, 2) = ActiveSheet.Range("H5") Sheets("DATA").Cells(filalibre, 3) = ActiveSheet.Range("H7") Sheets("DATA").Cells(filalibre, 4) = ActiveSheet.Range("H8") Sheets("DATA").Cells(filalibre, 5) = ActiveSheet.Range("A11") Sheets("DATA").Cells(filalibre, 6) = ActiveSheet.Range("A16") Sheets("DATA").Cells(filalibre, 7) = ActiveSheet.Range("B16") --> que pase a B17,B18... Sheets("DATA").Cells(filalibre, 8) = ActiveSheet.Range("D16") Sheets("DATA").Cells(filalibre, 9) = ActiveSheet.Range("E16") Sheets("DATA").Cells(filalibre, 10) = ActiveSheet.Range("F16") Sheets("DATA").Cells(filalibre, 11) = ActiveSheet.Range("H16") filalibre = filalibre + 1 Loop End Sub Saludos desde Honduras y gracias por compartir tu conocimiento Atte. Lessner

Guardar data a otra hoja mediante Command Button
Hola: La idea es que primero pases todos los datos fijos (encabezados) y luego coloques los dtos de cada registro o item a partir de la celda activa (col A) y moviéndote con Offset hasta la col H. Entonces sería algo así: Private Sub salvar_Click() filalibre = Sheets("DATA").Range("A65536").End(xlUp).Row + 1 Range("A16").Select Do While ActiveCell <> Empty 'encabezados Sheets("DATA").Cells(filalibre, 1) = ActiveSheet.Range("H4") Sheets("DATA").Cells(filalibre, 2) = ActiveSheet.Range("H5") Sheets("DATA").Cells(filalibre, 3) = ActiveSheet.Range("H7") Sheets("DATA").Cells(filalibre, 4) = ActiveSheet.Range("H8") Sheets("DATA").Cells(filalibre, 5) = ActiveSheet.Range("A11") 'recorrer lista de items Sheets("DATA").Cells(filalibre, 6) = ActiveSheet.Activecell   'col A Sheets("DATA").Cells(filalibre, 7) = ActiveSheet.activecell.offset(0,1)  'col B Sheets("DATA").Cells(filalibre, 8) = ActiveSheet.activecell.offset(0,3)  'col D Sheets("DATA").Cells(filalibre, 9) = ActiveSheet.activecell.offset(0,4)  'col E Sheets("DATA").Cells(filalibre, 10) = ActiveSheet.activecell.offset(0,5)  'col F Sheets("DATA").Cells(filalibre, 11) = ActiveSheet.activecell.offset(0,7)  'col H activecell.offset(1,0).select  'pasa al item siguiente filalibre = filalibre + 1 Loop End Sub Saludos Elsa [url=http://galeon.com/aplicaexcel]http://galeon.com/aplicaexcel[/url]

Guardar data a otra hoja mediante Command Button
Elsa muchas gracias por tomarte tu tiempo en responder, fiajate q hice tu sugerencia en cuanto al codigo se refiere, pero al ejecutar me da un error al aplicar (activesheet.activecell) el mensaje q sale es: "el objeto no soporta esta propiedad o metodo" 'runtime error 438', no se si es problema en las propiedades del Boton o sintaxis. Gracias x todo Atte. Lessner...

Guardar data a otra hoja mediante Command Button
Lo dejé porque así estaba, pero sacale el activesheet y probalo nuevamente. Asegurate de estar en la hoja Orden de compra cuando lo ejecutes. Saludos Elsa

Pregunta finalizada. Valoración: 5
Muchas gracias Elsa, lo deje de la siguiente forma: ' Graba Detalles Sheets("DATA").Cells(filalibre, 6) = ActiveCell.Offset Sheets("DATA").Cells(filalibre, 7) = ActiveCell.Offset(0, 1) Sheets("DATA").Cells(filalibre, 8) = ActiveCell.Offset(0, 3) Sheets("DATA").Cells(filalibre, 9) = ActiveCell.Offset(0, 4) Sheets("DATA").Cells(filalibre, 10) = ActiveCell.Offset(0, 5) Sheets("DATA").Cells(filalibre, 11) = ActiveCell.Offset(0, 7) Te agradezco por tu ayuda, me orientastes en gran manera. Saludos.


Volver al mensaje
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1843873/guardar-data-a-otra-hoja-mediante-command-button