Red de conocimiento informático - Problemas con los teléfonos móviles - Por favor explique el código VBA, soy un novato

Por favor explique el código VBA, soy un novato

1. 'Por favor, explique aquí: Lo que entiendo como SPLIT() es separar cadenas según delimitadores para obtener una matriz unidimensional, como split("Yo, soy, chino, país, persona"). "," ,") obtendrá una matriz de {Yo, soy, chino, chino}, pero su código no tiene separador. Quiero saber, si ingreso las cinco palabras "Soy chino" en B2, ejecute What will ¿Este código obtiene?

Cuando se omite, el valor predeterminado es un espacio " ". El ejemplo que dio es ",", por lo que si ingresa Soy chino, el resultado es AA=Soy chino

2. n = 3 '¿Qué significa aquí n=3? ¿Por qué este n comienza desde 3? n en este código parece representar el número de fila de la celda que se va a copiar. Tal vez no entendí el código detrás de él, así que no sé por qué n comienza desde 3

Porque buscó The. El resultado debe colocarse comenzando desde la celda B4, por lo que hay n = n 1

3, Arr = [B18]. Región actual (lo sé, arr son los datos que comienzan desde la celda B18 y regresan al Área)

Para i = 2 a UBound(Arr) (Explique esto, principalmente ubund(arr). Si hay datos en el área de b18 a G30, ¿qué es ubund(arr)? ¿Es 13? *6=78?

UBOUND (ARR) = 13 es equivalente al número máximo de filas en la matriz

UBOUND (ARR, 2) = 6 es equivalente al número máximo de columnas en la matriz

For i = 2 To UBound(Arr) recorre desde B19 a B30

4. Flag = True (Este código es claro, pero ¿qué representa este Flag? aquí? ¿Para qué sirve? Realmente no lo sé)

Esto está configurado para determinar los resultados de la búsqueda. Primero asuma que Flag = True. Si no lo encuentra, copie y pegue. p>

5, x = Join(Application.Index(Arr, i), "") (¿Este código significa agregar un espacio a partir del segundo dato en el área de datos B18:G30? Por ejemplo, si la celda B19 es perfume tipo A. Luego, después de ejecutar este código, obtendrá p>

6. Para y = 0 para UBound(aa) (Si ingreso 5 palabras "Soy chino" en B2, ¿qué es este UBOND(aa)? )?

=0, es una matriz de elementos y el índice de la matriz unidimensional comienza desde 0.

7. (aa(y)))) = 0 Then Flag = False: Salir para

Esta oración debería ser el código clave, pero estoy muy confundido ¿Qué significa trim(aa(y))? la cadena trim(aa(y)) no aparece en X, entonces flag=fasle, código de salida, explique trim(aa(y)) en detalle.

TRIM (AA (Y)) es una función que elimina espacios de AA (Y).

Siguiente

Si Flag = True Then<. /p >

n = n 1

8. Celdas(i 17, 2).Resize(1, UBound(Arr, 2)).Copiar celdas(n, 2)

Esta oración también es un código clave. No lo entiendo. Explíquelo con paciencia.

Celdas(i 17, 2).: El área de datos que se buscará aquí debe comenzar desde B19

Resize(1, UBound(Arr, 2)).Copiar, si esto se encuentra una fila de datos, copie esta fila

Celdas (n, 2): Pegue en la columna 2, fila N, es decir, celda Bn

Fin si

Siguiente

Fin Sub