Página 1 de 1

Erro de macro em planilha ocultada

Enviado: 09 Mar 2017 às 11:04
por gilbertjuniors
Pessoal, bom dia.

Descrição da macro:
Existe uma planilha Sheet("Validações") e tem uma coluna que preciso colocar dados escolhidos através de um UserForm.
Na macro, primeiramente limpo o conteúdo pré-existente através do seguinte código:
Código: Selecionar todos
 With ThisWorkbook.Sheets("Validações")
        .Select
        .Range("C" & firstLine & ":F300").Select
    End With
    
    With Selection
        .ClearContents
        .Interior.Pattern = xlNone
        .Interior.TintAndShade = 0
        .Interior.PatternTintAndShade = 0
    End With
Tudo funciona perfeitamente porém,
esta aba Sheet("Validações") precisa ficar ocultada, quando isto ocorre da erro no .select

Por gentileza como faço para solucionar este erro?

Erro de macro em planilha ocultada

Enviado: 09 Mar 2017 às 11:09
por Feka
Desoculte a planilha antes do select e no final oculte de novo.

Para deixar visivel: Sheets("plan1").visible = xlSheetVisible
Para ocultar: Sheets("plan1").visible = xlSheetHidden
Para deixar muito oculto: Sheets("plan1").visible = xlSheetVeryHidden

Erro de macro em planilha ocultada

Enviado: 09 Mar 2017 às 11:49
por Feka
Uma observação, evite usar o select, ele torna mais lerdo o processo e é desnecessário, você não precisa selecionar uma planilha ou uma célula para fazer alterações.

Seu código poderia se resumir a isso:

With ThisWorkbook.Sheets("Validações").Range("C" & firstLine & ":F300")
.ClearContents
.Interior.Pattern = xlNone
.Interior.TintAndShade = 0
.Interior.PatternTintAndShade = 0
End With

Re: Erro de macro em planilha ocultada

Enviado: 24 Mar 2017 às 13:08
por gilbertjuniors
Boa tarde.

Eu não consegui eliminar o SELECT quando eu cola células que foram copiadas, portanto ainda está dando falha em planilhas ocultadas
Segue o código:
Código: Selecionar todos
        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
Como posso eliminar o SELECT deste trecho de código?