Boa noite.
Tenho uma macro que transfere os nomes de clientes que estão na primeira "Worksheet" para a coluna A da ultima "Worksheet" sem duplicatas, para depois fazer um SOMASE na coluna B dessa ultima "Worksheet" calculando a soma de cada cliente. Eu me refiro as planilhas como primeira e ultima "Worksheet" pois é uma pasta de trabalho que extraio de um sistema e o nome da planilha é sempre diferente a cada vez que eu a extraio. Então o problema do meu código é esse: não sei como declarar os nomes das "sheets" (já que sempre serão nomes diferentes) para inseri-los na fórmula SOMASE.
Segue o código:
Dim i As Integer
Dim Linha As Integer
Dim ws As String
Linha = Range("A" & Rows.Count).End(xlUp).Row
ws = Worksheets(1)
For i = 2 To Linha Step 1
Range("B" & i).FormulaLocal = "=SOMASE(" & ws & "AI:AI;" & "A" & i & ";" & ws & "U:U)"
Next i
A macro acaba resultando esta fórmula:
=SOMASE(AI:AI;A2;U:U)
Quando era pra ficar assim:
=SOMASE(nome_da_plan1!AI:AI;A2;nome_da_plan1!U:U)
Espero ter usado os termos certos para a minha explicação. Comecei com VBA em excel a pouco tempo então... queria pedir a ajuda dos colegas aqui do fórum para corrigir o código.
Postado : 16/12/2013 10:12 pm