Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
#7646
Boa noite!!
Estou acompanhando uma video aula até o momento estava indo bem mas quando cheguei na parte para inserir dados no banco e clico no meu botão5 que é o que irá gravar esses dados ele diz que a variável não está definida. segue abaixo o trecho de erro e logo abaixo postarei o código completo por desencargo.
Código: Selecionar todos
Private Sub CommandButton5_Click()
A = Application.WorksheetFunction.CountA(Plan1.Columns(1)) + 1
Plan2.Cells(A, 1) = TextBox1.Text
Plan2.Cells(A, 2) = TextBox2.Text
Plan2.Cells(A, 3) = TextBox3.Text
Plan2.Cells(A, 4) = TextBox4.Text
Plan2.Cells(A, 5) = ComboBox1.Text
Plan2.Cells(A, 6) = TextBox5.Text

End Sub

abaixo codigo completo
[code]
Option Explicit

Private Sub CommandButton1_Click()

TextBox1 = Application.WorksheetFunction.Max(Plan2.Columns(1)) + 1  'chama codigo automático contagem maxima + 1'

TextBox2.Enabled = True
TextBox3.Enabled = True
TextBox4.Enabled = True
ComboBox1.Enabled = True
TextBox5.Enabled = True


TextBox2 = ""
TextBox3 = Date 'chama data atual'
TextBox4 = ""
ComboBox1 = ""
TextBox5 = ""

CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
CommandButton5.Enabled = True
CommandButton6.Enabled = True


End Sub

Private Sub CommandButton2_Click()

TextBox1.Enabled = True
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
CommandButton5.Enabled = True
CommandButton6.Enabled = True

End Sub

Private Sub CommandButton3_Click()

TextBox1.Enabled = True
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
CommandButton5.Enabled = True
CommandButton6.Enabled = True
End Sub

Private Sub CommandButton4_Click()

TextBox1.Enabled = True
CommandButton1.Enabled = False
CommandButton2.Enabled = False
CommandButton3.Enabled = False
CommandButton4.Enabled = False
CommandButton5.Enabled = True
CommandButton6.Enabled = True
End Sub

Private Sub CommandButton5_Click()
A = Application.WorksheetFunction.CountA(Plan1.Columns(1)) + 1
Plan2.Cells(A, 1) = TextBox1.Text
Plan2.Cells(A, 2) = TextBox2.Text
Plan2.Cells(A, 3) = TextBox3.Text
Plan2.Cells(A, 4) = TextBox4.Text
Plan2.Cells(A, 5) = ComboBox1.Text
Plan2.Cells(A, 6) = TextBox5.Text

End Sub


Private Sub CommandButton6_Click()

TextBox1 = ""
TextBox2 = ""
TextBox3 = ""    'LIMPA TEXT'
TextBox4 = ""
TextBox5 = ""
ComboBox1 = ""

TextBox1.Enabled = False
TextBox2.Enabled = False
TextBox3.Enabled = False  'DESABILITA TEXT'
TextBox4.Enabled = False
TextBox5.Enabled = False
ComboBox1.Enabled = False

CommandButton1.Enabled = True
CommandButton2.Enabled = True
CommandButton3.Enabled = True  'HABILITA BOTÃO'
CommandButton4.Enabled = True
CommandButton5.Enabled = False
CommandButton6.Enabled = False



End Sub

Private Sub UserForm_Click()

End Sub

Private Sub UserForm_Initialize()
ComboBox1.AddItem "TECDOS"

End Sub
[/code]
#7699
Olá parceiro,
Eu vi no código completo que você usou a Instrução Option Explicit, essa instrução obriga que todas as variáveis sejam definidas, pelo que vi você não declarou a variável A, formado assim esse erro que na verdade é mais um aviso que você pediu ao seu código.
então tente assim e veja se dá certo qualquer coisa estou a disposição:
Código: Selecionar todos
Private Sub CommandButton5_Click()
Dim A As Integer
A = Application.WorksheetFunction.CountA(Plan1.Columns(1)) + 1
Plan2.Cells(A, 1) = TextBox1.Text
Plan2.Cells(A, 2) = TextBox2.Text
Plan2.Cells(A, 3) = TextBox3.Text
Plan2.Cells(A, 4) = TextBox4.Text
Plan2.Cells(A, 5) = ComboBox1.Text
Plan2.Cells(A, 6) = TextBox5.Text

End Sub
#7702
Muito agradecido Lucas, funcionou mas me trouxe uma curiosidade o Option Explicit obriga a declarar a variável no video que estou acompanhando o instrutor não declara e funciona só por curiosidade poderia me mostrar como faria para fazer:
a = Application.WorksheetFunction.CountA(Plan2.Columns(1)) + 1

e funcionar como ele faz , mas ja estou contente assim mesmo .


grato.
#7703
Olá Anderson,

só por curiosidade, qual a versão do Excel ?
O meu é 2013 e funcionou sem declarar a variável.
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord