Ir para conteúdo
Fórum Script Brasil

««Påþs2»»

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre ««Påþs2»»

««Påþs2»»'s Achievements

0

Reputação

  1. Alguém? PS.: Mal tar dando up, mas é que tenho que entregar o trabalho ainda essa semana e tal... :ninja:
  2. Cara, isso já foi uma graaande mão na roda...funcionou certinho, maaas... Sub final() Dim data As String Dim ticker As String data = InputBox("Insira a Data") ticker = InputBox("Insira o Ticker") Range("I1").Value = data Range("I2").Value = UCase(ticker) resultado = Application.WorksheetFunction.VLookup(Range("I1"), Range("A1:F62"), Application.WorksheetFunction.Match(Range("I2"), Range("A1:F1"), 0), 0) MsgBox ("O rendimento do ticker " & ticker & " em " & data & " foi de " & resultado & "%") End Sub Ainda tive que colocar os valores da data e do ticker em células, que não consegui botar direto na fórmula...tentei sem aspas, com, com 2 e com 3 e nada... :wacko: Vlw ae, cara... Já ajudou bastaaante! ;)
  3. E ae... Eu tou sabendo dessas paradas, mas fiz assim porque não sei comparar variáveis do tipo Date...como as datas possíveis são aquelas no intervalo de 9/2002 a 8/2007 , eu comparei strings quebrando esse valor... If (Right(data, 4) < 2002) _ Or ((Right(data, 4) = 2002) And ((Len(data) = 6 And Left(data, 1) < 9))) _ Or (Right(data, 4) > 2007) _ Or ((Right(data, 4) = 2007) And ((Len(data) = 6 And Left(data, 1) = 9) Or (Len(data) = 7))) Then MsgBox "A data especificada deve estar no intervalo de 9/2002 a 8/2007" + Chr$(13) + Chr$(13) & "Tente novamente!", 0 + 16 + 0 + 4096, "Formato incorreto" Exit Sub End If Provavelmente não é a melhor maneira de fazer isso, mas deu certo... =P Quanto ao Ticker, ele é o nome da ação de determinada empresa...no caso, os possíveis são PETR4 (Petrobras), BBAS3 (Banco do Brasil), CSNA4 (CSN), LAME4 (Lojas Americanas) e ARCZ6 (Aracruz)... Será que o erro tá por aí? Eu acho que tem mais a ver com a sintaxe ou mesmo a contrução da função, sei lá...
  4. Po, tentei várias coisas e nenhuma funcionou... Sub Exercicio_Final() Dim data As String Dim ticker As String Dim resultado2 As Single data = InputBox("Insira a Data") ticker = InputBox("Insira o Ticker") resultado2 = resultado(data, ticker) * 100 resultado2 = Round(resultado2, 2) MsgBox("O rendimento do ticker " & ticker & " em " & data & " foi de " & resultado2 & "%") End Sub Function resultado(data, ticker) resultado = Evaluate("=+vlookup(""" & data & """, A1:F67, """ & ticker & """)") End Function Quais erros tem aqui? Dá erro de tempo de execução 13 (tipos incompatíveis) :mellow:
  5. E ae, cara... Entendi que a MsgBox não pode ter a fórmula diretamente...então minha pergunta passa a ser outra... Como definir uma variável com essa fórmula? Algo do tipo: resultado = "=VLOOKUP(I1,A1:F62,MATCH(I2,A1:F1,0))" Só sei fazer com Range("I3").Formula , mas é isso que quero evitar... PS.: Pode mover pra VBA sim, nem tinha visto esse sub-fórum, mal.. :ninja: Vlw ae! ;)
  6. E ae, galera... Tou iniciando agora no VB e tou com uma dúvida um tanto quanto simples, mas que ninguém que perguntei sabe a resposta... Tou fazendo um trabalho pra um curso, no qual eu tenho uma tabela com a cotação mensal (média) de 5 ações diferentes num período de quase 5 anos. Na primeira coluna tenho a data e nas 5 seguintes as empresas. Dae tenho que fazer dois InputBox's, um para inserir a data e outro pra inserir o ticker (código da empresa) e tenho que retornar o resultado em uma MsgBox. Bem simples, não? A questão é que eu tenho que fazer uma procura vertical (PROCV no Excel ou VLookUp no VB) pra pegar a cotação da empresa especificada, mas não consigo botar essa fórmula dentro da MsgBox direto. Eu até consegui fazer, mas tive que 'salvar' os dados enviados em células e depois pegar esses dados e colocar na MsgBox. O problema é que assim a Macro perde totalmente o sentido, já que seria mais fácil digitar as informações nas células do que nos InputBox's... =P Bom, basicamente isso. Se eu não tiver sido claro é só perguntar... Vlw ae!
×
×
  • Criar Novo...