¿Cómo hacer coincidir automáticamente el menú desplegable de datos de entrada en las celdas EXCEL con el contenido de la fuente de datos?
Habilita el entorno mediante macros EXCEL. Pregúntele a Du Niang el método específico;
Presione ALT F11 para abrir el editor VBE y busque la tabla (hoja2) en la parte inferior del árbol del proyecto VBAproject a la izquierda;
Haga doble clic en la tabla, pegue el código a la derecha del lado de la tabla de la ventana de código y guárdelo.
Guardar el archivo como. XLSM o. formato xls.
Dim d,iRow,i
set d = CreateObject("scripting . Dictionary")
arr = Sheets("1"). rango("D2"). Cuadro 1 listado de alimentos para el área actual, cuyo responsable es D2.
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
p>El número de celdas seleccionadas solo puede ser 1.
Si objetivo. Número de filas. recuento*número de objetivos. Número de columnas. 1Luego sal del conector
El contenido de la celda seleccionada no está vacío.
Salir de Sub si Len(target) = 0
La celda seleccionada está en la columna f.
establecer Rng = Intersect(Target, Columns("F:F"))
Si Rng no es nada, entonces salga de Sub
Eliminar las celdas seleccionadas Configuración de validez (inicialización) presente en la grilla
Destino. verificar. Eliminar
Escriba en el diccionario los elementos no duplicados de la lista de alimentos en la columna D de la Tabla 1 que contienen la palabra seleccionada en la celda de la columna F.
Para i = 2 al límite inferior (arr)
Si InStr(arr(I,1),Target) entonces
Si d. (arr (I, 1)), luego
d(arr (I, 1) = ""
Terminará si...
Se terminará si...
Siguiente yo
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Si d.Count》 entonces 0
Confirma
. = Unirse(d. claves, ","")
. IMEMode = xlIMEModeNoControl
. Mensaje de error = """Cancelar mensaje de error.
. "ShowError = False" cancela el mensaje de error.
Termina con...
Termina si...
d.RemoveAll: Establece d = Nada. p>
Conector final