Página 1 de 1

Iniciar planilha com 20 linhas ate o primeiro texto

Enviado: 17 Set 2020 às 07:07
por andriessen
Bom dia!
Em anexo tenho uma planilha modelo.
Preciso saber se tem como ao abrir esta planilha tudo que esta (agora) em E20 permaneça em E20.
Ex: se ao fechar o usuario excluiu linhas a mais eu quero que ao abrir tudo seja movido a partir de E20.
Tem a Planilha ERRADO e a correto como exemplo.

Obrigado

Re: Iniciar planilha com 20 linhas ate o primeiro texto

Enviado: 17 Set 2020 às 13:40
por babdallas
Veja se atende. Criei a seguinte função para retornar a linha onde está escrito "Total Equipe".
Código: Selecionar todos
Public Function lngLinhaTotalEquipe() As Long
    Dim lngLinha            As Long
    
    With Application.WorksheetFunction
        lngLinha = .Match("Total Equipe", Planilha2.Range("E:E"), 0)
    End With
    
    lngLinhaTotalEquipe = lngLinha
End Function
Depois criei a subrotina abaixo para inserir u excluir linhas:
Código: Selecionar todos
Public Sub InsereDeletaLinha()
    Dim lngLinha        As Long
    
    lngLinha = lngLinhaTotalEquipe
    
    If lngLinha < 20 Then
        Planilha2.Range("E" & lngLinha).Resize(20 - lngLinha).EntireRow.Insert Shift:=xlDown
    ElseIf lngLinha > 20 Then
        Planilha2.Range("E" & lngLinha).Resize(20 - lngLinha).EntireRow.Delete Shift:=xlUp
    End If
End Sub
No evento Activate da planilha ERRADO e no evento Open do Workbook eu inclui o seguinte código:
Código: Selecionar todos
Private Sub Worksheet_Activate()
    InsereDeletaLinha
End Sub

Private Sub Workbook_Open()
    InsereDeletaLinha
End Sub

Iniciar planilha com 20 linhas ate o primeiro texto

Enviado: 17 Set 2020 às 14:19
por andriessen
Opa. Obrigado. Não existe a planilha certo e errado. é apenas uma , crei as duas no exemplo apenas para demonstrar. vou testar aqui. e te falo
Obrigado

Iniciar planilha com 20 linhas ate o primeiro texto

Enviado: 17 Set 2020 às 18:29
por andriessen
Ola, quando a linha esta menor que 20 funciona legal, coloquei na linha 22 e ai travou.
Erro em tempo de execução1004
Não é possivelobter a propriedade MATCH da classe Worksheet function

Re: Iniciar planilha com 20 linhas ate o primeiro texto

Enviado: 18 Set 2020 às 08:20
por babdallas
Corrigi esta linha
Código: Selecionar todos
Planilha2.Range("E20").Resize(lngLinha - 20).EntireRow.Delete Shift:=xlUp
Espero que tenha resolvido.