Notifications
Clear all

VBA - Problema para chamar planilhas para mesma condição.

5 Posts
3 Usuários
0 Reactions
962 Visualizações
(@madi-land)
Posts: 33
Eminent Member
Topic starter
 

Boa noite, tudo bem?!

Estou enviando em anexo o arquivo com um exemplo do que desejo fazer.

O QUE PRECISO FAZER: Usar a mesma condição para várias planilhas, e somar o valor identificado em cada planilha, se a planilha atender à condição.
OBSERVAÇÃO: As planilhas possuem o mesmo formato e a mesma posição das células, a única diferença entre elas é o nome delas, que será (B1; B2; B3; B4; B5; ... e assim por diante).

Preciso desta condição, pois para o fim que vou usar o excel, terei um número grande de planilhas para a condição.

OBJETIVO VBA: Usar o comando FOR para repetir a condição de em todas as planilhas.

PROBLEMA ENCONTRADO: Não consegui chamar as planilhas diferentes para a condição.

Segue abaixo a programação que fiz no VBA:

****************************************************************************************************************************************************************************************
Sub testesoma()

Dim soma As Integer 'Esta variável deverá somar o valor se a a barra `x` atender à condição.
Dim x As Integer 'variavel que conta quantas barras existem na treliça.

x = INICIO.Range("L3").Value 'A variavel x serve para saber o limite do comando 'for', ou seja, por quantas barras irá passar.

Dim barra As Integer 'A variavel barra servirá para trabalhar junto com o comando 'for'.

For barra = 1 To x

If B&barra.Range("D3").Value = "1" And B&barra.Range("E3").Value = "1" Then
'Aqui está o erro pois não sei como usar o FOR para várias planílhas diferentes, onde a única coisa diferente é o nome das planílhas, (B1, B2, B3, B4, B5, ...)

soma = soma + B&barra.Range("F3").Value

Else

soma = soma

End If

Next barra

Resultado.Range("C7").Value = soma 'Grava o resultado da variável SOMA na planilha que se chama RESULTADO.

End Sub

****************************************************************************************************************************************************************************************

Aguardo uma ajuda.

Agradeço desde já.

Abraço.

 
Postado : 21/10/2014 10:01 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Bom dai!!

Uma forma resolve isso.

=SOMA(INICIO!F3;'B1:B6'!F3)

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 22/10/2014 5:19 am
(@madi-land)
Posts: 33
Eminent Member
Topic starter
 

Bom dia Alexandre.

Agradeço a resposta, mas a soma não é meu problema.
Meu problema é dentro do VBA, onde preciso, chamar várias planilhas diferentes a partir do nome.
Preciso fazer a condição para a planilha B1, depois para planilha B2, depois para planilha B3 e assim por diante, de acordo com o número de planilhas "B´barra´", onde barra é o número de planilhas que serão repetidos a condição.

 
Postado : 22/10/2014 6:30 am
Reinaldo
(@rlm)
Posts: 246
Estimable Member
 

Experimente

Sub testesoma()
Dim soma As Integer 'Esta variável deverá somar o valor se a a barra `x` atender à condição.
Dim x As Integer 'variavel que conta quantas barras existem na treliça.
Dim barra As Integer 'A variavel barra servirá para trabalhar junto com o comando 'for'.
Dim Plan As Worksheet
'A variavel x serve para saber o limite do comando 'for', ou seja, por quantas barras irá passar.
x = INICIO.Range("L3").Value

For barra = 1 To x
Set Plan = Sheets("B" & barra)

    If Plan.Range("D3").Value = 1 And Plan.Range("E3").Value = 1 Then
        soma = soma + Plan.Range("F3").Value
    Else
    End If
Next barra
RESULTADO.Range("C7").Value = soma 'Grava o resultado da variável SOMA na planilha que se chama RESULTADO.
End Sub

Reinaldo

 
Postado : 22/10/2014 7:09 am
(@madi-land)
Posts: 33
Eminent Member
Topic starter
 

Boa tarde Reinaldo.

Muito obrigado pela ajuda. Não conhecia este comando ainda. Funcionou bem como queria.

Obrigado.

Abrass..

 
Postado : 22/10/2014 11:02 am