Ir ao conteúdo
  • Cadastre-se

Excel Como fazer chamada de parâmetros em uma função


Posts recomendados

Boa tarde, 

 

Minha duvida é bem simples só to acostumado com outras linguagens e ainda to boiando sobre a passagem de parâmetros. A situação é a seguinte: Tenho um useforme com várias textbox que puxam o valor de uma planilha e criam um formulário de preenchimento. Como são muitas textbox e tenho que programar em uma por uma o caminho da célula que ela vai buscar a informação eu resolvi criar uma função e mudar somente as variáveis pra que eu ganhasse tempo ao invés de ter que escrever dentro de uma por uma, daí a dúvida: Como passo os parâmetros C(coluna) e L(linha) para dentro da função TextBox_Exit?

A dúvida é boba, mas já apanhei muito hoje. Obrigado

Private Sub TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean, ByVal C As Double, ByVal L As Double)
If Worksheets("PILOTO CCK ").Cells(L, C) > Worksheets("PILOTO CCK ").Cells(L, C + 2) Or Worksheets("PILOTO CCK ").Cells(L, C) < Worksheets("PILOTO CCK ").Cells(L, C + 3) Then
MsgBox ("Teste!")
End If
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim C As Double
Dim L As Double
C = 4
L = 9
Call TextBox_Exit(Cancel, Me.TextBox1, C, L)
End Sub

 

Link para o comentário
Compartilhar em outros sites

@CasaDoHardware Alterei para isso para ver se resolvia, mas dá o seguinte erro: Número de argumentos incorreto ou atribuição de propriedade inválida

Public Sub Trata_TextBox_Exit(ByVal Cancel As MSForms.ReturnBoolean, ByRef C As Double, ByRef L As Double)
C = C
L = L
If Worksheets("PILOTO CCK ").Cells(L, C) > Worksheets("PILOTO CCK ").Cells(L, C + 2) Or Worksheets("PILOTO CCK ").Cells(L, C) < Worksheets("PILOTO CCK ").Cells(L, C + 3) Then
MsgBox ("Teste!")
End If
End Sub
Public Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim CC As Double
Dim LL As Double
CC = 4
LL = 9
Call Trata_TextBox_Exit(Cancel, Me.TextBox1, CC, LL)
End Sub

 

Link para o comentário
Compartilhar em outros sites

A função pode ser criada apenas com os dois parâmetros

 

Public Sub Trata_TextBox_Exit(ByRef C As Double, ByRef L As Double)
If Worksheets("PILOTO CCK ").Cells(L, C) > Worksheets("PILOTO CCK ").Cells(L, C + 2) Or Worksheets("PILOTO CCK ").Cells(L, C) < Worksheets("PILOTO CCK ").Cells(L, C + 3) Then
MsgBox ("Teste!")
End If
End Sub

 

Aí basta chamar a função passando os dois valores

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!