Specify last line to fill in form - VBA

Asked

Viewed 131 times

1

I am making a form and I want the person to register only 6x (only 6 lines) the content. How to limit this amount ?

inserir a descrição da imagem aqui

As an example above, I put the rows and columns and when I fill in the form, new numbers go down

    Private Sub CmdSalvar_Click()
Dim Linha As Integer

'Valor inicial da Variável Linha
Linha = 85

**Do Until ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 8).Value = Empty
    Linha = Linha + 1**

Loop
'SE o usuário não entrar com os dados
If TxtMes.Value = Empty Or TxtAno.Value = Empty Then
    ElseIf TxtLeitura.Value = Empty Or TxtConsumo.Value = Empty Then

        MsgBox ("Preencha todos os dados!")
Else
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 8).Value = TxtMes.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 9).Value = TxtAno.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 11).Value = TxtLeitura.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 14).Value = TxtConsumo.Value
End If


End Sub

I believe it is because of the following lines:

**Do Until ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 8).Value = Empty
        Linha = Linha + 1**

But how to change to stop the fill on line 90 ? (Starts on line 85 and I want to stop at 90)

1 answer

0

You can add a conditional if to quit the function if you pass line 90.

Code

With the following code:

'Verifica se a Linha é maior do que 90
If Linha > 90 Then
    MsgBox "Você não pode mais inserir cadastros. Mensagem de aviso!"
    Exit Sub
End If

Complete Code

Dim Linha As Long

'Valor inicial da Variável Linha
Linha = 85

Do Until ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 8).Value = Empty
    Linha = Linha + 1
Loop
'Verifica se a Linha é maior do que 90
If Linha > 90 Then
    MsgBox "Você não pode mais inserir cadastros. Mensagem de aviso!"
    Exit Sub
End If

'SE o usuário não entrar com os dados
If TxtMes.Value = Empty Or TxtAno.Value = Empty Then
ElseIf TxtLeitura.Value = Empty Or TxtConsumo.Value = Empty Then

    MsgBox ("Preencha todos os dados!")
Else
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 8).Value = TxtMes.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 9).Value = TxtAno.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 11).Value = TxtLeitura.Value
    ThisWorkbook.Sheets("CADASTRO").Cells(Linha, 14).Value = TxtConsumo.Value
End If

Browser other questions tagged

You are not signed in. Login or sign up in order to post.