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

#1 Manuel Romero
23/06/2005 - 01:14 | Informe spam
Cual es la diferencia?


"jose" escribió en el mensaje
news:FYjue.1576138$
La verdad, no me explicado demasiado bien porque lo veia muy dificil, pero
allá voy:
te voy a poner dos macros que he creado y asi veras muy bien lo que se
cambia, para activar esta macro anteriormente se han copiado datos en el
protapapeles mediante otra macro, por eso esta lo primero la funcion
pegar.
Gracias por tu interes, joe! no sabes el trabajo qeu me puedo ahorrar si
funciona esto, gracias de verdad por lo menos por intentarlo.

Sub pegarA1()
'
' pegarA1 Macro
' Macro grabada el 22/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("L2:U2").Select
End Sub


Sub pegarA2()
'
' pegarA2 Macro
' Macro grabada el 22/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("L2:U2").Select
End Sub



Respuesta Responder a este mensaje
#2 KL
23/06/2005 - 01:21 | Informe spam
Jose,

Tus macros parecen identicos :-) Ademas, seria interesante saber que es lo
que hace el otro macro que copia (?de donde?) los datos que luego se tienen
que pegar. Tambien, si no te importa, intenta olvidar por un momento el COMO
quieres hacerlo y explicanos QUE tienes y QUE resultado quieres obtener,
porque desde luego 800 macros es una exajeracion :-)

Saludos,
KL


"jose" wrote in message
news:FYjue.1576138$
La verdad, no me explicado demasiado bien porque lo veia muy dificil, pero
allá voy:
te voy a poner dos macros que he creado y asi veras muy bien lo que se
cambia, para activar esta macro anteriormente se han copiado datos en el
protapapeles mediante otra macro, por eso esta lo primero la funcion
pegar.
Gracias por tu interes, joe! no sabes el trabajo qeu me puedo ahorrar si
funciona esto, gracias de verdad por lo menos por intentarlo.

Sub pegarA1()
'
' pegarA1 Macro
' Macro grabada el 22/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("L2:U2").Select
End Sub


Sub pegarA2()
'
' pegarA2 Macro
' Macro grabada el 22/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("L2:U2").Select
End Sub



Respuesta Responder a este mensaje
#3 jose
23/06/2005 - 17:12 | Informe spam
Hola, lo primero os tengo que pedir perdón, ahora me doy cuenta de qeu si,
son identicas, por lo visto os mande las macros sin modificarlas, ahora os
la pongo bien.
Como dice KL os explico lo que quiero hacer:
Tengo en una hoja una lsita de materiales que quiero ordenar en un almacén y
dispongo de 400 ubicaciones, en la hoja de materiales selecciono el material
o los materiales para colocarlos en el almacen mediante un boton con una
macro, que lo que hace esta macro es copiar el texto y mandarlo a la hoja de
ubicación, una vez ahi voy a la ubicación que quiera llamamosle A1 A2 B1 B2
etc... y en esa ubicación hay dos botones uno para pegar la informacion que
tengo en el portapapeles (gracais a la macro anterior) y poner en gris la
zona de la ubicacion (por ejemplo la zona A1 que seria el rango D5:D12) y
que automaticamente me mande a la hoja de "almacen" con el texto de la
ubicacion (A1 o A2 o la que sea) copiada en el portapapeles para pegarla en
esa hoja con otra macro donde yo quiera, el otro boton es para borrar toda
la informacion cuando quite las mercancias de la ubicacion, asi dejo la zona
blanca y vacia.
De esta macro me harian falta 400, y para la macro de borrar otras 400, os
pongo dos macro que pegaria la información para que veais que solo cambian
los rangos y celdas a seleccionar.
Y por favor si os hace falta algun dato mas, no dudeis en pedirmelo vale?

Sub pegarA1()
'
' pegarA1 Macro
' Macro grabada el 31/05/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("L2:U2").Select
End Sub
Sub pegarA2()
'
' pegarA2 Macro
' Macro grabada el 22/06/2005 por Jose
'

'
Range("D16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Range("D13:D20").Select
Range("D20").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("D13").Select

Selection.Copy
Range("A1").Select
Sheets("almacén").Select
Range("L2:U2").Select
End Sub
Respuesta Responder a este mensaje
#4 KL
24/06/2005 - 00:46 | Informe spam
Hola Jose,

Enviame si quieres el fichero con tus macros incluidos - vere si puedo hacer
algo.

Saludos,
KL

"jose" wrote in message
news:ejAue.1592594$
Hola, lo primero os tengo que pedir perdón, ahora me doy cuenta de qeu si,
son identicas, por lo visto os mande las macros sin modificarlas, ahora os
la pongo bien.
Como dice KL os explico lo que quiero hacer:
Tengo en una hoja una lsita de materiales que quiero ordenar en un almacén
y dispongo de 400 ubicaciones, en la hoja de materiales selecciono el
material o los materiales para colocarlos en el almacen mediante un boton
con una macro, que lo que hace esta macro es copiar el texto y mandarlo a
la hoja de ubicación, una vez ahi voy a la ubicación que quiera llamamosle
A1 A2 B1 B2 etc... y en esa ubicación hay dos botones uno para pegar la
informacion que tengo en el portapapeles (gracais a la macro anterior) y
poner en gris la zona de la ubicacion (por ejemplo la zona A1 que seria el
rango D5:D12) y que automaticamente me mande a la hoja de "almacen" con el
texto de la ubicacion (A1 o A2 o la que sea) copiada en el portapapeles
para pegarla en esa hoja con otra macro donde yo quiera, el otro boton es
para borrar toda la informacion cuando quite las mercancias de la
ubicacion, asi dejo la zona blanca y vacia.
De esta macro me harian falta 400, y para la macro de borrar otras 400, os
pongo dos macro que pegaria la información para que veais que solo cambian
los rangos y celdas a seleccionar.
Y por favor si os hace falta algun dato mas, no dudeis en pedirmelo vale?

Sub pegarA1()
'
' pegarA1 Macro
' Macro grabada el 31/05/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("L2:U2").Select
End Sub
Sub pegarA2()
'
' pegarA2 Macro
' Macro grabada el 22/06/2005 por Jose
'

'
Range("D16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Range("D13:D20").Select
Range("D20").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("D13").Select

Selection.Copy
Range("A1").Select
Sheets("almacén").Select
Range("L2:U2").Select
End Sub




Respuesta Responder a este mensaje
#5 Manuel Romero
24/06/2005 - 02:06 | Informe spam
Se me ocurre que hagas una hoja oculta con la lista de celdas y rangos que
correspondan, segun tu ejemplo

Material_1 D8 D5:D12
Material_2 D16 D13:D20
...

Asi cuando escojas un material de tu hoja base, buscas en la hoja oculta los
rangos a donde tienes que pegar la informacion y cuales celdas vas a
colorear

"jose" escribió en el mensaje
news:ejAue.1592594$
Hola, lo primero os tengo que pedir perdón, ahora me doy cuenta de qeu si,
son identicas, por lo visto os mande las macros sin modificarlas, ahora os
la pongo bien.
Como dice KL os explico lo que quiero hacer:
Tengo en una hoja una lsita de materiales que quiero ordenar en un almacén
y dispongo de 400 ubicaciones, en la hoja de materiales selecciono el
material o los materiales para colocarlos en el almacen mediante un boton
con una macro, que lo que hace esta macro es copiar el texto y mandarlo a
la hoja de ubicación, una vez ahi voy a la ubicación que quiera llamamosle
A1 A2 B1 B2 etc... y en esa ubicación hay dos botones uno para pegar la
informacion que tengo en el portapapeles (gracais a la macro anterior) y
poner en gris la zona de la ubicacion (por ejemplo la zona A1 que seria el
rango D5:D12) y que automaticamente me mande a la hoja de "almacen" con el
texto de la ubicacion (A1 o A2 o la que sea) copiada en el portapapeles
para pegarla en esa hoja con otra macro donde yo quiera, el otro boton es
para borrar toda la informacion cuando quite las mercancias de la
ubicacion, asi dejo la zona blanca y vacia.
De esta macro me harian falta 400, y para la macro de borrar otras 400, os
pongo dos macro que pegaria la información para que veais que solo cambian
los rangos y celdas a seleccionar.
Y por favor si os hace falta algun dato mas, no dudeis en pedirmelo vale?

Sub pegarA1()
'
' pegarA1 Macro
' Macro grabada el 31/05/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("L2:U2").Select
End Sub
Sub pegarA2()
'
' pegarA2 Macro
' Macro grabada el 22/06/2005 por Jose
'

'
Range("D16").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks _
:=False, Transpose:=True
Range("D13:D20").Select
Range("D20").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("D13").Select

Selection.Copy
Range("A1").Select
Sheets("almacén").Select
Range("L2:U2").Select
End Sub




Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida