Usuário com melhor resposta
Duvida - Sistema de cadastro de envios

Pergunta
-
Bom dia,
Sou novo na área de programação, e atualmente estou trabalho em uma planilha que cadastra novos envios de documentos CAD aqui na empresa para termos o controle. através de um UserForm (Como se fosse um userform de cadastro de clientes). A planilha tem as seguintes colunas:
Nº PROTOCOLO ; NOME DO ARQUIVO ; DATA DE TRANSMISSÃO ; DESTINATÁRIO ;REMETENTE ; PROJETO; TRANSMISSÃO VIA ; DESIGNAÇÃO ; OBSERVAÇÃO ; ARQUIVADO
Nome do arquivo, destinatário, projeto e designação podem ter vários itens e pra cada item é necessário uma linha diferente pra facilitar no ato de pesquisar.
O meu problema é justamente esse, para o userform encontrar a primeira linha vazia para fazer um outro cadastro, eu preciso colocar uma coluna como range, porém nem sempre essa coluna é a que contem mais itens.
Alguem tem alguma sugestão, para no ato de encontrar a célula vazia para iniciar outro processo, ele faça uma varredura entre todas as colunas disponiveis e verifica a coluna mais longa para começçar o cadastro a partir dela,
Segue o código
Private Sub cmdGravar_Click() Dim lItem As Long 'Ativar a primeira planilha ThisWorkbook.Worksheets("PROTOCOLOS").Activate 'Selecionar a célula D3 Range("D3").Select 'Procurar a primeira célula vazia Do If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True 'Carregar os dados digitados nas caixas de texto para a planilha ActiveCell.Offset(0, -3).Value = Range("K1").Value + 1 ActiveCell.Offset(0, -1).Value = txtDataTransmissão.Value For lItem = 0 To ListBox1Dest.ListCount - 1 If ListBox1Dest.Selected(lItem) = True Then Range("D10536").End(xlUp)(2, 1) = ListBox1Dest.List(lItem) ListBox1Dest.Selected(lItem) = False End If Next ActiveCell.Offset(0, 1).Value = txtremetente.Value For lItem = 0 To ListBox1Dest.ListCount - 1 If ListBoxProj.Selected(lItem) = True Then Range("F10536").End(xlUp)(2, 1) = ListBoxProj.List(lItem) ListBoxProj.Selected(lItem) = False End If Next For lItem = 0 To ListBoxArquivos.ListCount - 1 If ListBoxArquivos.Selected(lItem) = False Then Range("B10536").End(xlUp)(2, 1) = ListBoxArquivos.List(lItem) ListBoxArquivos.Selected(lItem) = False End If Next For lItem = 0 To ListBoxArquivos2.ListCount - 1 If ListBoxArquivos2.Selected(lItem) = False Then Range("H10536").End(xlUp)(2, 1) = ListBoxArquivos2.List(lItem) ListBoxArquivos2.Selected(lItem) = False End If Next ActiveCell.Offset(0, 3).Value = txttrans.Value ActiveCell.Offset(0, 5).Value = txtObs.Value ActiveCell.EntireRow.Select With Selection.Borders(xlEdgeTop) .LineStyle = xlContinuous .ColorIndex = 0 .TintAndShade = 0 .Weight = xlMedium End With 'Limpar as caixas de texto txtDataTransmissão.Value = Empty txtremetente.Value = Empty ListBoxProj.Value = Empty txttrans.Value = Empty txtObs.Value = Empty 'Aumenta em 1 o numero do protocolo Range("K1").Select ActiveCell.Value = ActiveCell.Value ActiveCell.Value = ActiveCell.Value + 1 'Colocar o foco na primeira caixa de texto txtNomeArquivo.SetFocus End Sub
Respostas
-
Boa tarde, VitorSSantiago. Tudo bem?
Obrigado por usar o fórum MSDN.
Essa seria uma questão de "Break Fix/Erro" ou "How to/Customização"?
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 7 de agosto de 2017 13:14
Todas as Respostas
-
Boa tarde, VitorSSantiago. Tudo bem?
Obrigado por usar o fórum MSDN.
Essa seria uma questão de "Break Fix/Erro" ou "How to/Customização"?
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 7 de agosto de 2017 13:14
-
Bom dia,
Por falta de retorno essa thread está sendo encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.