Usando VBA para controlar listas personalizadas
En Excel es posible crear listas personalizadas que están disponibles para usar en la hoja de cálculo o en la aplicación VBA. Las listas predeterminadas proporcionadas por Microsoft son los días de la semana de lunes a domingo (o la versión más corta de lunes a domingo) y los meses del año de enero a diciembre (o la versión más corta de enero a diciembre).
Los usos más comunes de las listas personalizadas son acelerar la entrada de datos en una hoja de cálculo. Existen en el nivel de la aplicación y, por lo tanto, sólo están presentes en la computadora en la que fueron creados. Sin embargo, al utilizar los fragmentos de código VBA a continuación, es posible agregar, buscar, eliminar y aplicar automáticamente estas listas personalizadas.
Agregar una nueva lista personalizada
'Agregar una nueva lista personalizadaApplication.AddCustomList ListArray:=Array("Element1", "Element2", "Element3")'Agregar una nueva lista personalizada desde el rango de celdasApplication.AddCustomList ListArray:=Range("Sheet1!A1:A3")
Cuente el número de listas personalizadas
'Cuente el número de Listas personalizadasDim noOfLists As IntegernoOfLists = Application.CustomListCount
Buscar si ya existe una lista personalizada
'Encuentre el número de lista de una lista personalizada basada en todos los elementosDim listNumFound As IntegerlistNumFound = Application.GetCustomListNum(Array("Element1", "Element2", "Element3"))'Encuentre una lista personalizada que contenga un elemento específico Dim i As IntegerDim arrayItem As VariantDim customListContents() As VariantDim listNumFound As IntegerFor i = 1 To Application.CustomListCount 'Establece la matriz CustomList en una variable customListContents = Application.GetCustomListContents(i) 'Recorre cada elemento de la lista personalizada para cada elemento de matriz en customListContents 'Prueba si el el elemento tiene un valor específico Si arrayItem = "Elemento1" Entonces listNumFound=i Siguiente arrayItemNext i
Eliminar una lista personalizada
'Eliminar una aplicación de lista personalizada.DeleteCustomList listNum:=5
Nota: listNum 1-4 están reservados para los valores predeterminados establecidos por Microsoft
Editar una lista personalizada
No hay forma de editar una lista personalizada existente. La mejor opción es eliminar la lista y luego crear una nueva lista.
Aplicar una lista personalizada a un rango de celdas
'Aplicar una lista personalizada existente a un rango de celdasRange("D5").FormulaR1C1 = "Element1"Selection.AutoFill Destination:=Range("D5:D7")
Deja una respuesta