USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Passagem de parâmetros como constantes em Subrotin
Leonardo Marque
não registrado
ENUNCIADA !
Postada em 20/04/2011 17:32 hs   
Olá pessoal,

Tenho um código que resumidamente é assim

Public Const var1 As Integer = 1

Sub Chamadora()
myRotina(var1)
End Sub

Sub minhaRotina(ByVal var2 As Integer)
Dim Vetor(0 To var2) As Integer
End Sub

Quando tento executar o pedaço de código acima, sempre recebo "era esperado um valor constante", entretanto, var2 recebe var1 que é uma constante.

Talvez algo no "tempo de compilação" de minhaRotina, o compilador já exigiria saber o valor de var2.

Sou novato no VB, estou escrevendo algumas macros para automatizar uma planilha, e estou tentando escreve-las o mas genéricas possíveis.

Se alguém puder me dar uma luz como posso contornar esse problema, eu agradeço antecipadamente!
 
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 20/04/2011 23:04 hs            
eu não entendi pra que tantas funções?????

você deseja criar uma array dinâmica é isso?
   
Juan Carlos R.A
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 22/04/2011 20:35 hs            
seja mais especifico o que vc quer realmente.
   
Macaubal
MACAUBAL
SP - BRASIL
ENUNCIADA !
Postada em 25/04/2011 14:10 hs            
os Nomes estão diferentes? É assim mesmo???

Sub Chamadora()
myRotina(var1)  '----- aqui não pode estar entre parentes já q não retorna valor
End Sub

Sub minhaRotina(ByVal var2 As Integer)
Dim Vetor(0 To var2) As Integer
End Sub

   
Leonardo M.
não registrado
ENUNCIADA !
Postada em 25/04/2011 15:14 hs   
Public Const var1 As Integer = 1

Sub Chamadora()
minhaRotina(var1)
End Sub

Sub minhaRotina(ByVal var2 As Integer)
Dim Vetor(0 To var2) As Integer
End Sub

Então, quando executo a subrotina acima, recebo o seguinte erro:
Erro de compilação: Expressão constante obrigatória
 
Acredito que o erro se deva a variável var2, entretanto, não estou sabendo contornar isso. Como fazer o VB entender que var2 é uma CONSTANTE.
 
Por que esse monte de subrotina? Pois, esse programa é para automação de uma planilha no excel, e quando eu chamo uma macro, eu não posso passar parâmetros, então eu chamo um subrotina sem parâmetros que chama outra com parâmetros.
Pq os parâmetros? Pois estou tentando fazer a subrotina o mais genêrica possível.
 
Agradeço antecipadamente a atenção.
   
Leonardo M.
não registrado
ENUNCIADA !
Postada em 26/04/2011 14:12 hs   
-Resolvido. Solução:
 
Public Const var1 As Integer = 1

Sub Chamadora()
minhaRotina(var1)
End Sub

Sub minhaRotina(ByVal var2 As Integer)
Dim Vetor As Variant
ReDim Vetor(var2)
End Sub
   
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página