Macro Excel

manelito

Power Member
Olá a todos,

preciso de fazer uma macro para um cálculo numa folha que fiz, mas já estou com a cabeça às voltas....não oconsigo....definitivamente...eu vou tentar explicar:

tenho um célula (A1, por exemplo) na qual introduzo valores de 1 até 25. Depois de feito o cálculo é-me apresentado numa outra célula (B1, por exemplo) o resultado feito a partir de cada um dos dados que introduzi em A1.

O que eu queria era que o a macro fizesse o cálculo para todos os valores de A1 de 1 até 25 e me apresentasse o resultado do cálculo de cada um desses valores (B1) na forma de uma tabela.

A1 B1
1 (resultado)
2 (resultado)
3 (resultado)
. (resultado)
. (resultado)
. (resultado)
23 (resultado)
24 (resultado)
25 (resultado)



O cálculo de cada um destes inputs é feito com recurso a algo assim:


Muito obrigado!
 
Última edição:
Neste momento, a macro que eu fiz está assim:

Código:
Sub POT()
'
' POT Macro
' Macro recorded 24/09/2008 by manelito
'
Range("C2").Select
ActiveCell.FormulaR1C1 = "1"
Range("C2").Select
ActiveCell.FormulaR1C1 = "2"
Range("C2").Select
ActiveCell.FormulaR1C1 = "3"
Range("C2").Select
ActiveCell.FormulaR1C1 = "4"
Range("C2").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "5"
Range("C2").Select
ActiveCell.FormulaR1C1 = "6"
Range("C2").Select
ActiveCell.FormulaR1C1 = "7"
Range("C2").Select
ActiveCell.FormulaR1C1 = "8"
Range("C2").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "9"
Range("C2").Select
ActiveCell.FormulaR1C1 = "10"
Range("C2").Select
ActiveCell.FormulaR1C1 = "11"
Range("C2").Select
ActiveCell.FormulaR1C1 = "12"
Range("C2").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "13"
Range("C2").Select
ActiveCell.FormulaR1C1 = "14"
Range("C2").Select
ActiveCell.FormulaR1C1 = "15"
Range("C2").Select
ActiveCell.FormulaR1C1 = "16"
Range("C2").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "17"
Range("C2").Select
Range("C2").Select
ActiveCell.FormulaR1C1 = "18"
Range("C2").Select
ActiveCell.FormulaR1C1 = "19"
Range("C2").Select
ActiveCell.FormulaR1C1 = "20"
Range("C2").Select
 
Set dataTableRange = Worksheets("Folha1").Range("X2:X26")
Set rowInputCell = Worksheets("Folha1").Range("$C$2")
Set columnInputCell = Worksheets("Folha1").Range("$C$2")
Worksheets("Folha1").Range("W2:W26").Formula = "=$T$37*$C$8"
For i = 1 To 25
Worksheets("Folha1").Cells(i + 1, 22) = i
Next i
End Sub


O problema é que na coluna B, nas linhas de 1 até 25 imprime sempre o valor do último valor calculado, para A1=25 e não para cada um dos valores de A1, de 1 até 25.

Se alguém me puder ajudar, agradecia imenso, tenho muita urgência nisto.
Obrigado.
 
Última edição pelo moderador:
Essa macro esta demasiado complicada faz algo do genero penso q fará o q pretendes
Código:
Sub calculo()

'dimensionamento
Dim i As Integer


For i = 1 To 25

'escreve os valores de A na coluna w
  Cells(i+1, 23) = i
'calcula com base no valor na celula T4 e escreve na coluna x
  Cells(i+1, 24) = Cells(4, 20) * i
Next

End Sub
ta mto simples a macro podes ir complicando conforme te der jeito
 
Olá, antes de mais obrigado pela resposta.
Desta forma está a multiplicar-me os valores da célula T4 pelos valores de 1 até 25. O que eu pretendo é que para cada valor de 1 até 25 que tome na célula A (a cada um desses valores na A existe um correspondente na célula T4) e que os coloque sob a forma de tabela tal como fez com a macro que me propuseste.
Isto porque o valor de A é um valor de entrada, e o de T4 é o resultado de um cálculo e a relação entre estes dois não é directa.


Não sei se fui claro....
obrigado
 
Última edição:
Eh pá! consegui! :)

Depois de pegar no código que partilhaste, consegui moldá-lo de forma a fazer o que eu pretendia...finalmente! :):009:

obrigado...e já agora aqui vai o resultado:
Código:
Sub calculo()
'dimensionamento
Dim i As Integer

For i = 1 To 25
Cells(2, 3) = i
'escreve os valores de A na coluna w
Cells(i + 1, 23) = i
'calcula com base no valor na celula T4 e escreve na coluna x
Cells(i + 1, 24) = Cells(4, 20)
Next
End Sub
Espectacular :P
Para quem começou a fazer macros este fim de semana, está uma categoria! muito obrigado pela ajuda!

Isto é para traçar uma curva de potência de um aerogerador, com base no cálculo aerodinâmico que existe entre as duas células que estavam na base da minha dúvida!

Done!
 
Última edição pelo moderador:
Back
Topo