Página 1 de 1

Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 07:46
por andriessen
Bom dia! Procurei bastante mas não consegui resolver.

Consegui fazer 2 variaveis.
Comecorng pega a primeira celula que quero colocar na formula (no meu caso J3)
Fimrng pega a ultima linha desta coluna que contem numero. (tanto a J3 como a final podem variar de linha)

consegui levar o cursor até onde eu quero somar esta range. (nao posso simplesmente colocar a formula la porque ela tb varia de acordo com os itens que tem na tabela.

VB

Sub RangeEquip()
Dim comecorng As Variant
Dim fimrng As Variant
Dim x
Set Procurar = Cells.Find(What:="Equip.", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)

If Not (Procurar Is Nothing) Then
Procurar.Select

ActiveCell.Offset(1, 9).Select
comecorng = ActiveCell.Address
Selection.End(xlDown).Select
fimrng = ActiveCell.Address

Set ProcurarTotEquip = Cells.Find(What:="Total Equipamentos", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not (ProcurarTotEquip Is Nothing) Then
ProcurarTotEquip.Select
ActiveCell.Offset(0, 7).Select

'@@@@@@@@@@ Aqui deveria inserir a formula @@@@@@@@@@@@@@@@@@@
ActiveCell.Value = "=" & "(" & comecorng & ":" & fimrng & ")"

End If
End If

End Sub

mas o que me aparece la na celula é =(@$J$13:$J$14) na barra de formulas e na celula @VALOR

Alguém poderia me auxiliar.

Grato

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 09:33
por AfonsoMira
A formula que você quer é a de SOMA certo?

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 09:35
por AfonsoMira
Veja se é assim:
Código: Selecionar todos
Sub RangeEquip()
Dim comecorng As Variant
Dim fimrng As Variant
Dim x
Set Procurar = Cells.Find(What:="Equip.", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)

If Not (Procurar Is Nothing) Then
Procurar.Select

ActiveCell.Offset(1, 9).Select
comecorng = ActiveCell.Address
Selection.End(xlDown).Select
fimrng = ActiveCell.Address

Set ProcurarTotEquip = Cells.Find(What:="Total Equipamentos", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not (ProcurarTotEquip Is Nothing) Then
ProcurarTotEquip.Select
ActiveCell.Offset(0, 7).Select

'@@@@@@@@@@ Aqui deveria inserir a formula @@@@@@@@@@@@@@@@@@@
ActiveCell.Value = "=SOMA(" & comecorng & ":" & fimrng & ")"

End If
End If

End Sub

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 10:23
por andriessen
Bom dia! Continua aparecendo o @ na formula e escreve #NOME agora

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 11:17
por AfonsoMira
Tem como disponibilizar o ficheiro para poder ajudar melhor?
Caso não possa crie um de exemplo com dados ficticios.

Obrigado. :)

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 11:32
por andriessen
vou mandar, a senha para entrar é PAULO senha 12 a macro esta no modulo 1
esta é teste alguns comandos alipodem não estar funcionando, preciso mesmo que a PLANILHA1 atualize esta informação.

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 12:03
por AfonsoMira
Experimente com esse:
Código: Selecionar todos
   Sub RangeEquip1()
Dim comecorng As Variant
Dim fimrng As Variant
Dim x
Set Procurar = Cells.Find(What:="Equip.", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)

If Not (Procurar Is Nothing) Then
Procurar.Select

ActiveCell.Offset(1, 9).Select
comecorng = ActiveCell.Address
Selection.End(xlDown).Select
fimrng = ActiveCell.Address

Set ProcurarTotEquip = Cells.Find(What:="Total Equipamentos", After:=ActiveCell, _
LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
If Not (ProcurarTotEquip Is Nothing) Then
ProcurarTotEquip.Select
ActiveCell.Offset(0, 7).Select

'@@@@@@@@@@ Aqui deveria inserir a formula @@@@@@@@@@@@@@@@@@@
ActiveCell.Value = "=SUM(" & comecorng & ":" & fimrng & ")"

End If
End If

End Sub

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 12:55
por andriessen
Funcionou. Poderia me dizer onde estava o erro?
ai coloco como resolvido.
Mas antes disso, MUITO OBRIGADO.

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 13:20
por AfonsoMira
Então antes eu tinha metido assim: "=SOMA(" & comecorng & ":" & fimrng & ")" com a fórmula em português.
Então como deu erro tentei em inglês e deu certo.

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 13:29
por andriessen
nao acho mais onde coloca o resolvido. tem mais 2 questoes abertas mas nao acho o icone RESOLVIDO.

Re: Fazer uma range com base em 2 variaveis

Enviado: 06 Nov 2020 às 13:37
por AfonsoMira
Por enquanto o botão resolvido está desabilitado.
Por isso não se preocupe assim que esteja habilitado de novo marcaremos como resolvido.