Notifications
Clear all

Eliminar um select que gera falha na planilha

4 Posts
3 Usuários
0 Reactions
1,001 Visualizações
(@gilbertjrs)
Posts: 0
New Member
Topic starter
 

Pessoal, bom dia.

Não estou conseguindo eliminarr o uso de SELECT num trecho de código para copiar um range de uma sheet e colar em outra, e isto está gerando erro quando oculto a sheet na qual é realizado o SELECT.

Segue o código

    With .Sheets("Departamentos")
        ultLin = .Cells(Rows.Count, "A").End(xlUp).Row
        .Range("A1" & ":D" & ultLin).Copy
    End With
    
    With .Sheets("Validações")
        Planilha = .Name
        .Select
        .Range("D1").Select
        .Paste
    End With

Agradeço a quem me der este help

 
Postado : 27/03/2017 5:37 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente assim:

With .Sheets("Departamentos")
    ultLin = .Cells(Rows.Count, "A").End(xlUp).Row
    .Range("A1" & ":D" & ultLin).Copy Destination:=Worksheets("Validações").Range("D1")
End With
 
Postado : 27/03/2017 5:54 am
(@teleguiado)
Posts: 0
New Member
 

Para rodar uma macro a planilha não pode estar oculta. Se tentar rodar a macro com a planilha oculta vai dar erro.

 
Postado : 27/03/2017 5:56 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Para rodar uma macro a planilha não pode estar oculta. Se tentar rodar a macro com a planilha oculta vai dar erro.

Informação errada. Equivocada.

A solução sem precisar exibir que inclusive roda se a planilha estiver oculta, é essa:

Dim shtDeptos       As Excel.Worksheet
Dim shtValidacao    As Excel.Worksheet
    
    With ThisWorkbook
        Set shtDeptos = .Worksheets("Departamentos")
        Set shtValidacao = .Worksheets("Validações")
    End With
    
    With shtDeptos
        ultLin = .Cells(.Rows.Count, "A").End(xlUp).Row
        .Range("A1" & ":D" & ultLin).Copy shtValidacao.Range("D1")
    End With
    
    Set shtDeptos = Nothing
    Set shtValidacao = Nothing
 
Postado : 27/03/2017 7:02 am