Colección de citas famosas - Slogan de motivación - EXCEL VBA·El novato no sabe cómo modificar la declaración. En el video se menciona que los nombres de las hojas de trabajo deben ordenarse en orden inverso usando fórmulas cada vez para poder ordenarlas correctamente.

EXCEL VBA·El novato no sabe cómo modificar la declaración. En el video se menciona que los nombres de las hojas de trabajo deben ordenarse en orden inverso usando fórmulas cada vez para poder ordenarlas correctamente.

La respuesta se actualizó el 30.6.2021. El efecto de la siguiente imagen es:

Primero, verifique si el nombre de la hoja de trabajo en la columna L existe o está duplicado.

Si la columna L no existe o está duplicada, se solicitarán las coordenadas de la celda y el programa finalizará.

Si todas las L columnas existen y no están duplicadas, la hoja de trabajo se moverá en el orden de L columnas.

El código ahora se adapta a que los nombres de las hojas de trabajo sean puramente numéricos.

Sub mover hoja ()

Atenuar dic como objeto, rng como rango, i%, irow%, iNa$, k%

Establecer DIC = crear objeto ("scripting.Dictionary")'Crear un diccionario.

Dic. CompareMode = 1 'Establecido en modo de comparación de texto (es decir, no distingue entre mayúsculas y minúsculas).

Seleccione todos los nombres de las hojas de trabajo y colóquelos en el diccionario.

Para i = 1 en la hoja. Count

Centro de información al conductor (primera página). nombre) = 1

Luego

determina si el nombre de la hoja de trabajo en la columna L existe o está duplicado.

irow = Range(" L " & filas. recuento). fin(3). Obtenga el número máximo de filas en la columna l.

Para cada RNG en el rango (" L2:L " & amp; Irow)' modifique el número de fila inicial de la columna L de esta fila.

DIC(RNG&"")= DIC(RNG&"")+1

Si DIC(RNG&"")<2entonces

p>

MsgBox rng. Dirección (0, 0) y "Celda:" & vbLf & amprng & "¡No existe!"

' Exit Sub 'Salir del programa.

Si no, DIC(RNG&"")>2 y luego

MsgBox rng. Dirección (0, 0) y "celda:" & vbLf & amprng & "¡Hay duplicados!"

' Exit Sub 'Salir del programa.

Terminará si...

Entonces

Mueve la hoja a la cuadrícula.

INa = Hoja Activa. "Nombre" registra el nombre de la tabla de índice.

Para cada RNG en el rango (" L2:L " & amp; Irow)' modifique el número de fila inicial de la columna L de esta fila.

k = k + 1

Hoja (rng & amp""). Avanzar: = hoja (k)

Luego

hoja(iNa). Seleccione 'Volver a la tabla de índice'.

MsgBox "¡Clasificación de la hoja de trabajo completada!",, "Mensaje"

Conector final