Ola a todos......
Vi uns videos do Fernando Fernandes e do Trovato e verifiquei que minha atual macro é muito, mais muito lenta quando se compara com o uso de matrizes.
Como estou tentando assimilar o uso de matrizes, estou fazendo alguns testes. A principio estou colocando matrizes individuais para cada coluna, acredito que tenha uma forma melhor, mas vamos em doses homeopáticas !!! rsssss
Minha prioridade agora é eliminar o SumIfs e trabalhar só com matriz. Mas como fazer é o problema !!!
Segue o código e anexo o arquivo.
Desde já, agradeço por qualquer ajuda !!!
O código é este:
Sub teste_Array2()
Dim WSF As WorksheetFunction
Dim vEndLin As Integer
Dim vSldTt As Long
Dim vArrayA() As Variant
Dim vArrayB() As Variant
Dim vArrayC() As Variant
Dim vArrayD() As Variant
Set WSF = Application.WorksheetFunction
T1 = Timer()
vEndLin = Plan1.Cells.SpecialCells(xlLastCell).Row
Ln = 1
ReDim vArrayA(1 To vEndLin)
ReDim vArrayB(1 To vEndLin)
ReDim vArrayC(1 To vEndLin)
ReDim vArrayD(1 To vEndLin)
vArrayA = Columns(1).Value2
vArrayB = Columns(2).Value2
vArrayC = Columns(3).Value2
For Ln = 1 To vEndLin Step 1
LIN = Ln + 1
vSldTt = WSF.SumIfs(Range("C2:C" & vEndLin), _
Range("A2:A" & vEndLin), Cells(LIN, 1).Value2, _
Range("B2:B" & vEndLin), Cells(LIN, 2).Value2)
vArrayD(Ln) = vSldTt
Next Ln
Plan1.Range("D2:D" & vEndLin).Value2 = WSF.Transpose(vArrayD)
T2 = Timer()
T3 = T2 - T1
Debug.Print T3
End Sub
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 31/08/2018 2:16 pm