Se pueden crear 800 macros automaticamente?

22/06/2005 - 20:08 por jose | Informe spam
Hola estoy creando 800 macros que la unica diferencia entre ellas es a las
celdas que hacen relaciçon, hay alguna manera de ahorrarme el trabajo de
crear las 800 macros a mano una a una?

Preguntas similare

Leer las respuestas

#6 jose
24/06/2005 - 19:59 | Informe spam
Madre mia que orgulloso me siento, lo he conseguido, he creado 800 macros en
mas o menos 40 minutos, que pasada no??
Bueno pues os cuento a ver si me explico bien.
He crado una macro a mano (ya sabeis grabando todos los pasos) una vez
creada he ido copiando el código en una hoja nueva por partes, me explico si
la macro era:

Sub pegarA1()
'
' pegar
' Macro grabada el 24/06/2005 por Jose
'

'
Range("D8").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Range("D5:D12").Select
Range("D12").Activate
Application.CutCopyMode = False
With Selection.Interior
.ColorIndex = 15
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
End With
Range("A1").Select
ActiveSheet.Protect DrawingObjects:=True, Contents:=True,
Scenarios:=True

Range("D5").Select

Selection.Copy
Range("A1").Select
Sheets("almacén").Select
Range("B2").Select
End Sub



Pues he puesto en la celda A1 (sin los corchetes, claro) [Sub pegar]
en la celda B1 pondre [A1]
en la celda C1 [()
'
' pegar
' Macro grabada el 24/06/2005 por Jose
'

'
Range("]
en la celda D1 [E8]
en la celda E1 [").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Range("]
en la celda F1 [D5]
en la celda G1 [:]
en la celda H1 [D12]
en la celda I1 [").Select
Range("]

y asi hasta completar el código. Al final de la fila hariamos una unión de
todas las celdas, (ya se que algunos preferis hacela con el signo "&" pero
yo he utilizado la función CONCATENAR). Ahora lo que tengo que hacer es
copiar toda la fila hacia abajo (en mi caso 400 filas porque las otras 400
macros eran diferentes, con otro texto, lo haria en otra hoja con los mismos
pasos) y solo nos queda modificar las columa B, D, F, H, ... en mi caso la
diferencia de una macro a otra se conseguia sumandole 8 al numero que hace
referencia la celda, me explico, si en la celda D1 tenemos [E8] en la celda
D2 pondriamos [E16] otro ejemplo seria en la celda H1 [D12] pondriamos en la
celda H2 [D20] y asi sucesivamente. Una vez creado el codigo solo queda
copiarlo y pegarlo en el módulo de la hoja que queramos dejar las macros,
como ya hemos creado una macro le damos a modificar macro y se abre el
editor, ahi es donde pegaremos toda la columa que hemos CONCATENADO. Hay un
pequeño problema, bueno pequeño no, pequeñisimo, nos ha pegado las celdas
con unas comillas de mas, pone al principio y al final de cada macro unas
comillas ["] y donde nos refereimos a celdas tambien, se quitan
perfectamente con la función de reemplazar, ponemos datos a buscar ["Sub] y
a reemplazar con [Sub], asi de facil y con las comillas igual, ponemos a
buscar [(""] y a reemplazar [("] y en el otro lado seria buscar ["")] y
reemplazar con [")].
Claro, este es mi caso, ahora vosotros lo podeis aplicar a vuestras
necesidades, pero oye! ahi está la idea no?
Pues eso es todo chicos, joe, me ha costado mas escribir este mensaje que
crear 800 macros, jejeje

Venga un abrazo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida