Macro Excel: copiar celdas y pasarlas a otra hoja

Que tal, buenas tardes... Espero puedan ayudarme, me tope con esta página y me parece excelente...
Aquí les va:
En la Hoja1 ingreso los siguientes datos:
      A - B
1  Ancho = 1000
2  Alto = 2000
3 Tipo = Cubo (este valor es una opción de una lista)
4 Color = 00 (este valor es una opción de una lista)
5  Referencia = CU01
Y lo que deseo hacer es que me los copie/pegue a una hoja (Hoja2), con el siguiente formato:
        A - B - C - D - E
1 referencia ancho alto tipo color
2 CU01 1000 2000 cubo 00
Pero que al momento de ingresar otros nuevos datos, al correr de nuevo la macro, me pegue los nuevos valores en el primer renglón vacío de abajo (es decir, el primero que este disponible)...
Espero me haya explicado bien, y de antemano les doy las gracias por este foro y por tomarse la molestia a los expertos... Saludos!

1 Respuesta

Respuesta
1
Vamos a ver tienes que crear el formato de la Hoja 2 y ahora poner un botón en la hoja1 y asignarle este código:
Sub CommandButton1_Click()
Call Copiar
End Sub
Ahora en un modulo copias y pegas esta:
Sub Copiar()
Dim referencia, ancho, alto, tipo, color As String
Sheets("Hoja1").Select
referencia=Range("B5").Value
ancho=Range("B1").Value
alto=Range("B2").Value
tipo=Range("B3").Value
color=Range("B4").Value
Sheets("Hoja2").Select
Range("A1").Select
Do While ActiveCell.Value<>""
ActiveCell.Offset(1,0).Select
Loop
ActiveCell.Value=referencia
ActiveCell.Offset(0,1).Value=ancho
ActiveCell.Offset(0,2).Value=alto
ActiveCell.Value(0,3).Value=tipo
ActiveCell.Value(0,4).Value=color
End Sub
Cada vez que cambies tus valores de la hoja 1 pulsas el botón y se irán añadiendo en la Hoja2 de la forma que tu quieres siempre ocupando la siguiente fila vacía.
>Un saludo
>Julio
Que tal Julio, gracias por la respuesta... ya hice lo que mencionas, pero al correr la macro me aparece un error, el cual es:
Compile error:
Wrong number of arguments or invalid property assignment.
Si quiero que me regrese a la otra página, solo le pongo, antes del "End Sub";
"Sheets("Sheet1").Select" ??
Como que te marca error, yo creo que has puesto código por tu cuenta o las hojas no se llaman así, ¿tu hoja 1 no se llama Hoja1 se llama Sheet1? , y para volver a la Hoja1 si efectivamente antes del End Sub pones Sheets("Hoja1"). Select.
Ya me aclararas donde esta tu error.
>Un saludo
>Julio
Gracias Experto... ya quedo, solo que el nombre de las hojas no era el error, cambie las siguientes lineas:
ActiveCell.Value(0,3).Value=tipo
ActiveCell.Value(0,4).Value=color
por
ActiveCell.Offset(0,3).Value=tipo
ActiveCell.Offset(0,4).Value=color
Y ya corrió bien!
Muchas gracias por tu tiempo y ayuda... espero sigas aportando y ayudando a usuarios que tenemos estas inquietudes!
Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas