¿Cómo hacer esta macro?

Macros.
Buenos días! Necesito que ayuda para realizar una MACRO.
Le explico:
Tengo un varios Excel que están perpendicular, y yo quiero crea una macro que me haga lo siguiente con ese Excel.
. Poner horizontal. (TRANSPONER)
. Letra nº 8.
. Negro
. Distintas fórmulas y formatos en cada columna.
Mi pregunta es:
¿Cómo hago esta Macro? Yo solo se hacer macros con datos, no con formatos, fórmulas... Etc...
Lo he intentado hacer y me sale error, o virus cada vez que quiero entrar (Algunas macros pueden contener virus. Generalmente es más fácil deshabilitarlas, pero si las macros son de confianza y las deshabilita puede perder la funcionalidad)
También lo que sucede es que yo la creo, ¿vale? Y la creo en la Hoja nº 1, y estoy en la Hoja nº 2 y le doy a Macro, y se me pasa a la hoja nº 1, Yo no quiero eso, yo quiero que me pegue la macro también en la hoja nº 2
¿Cómo hago la macro, para que todos los Excel se me ponga de la manera indicada anteriormente? (Horizontal, letra nº 8 ...)
Muchas Gracias.
Un saludo.
Mónica Rodríguez.

1 respuesta

Respuesta
1
Ue cantidad de datos tienes que transponer, ten en cuenta que solo puedes pasar 256 filas, eso siempre y cuando no tengas la versión Excel 2007, que creo recordar que pueden ser más., pera para versiones anteriores, solo pueden ser 256
Otro datos a tener en cuenta sería el lugar en donde quieres pegar para trnsponer, ¿siempre va a ser la misma cantidad y en el mismo sitio?
Son pequeñas preguntas que tienen su importancia...
He realizado alguna prueba y he sacado este código, pruébalo para ver si te vale
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 19/01/2009 por Pedro Inés
'
'
Set myrango1 = Application.InputBox("Selecciona el rango a transponer", Type:=8)
Set myrango2 = Application.InputBox("Selecciona celda a pegar", Type:=8)
Application.CutCopyMode = True
Range(myrango1.Address).Copy
Range(myrango2.Address).Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
With Selection.Font
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Selection.Font.Bold = True
Range(myrango1.Address).Select
Selection.ClearContents
End Sub
Suerte
No lo he podido mirar antes. Pero aun así no me enterado de nada. ¿Qué es lo que me has puesto?
Eso era una macro. La copias en un libro por ejemplo el de personales. Ahora, abres el libro que quieres transponer
Bueno, es una macro, que la puedes pegar en cada libro que quieres transponer o colocarla en un libro determinado y mandarle que se ejecute desde el libro que quieres transponer.
Cuando lo ejecutas, primero te pide "Selecciona el rango a transponer", que serán las celdas que tienes en vertical. (Este rango luego se borra)
Luego te pide "Selecciona la celda a pegar" y ahí tines que poner una celda por debajo de lo que tu tines seleccionado a transponer(ya que luego lo seleccionado anteriormente se borra), esto es para que tengas sitio y no te borre nada. Luego una vez que tú lo tienes ya en horizontal, lo colocas donde te de la gana.
Te sugiero que realices una prueba con una copia de un fichero de los que quieres transponer.
Suerte y si necesitas más aclaraciones, aquí estoy.
Vale, muchas gracias, creo que ya tengo la macro hecha, pero... te comento :
El excel tiene tres pestañas, yo cuando hecho la macro (libro de macros personales) estaba en la pestaña nº 1 y ahora yo me pongo en la pestaña 2 le doy al macro, y no se me pega en la pestaña 2 si no se va a la pestaña 1.
¿Eso es correcto?
Luego por otra parte, yo abro un documento nuevo de excel desde el que tengo y le doy a macro 1 y me sale error : "se ha producido un error 9 en el tiempo de ejecución: Subíndice fuera del intervalo" (la verdad es que no tengo ni idea que me quiere decir con eso) ¿Por qué pasa esto?
También:
Si yo abro un documento de excel desde : Inicio/ Programas/MIcrosoft desde hay no me sale que tenga ninguna macro.
¿Qué hago?
Muchas Gracias.
Un saludo.
Espero su respuesta impaciente.
Posteme tu dirección para que te envíe un fichero...
(xxxxxx)
MUchas Gracias.
Ya te he enviado un fichero con ma macro colocada y funcionando. Espero que te sirva.
La macro es la que te postee anteriormente, pero ahora la ejecutas desde un botón y lo único que tienes que hacer es pegar los datos de origen en la hoja nº1 (la que tiene el botón y ejecutar la macro desde el botón.
Suerte y si te vale, recuerda cerrar la pregunta y valorar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas