Corrección de errores de libro con macros hechas con nombre de hojas internas

Tengo varios problemas con mi libro (vamos a llamarle dichoso" en el cual yo hice pero usando los nombres de hojas internas las cuales son estas:

1ero - tengo dos libro dichosos... Dichoso65 y dichosodorada

En realidad es solo uno el cual solo cambio de nombre de libro... Pero si tengo abierto los dos este se cuatrapea ya que no sabe a que hoja dirigirse porque como repito usa los nombre internos...

Aclaro las hojas de dichoso65 son distintas a las de dichosodorada ya que para no crear macros con nombre de hojas normales use las internas y me representa un problema!

Ya lo volví "aplicación.exe" funciona y todo pero es tardado y tequioso así que quisiera alguna idea de como solucionarlo..

Cuando tengo datos en dichoso65 julio y quiero pasar algunos datos a dichoso65 agosto

Uso este código:

Sub TRANFERENCIA_DE_DATOS()

Dim DALE As Variant
On Error GoTo sinTRANS
Set l1 = ThisWorkbook
Set h1 = l1.Sheets(Hoja6.Name) 'CAMBIAR NOMBRE DE HOJA IGUALES
Set l2 = Workbooks("VENTAS BASE.xlsm")
Set h2 = l2.Sheets(Hoja6.Name) 'CAMBIAR NOMBRE DE HOJA IGUALES
Application.ScreenUpdating = False
' Application.Speech.Speak "¿TU IMPRESIÓN FUE CORRECTA? VERIFICA PORFAVOR"
DALE = MsgBox("¿Deseas transferir datos? De: " & l1.Name & " al archivo: " & l2.Name, vbYesNo + vbExclamation, "ADVERTENCIA")
If DALE = vbYes Then
'AQUI ESTA LO QUE QUEREMOS

On Error GoTo 0
'LUEGO ESTA ESTO
Application.ScreenUpdating = False
Call DepositosFilasAzules65
Call DepositosFilasAzulesKKC
Call DepositosFilasAzules62uno
Call DepositosFilasAzules62dos
Call DepositosFilasAzulesTuno
Call DepositosFilasAzulesAVILA
Call DepositosFilasAzulesXTABAY
Call DepositosFilasAzules5COL
Call DepositosFilasAzules63dos
Call DepositosFilasAzules69ado
Call DepositosFilasAzules1
Call DepositosFilasAzules2
Call DepositosFilasAzules3
Call DepositosFilasAzules4
MsgBox "TRANSFERENCIA REALIZADA CON EXITO", vbExclamation + vbMsgBoxRight, "AVISO"
Set l1 = ThisWorkbook
'Set h1 = l1.Sheets(Hoja5.Name) 'CAMBIAR NOMBRE DE HOJA IGUALES
Set l2 = Workbooks("VENTAS BASE.xlsm")
' Set h2 = l2.Sheets(Hoja5.Name) 'CAMBIAR NOMBRE DE HOJA IGUALES
Cierre = "SI"
l1.Sabe
l1.Close

Workbooks("VENTAS BASE.xlsm").Close
Cierre = "SI"
l2.Save
Cierre = "SI"
l2.Close
Cierre = "SI"
Application.Quit
Else
MsgBox "OPERACIÓN CANCELADA", vbOKOnly + vbInformation, "CANCELADO"
End If

Exit Sub

sinTRANS: ' NOMBRE DEL ERROR
MsgBox "No se encuentra abierto el archivo destino.", vbOKOnly + vbCritical, "ERROR"

End Sub

Todo parce funcionar bien.. El problema esta que cuando ejecuto una macro de dichoso65agosto (ventas base) este ejecuta las de dichoso65 julio aunque ya lo haya cerrado... Espero su ayuda... Es desesperante...

Envío mi archivo si gustan...

Se ha vuelto un relajo haber usado el nombre interno de las hojas

1 Respuesta

Respuesta
1

H o l a:

No estoy entendiendo bien cuál es la macro que envías a ejecutar y cuál es la que se ejecuta.

Si tienes problemas con esto:

Call DepositosFilasAzules65

Puedes cambiarlo por esto:

Run "dichoso65agosto.xlsm!DepositosFilasAzules65"

Debes tener abierto tu libro dichoso65agosto.xlsm, el nombre del libro no debe tener espacios, es decir, no podrías ejecutar la macro si el nombre del libro es así:

dichoso 65 agosto.xlsm


Ya en la ejecución de la macro tienes que hacer referencia al libro y a la hoja

Set l1 = "dichoso65agosto"

set h1 = l1.Sheets(Hoja5.Name)

h1.[A1] = "hola"

De esa forma la macro se estará ejecutando en el libro que quieres.

S a l u d o s

El problema es que el nombre del libro varia... así puede ser ese nombre así puede ser otro.. ese el problema... que no se como hacer que mis macros se ejecuten en el libro que están, como te comento el nombre del libro lo voy cambiando según el mes... si en las macros pongo el nombre del libro cuando realice el cambio de nombre entones me dejara de funcionar :C

Prueba así

nombre = thisworkbook.name

Run nombe & "!DepositosFilasAzules65"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas