Notifications
Clear all

Referenciar worksheet por variável

3 Posts
3 Usuários
0 Reactions
603 Visualizações
(@carvalhido)
Posts: 0
New Member
Topic starter
 

Na célula A2, o usuário vai digitar o nome de uma worksheet. As worksheets são nomeadas de 01 a 31 (dias do mês).

Ao clicar no botão de Macro, o valor da célula D5 será o resultado da subtração da célula D4 pela célula j16 da worksheet previamente especificada na célula A2.

O código abaixo funciona, mas eu gostaria que ao invés de ter o "06", este valor seja aquele especificado na célula A2.

Range("D5").Value = Range("D4").Value - Worksheets("06").Range("j16").Value

Assim, se eu mudar a célula A2 para 15, ao clicar no botão, a fórmula seria:

Range("D5").Value = Range("D4").Value - Worksheets("15").Range("j16").Value

em outras palavras, seria algo do tipo:

Range("D5").Value = Range("D4").Value - Worksheets(VARIAVEL).Range("j16").Value
 
Postado : 06/02/2015 12:41 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 
Range("D5").Value = Range("D4").Value - Worksheets(Range("A2").Value).Range("j16").Value
 
Postado : 06/02/2015 12:57 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Hm...

VC pode ter problemas ao por usar números como string, mas tente assim:

Dim ws_nome as string

ws_nome = CStr(Range("A2").text)

Range("D5").Value = Range("D4").Value - Worksheets(ws_nome).Range("j16").Value

PS: não testei.

https://msdn.microsoft.com/en-us/library/office/aa221564(v=office.11).aspx

 
Postado : 06/02/2015 12:59 pm