Ir ao conteúdo

Posts recomendados

Postado

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

 

Postado

@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

 

Postado

Além dos parâmetros de linha e coluna (L e C), qual a necessidade de criar outros?

 

O evento da função TextBox1_Exit já é referente ao controle que está chamando a função, então não há a necessidade de passar um parâmetro para identificar o TextBox.

Postado

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

 

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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!