Copiar datos de una hoja a otra

Buenas, necesito copiar los datos de una hoja a otra, cambiando su apariencia. Con una macro, he conseguido colocar los datos en las celdas que necesito y poner en negrita y cursiva las que necesito:
Sub ModoFicha()
i = 2
j = 2
While j < 400
Worksheets("Hoja3").Cells(i, 2) = Cells(j, 2).Value
Worksheets("Hoja3").Cells(i, 2).Font.Size = 8
Worksheets("Hoja3").Cells(i, 3) = Cells(j, 3).Value
Worksheets("Hoja3").Cells(i, 3).Font.Bold = True
Worksheets("Hoja3").Cells(i, 3).Font.Size = 8
Worksheets("Hoja3").Cells(i, 4) = Cells(j, 4).Value
Worksheets("Hoja3").Cells(i, 4).Font.Size = 8
Worksheets("Hoja3").Cells(i + 1, 3) = Cells(j, 6).Value
Worksheets("Hoja3").Cells(i + 1, 3).Font.Italic = True
Worksheets("Hoja3").Cells(i + 1, 3).Font.Size = 8
Worksheets("Hoja3").Cells(i + 1, 4) = Cells(j, 5).Value
Worksheets("Hoja3").Cells(i + 1, 4).Font.Size = 8
i = i + 2
j = j + 1
Wend

Tengo dos problemas:
   - ¿Cómo se puede establecer el ancho de cada una de las columnas de la Hoja3 (A cada columna le daría un valor distinto)? ¿Y la altura de las filas (todas las filas la misma altura)?
   - En la columna A de la hoja1 (origen de la información) tengo insertada una imagen, diferente para cada registro. Como puedo hacer para copiar, por ejemplo, ¿la imagen que tengo en la Hoja1-celda A2 en la Hoja3-celda A2?
NOTA: las imágenes de la columna A de la hoja1 están insertadas utilizando la opción Insertar\Imagen\Desde archivo... Lo disgo por si no está bien hecho de esta forma

1 Respuesta

Respuesta
1
Te dejo algunas instrucciones de ejemplo para ancho y alto:
Columns("A:A"). EntireColumn. AutoFit ' autoajuste
Columns("B:B").ColumnWidth = 3.86   ' =32 pixeles
Rows("2:2").RowHeight = 30               ' = 40 pixeles
Si cada col tendrá un ancho distinto (y no será Autofit) tendrás que tener un bucle y recorrer desde la col 1 hasta la 4 asignando su ancho.
Con respecto a la 2da parte de tu consulta, te aclaro que las imágenes no están 'en la celda' sino encima, por lo que no te servirá esa referencia.
Hace unos días otro experto respondió una consulta parecida, fíjate si te sirve, sino veremos qué otra alternativa aplicamos:
http://www.todoexpertos.com/categorias/tecnologia-e-internet/software-y-aplicaciones/microsoft-excel/respuestas/1793029/vincular-automaticamente-imagenes-en-excel
Muchas gracias Elsa! El tema de la imágenes lo he solucionado enbuclando las siguientes instrucciones:
Sheets("Hoja1").Select
Range(Cells(x, 1), Cells(x, 1)).Select
Selection.Copy
Sheets("Hoja3").Select
Range(Cells(x, 1), Cells(x, 1)).Select
ActiveSheet. Paste
Utilicé la opción de Excel Herramientas\Macros\Grabar nueva macro... para realizar un copiar/pegar de una celda con imagen. A partir de aquí, edité la macro y ya tenía el código necesario para hacer el bucle.
Ahora tengo otra dudilla, ¿cómo puedo seleccionar toda la información de la hoja y eliminarla? Me explico, la hoja tiene celdas con texto y celdas con imágenes. Si clickeo sobre el espacio que hay entre la Columna A y la celda 1, se seleccionan todas las celdas, luego le doy al botón Suprimir y solo me elimina los textos de las celdas, las imágenes continúan estando. ¿Cómo puedo seleccionar todas las imágenes de la Hoja y eliminarlas?
Gracias y disculpa las molestias
Saludos
Raúl.
Por la misma razón que te expliqué antes: las imágenes están 'sobre' las celdas y no 'en' las celdas.
Realizaste 2 preguntas en la misma consulta que respondí en el mismo día.
El titulo de tu consulta dice: copiar datos de una hoja a otra...
Ahora, luego de 10 días en lugar de Finalizar me realizas una nueva consulta. esta vez para Eliminar celdas...
Por favor finaliza ésta y luego ingresa la nueva en el tablón que con mucho gusto te responderé con las instrucciones necesarias para este caso.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas