RE:variables entre libros
lo que pretendes hacer es el equivalente a ejecutar dos macros en simultáneo,
de otra manera no tiene sentido...
el por qué aparece 'vacía' la variable es simplemente porque no fue iniciada
para ser iniciada debe ejecutarse la macro correspondiente, luego no tiene sentido intentar usar la misma variable en dos libros
y si lo hacés guardando el valor de la variable para luego utilizarla, dependiendo del caso tampoco tiene sentido, pues podrías hacer lo mismo desde el libro que pretende usar ese valor (y no estarías usando la misma variable!)
una forma de ver lo que digo es con este ejemplo, dónde por medio de una función paso el contenido de la variable pública declarada en Libro2 a Libro1
no sé qué tan útil puede ser, debería ver el caso puntual....
'//En Libro1
Sub macro1()
a = Run("Libro2.xls!load_a")
MsgBox a
End Sub
'//En Libro2
Public a
Function load_a() As Variant
a = "variable_iniciada"
load_a = a
End Function
Saludos desde Baires, JuanC