Reordenar Hojas en Excel y no en Editor VBA
Aquí nuevamente molestando.
Tengo esta macro para que me reordene las hojas en Excel, (no en el editor VBA).
El asunto es que en el editor como iba necesitando. Iba insertando hoja, mas tarde o cuando veía que dicha hoja debería estar en otra posición de Excel, la cambiaba arrastrando la pestaña a otra posición.
Pues eso es lo que quiero evitar, que cambien la hoja arrastrando la pestaña a otra posición, sin importar la posición que tiene en el editor VBA.
Esta macro me manda error, el cual presento las imágenes
Sub ReordenarHojas() Dim Hojas As Variant Hojas = Array("Inicio", "Factura", "Proveedor", "Productos", "Copia_Factura", "Clentes") For X = 0 To UBound(Hojas) Sheets(Hojas(X)).Move Before:=Sheets(X + 1) Next End Sub
[IMG]http://i61.tinypic.com/2j8tio.jpg[/IMG]
La macro la he ejecutado desde un botón pero la idea es colocarla en un módulo (tal vez) y luego llamarla con un Call desde
Private Sub Workbook_Open() ReordenarHojas End Sub
y también en
Private Sub Workbook_SheetActivate(ByVal Sh As Object) ReordenarHojas End Sub Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) ReordenarHojas End Sub
No sé que me dirás sobre lo último.
La idea es que si alguien trata de intercambiar las pestañas de alguna(s) hojas, le mande aviso de imposible o simplemente no se pueda hacer el intercambio.