Colección de citas famosas - Slogan de motivación - EXCEL VBA: ¿Qué significan estas declaraciones? ¿Alguien puede traducirlos frase por frase?

EXCEL VBA: ¿Qué significan estas declaraciones? ¿Alguien puede traducirlos frase por frase?

Hoja de trabajo privada _ enable()'Evento de activación de la hoja de trabajo

Establecer d = createobject("script.dictionary")'Especifique d como objeto de diccionario.

arr = Hoja1. Utilice rango

Para i = 2 hasta el límite inferior (arr)

Si arr(i, 1)<>""entonces d(arr(i, 1)) = " " 'DAgregar palabras clave.

Luego

Mismo rango ("B2"). Confirmar

. Eliminar

. add3, 1, 1, join (d.keys, ","") La validez de los datos aumentada en b2 es igual al valor del enlace de la palabra clave d.

Termina con...

Establecer d = Ninguno

Finalizar conector

Subconsulta()

Dim d , arr, brr(), ar, br(), abr(), m, n, I, j, a, b, aa, s

Rango (" A5:P10000 "). "Borrar contenido" borra el contenido del rango de celdas ("A5: P10000").

If Range("B2") = " "Entonces MsgBox "¡Seleccione uno! El programa sale., 64, "Consejo": Salir del cortocircuito

If Range("C2 ") = " "Luego MsgBox "¡Por favor, complete la cantidad de entrega! El programa sale. , 64, "Consejo": Cuando las subceldas de exportación B2 y C2 estén vacías, aparecerá un cuadro de diálogo.

Arr = Hoja1. Asigne una matriz "usando rango".

Para i = 2 en la dimensión ARR1 al bucle UBound(arr)'.

Si arr (I, 1) = Rango ("B2"), arr (i, 4) = "Disponible", entonces 'determina si la celda es igual a Rango ("B2"), arr (I ,4) = "Disponible", ejecute el siguiente código.

M = m+1' Se acumulan M valores.

Redim preserve BRR (1to7, 1toM)' asigna un valor al número BRR,

For j = 1 to 6 'J realiza un bucle de 1 a 6.

Brr(j, m) = arr(i, j)' asigna un valor a Brr igual al valor de la matriz arr correspondiente.

Entonces

Brr(7, m) = arr(i, 10)' también es una asignación de Brr.

Terminará si...

Si arr(i, 1) = Range("B2 "), entonces juzgue arr (I, 1) = range ("B2 " ), ejecute el siguiente código.

S = valor acumulado de s+1.

Redim preserve abr (1to7, 1tos)' m también es el valor asignado a abr, que es igual al aspecto de la matriz arr correspondiente.

Para j = 1 a 6

abr(j, s) = arr(i, j)

Entonces

abr( 7, s) = arr(i, 10)

Terminará si...

Entonces

Si m = 0, entonces 'si m es igual 0, luego realice el siguiente proceso.

Rango(" B5:H10000 "). "Borrar contenido" borra ((b5: h10000") el contenido del rango de celdas.

[b5]. resize (s, 7) = application. transpose (abr)' {b5] después de extender el range , la asignación es igual al valor transpuesto de abr.

range(" B5:H " & S+4 Ordenar columna H).

MsgBox " " & range("B2")& "¡El stock que se puede emitir para este material es 0! El programa sale., 64, aparece "Mensaje"

' Exit Sub 'Salir del programa.

Finalizar si... redimensionar (m, 7) = transponer (BRR)' {b5] Expandir el área. Después de eso, el valor es igual al valor transpuesto de. BRR.

range(" B5:H " & M+4 Ordenar [H5]' Ordenar columna H.

arr = Range(" B5:H " & M+). 4)'Reasignar rango ARR

("B5:H10000"). "Borrar contenido" Borrar((b5:h10000") celda El contenido de la región.

[b5] resize(s, 7) = application. transpose(abr)' {b5] Después de expandir la región, la asignación es igual al valor transpuesto de p>range(" B5:H " & S+4). [H5]' Ordena la columna H

For i = 1 To UBound(ARR)' en la matriz ARR

A = a+arr(i, 3)' asigna un valor.

Entonces

B = Val(Range("C2 ")' b Asignación

Si a-b < Si A-B es menor que 0, se realiza el siguiente proceso. se realiza

MsgBox " " & Range("B2") & "Artículos de inventario existentes. ¡"&;a &" no es suficiente para esta salida! El programa se cierra. , 64, aparece "Pregunta"

Conector de salida

Terminará si...

Para i = 1 a UBound(arr)

n = n + 1

ReDim Preserve br(1 a 7, 1 a n)

para j = 1 a 7

br(j,n) = arr(i ,j)

Entonces

aa = aa + arr(i, 3 )

Si Val(aa)>= Val(b) Entonces

Salir para...

Terminará si...

Entonces

br(3,n) = br(3,n ) - (aa - b)

[J5] = Transponer (br)'El código anterior asigna el valor a [J5]. Resize(n,7) es igual al contenido transpuesto (br).

Conector final