Solo para comentar, para los que tengan habilitado el archivo libro de macros personal, cuando hagan el ejercicio de asignarle un valor a una celda, por ejemplo:worksheet(1).sheets(1).range("A6").value = "Valor10" el archivo uno (1),es el libro de macros personalxlsb, el archivo con indice (2), sera el archvo donde tengan guadada la macro.
Si no desean eso,
Si siempre desean que el worksheet(1) sea el primer libro abierto, tienen que desabilitar el libro de macros personal, cerrar Excel, para que al abrir Excel, worksheet(1) sea el primer archivo abierto, o en su caso, el libro donde esta guardada la macro, siempre y cuando sea el primer archivo abierto.
En caso contrario,si se tiene habilitado el libro de macros personal xlsb, primer archivo abierto, sera, worksheet(2) , ya que worksheet(1) es ocupado por el libro de macros personalxlsb.
A mi me paso, hice el ejercicio, la macro no me manejo ningun error, pero en los archivos abiertos no aparecio ningun valor en la celda asignada, y me acorde del libro de macros personalxlsb, que no se muestra abierto, por que esta oculto, mostre la ventana y alli estaba el valor en la celda asignada.
Como ven? estoy en lo correcto o estoy en un error?
En caso de estar en un error, me lo hacen saber, espero sus comentarios
Hola Raimundo, estás en lo correcto en la idea principal: si tienes habilitado PERSONAL.XLSB, ese libro se abre “primero” (aunque esté oculto) y por eso los índices cambian y el valor puede terminar escribiéndose allí sin que lo notes.
Solo una precisión: lo que cambia no es Worksheets(1) como tal, sino el libro al que estás apuntando; por eso, en lugar de depender de índices (que varían), es mejor referenciar el libro de forma explícita con ThisWorkbook.Worksheets("HojaX") (el libro donde está la macro) o ActiveWorkbook.Worksheets("HojaX") (el libro que estás usando en pantalla).
Muy buen aporte para el grupo, gracias por compartirlo.
Inicia sesión para dejar tu duda, comentario y/o respuesta