none
Códigos VBA não funcionam quando protejo a planilha para compartilhmento RRS feed

  • Pergunta

  • A minha planilha funciona perfeitamente enquanto não protejo e compartilho a pasta de trabalho. O objetivo é disponibilizar a planilha para outros usuários utilizarem em rede. Quando protejo a planilha, ocorre o erro 'Não é possível definir a propriedade Hidden da classe Range' . Segue abaixo o código que apresenta problemas:

    If OptionButton1 = True Then
        Rows("41:63").EntireRow.Hidden = True
        ThisWorkbook.Sheets("Operação").Protect "YaPiVa"
        Sheets("Sócios").Select
        ThisWorkbook.Sheets("Sócios").Unprotect "YaPiVa"
        Rows("22:30").EntireRow.Hidden = True
        ThisWorkbook.Sheets("Sócios").Protect "YaPiVa"
        Sheets("Avalistas").Select
        ThisWorkbook.Sheets("Avalistas").Unprotect "YaPiVa"
        Rows("23:35").EntireRow.Hidden = True
        ThisWorkbook.Sheets("Avalistas").Protect "YaPiVa"
        ThisWorkbook.Sheets("Ata").Unprotect "YaPiVa"
        ThisWorkbook.Sheets("Ata").Visible = True
        ThisWorkbook.Sheets("Ata").Select
        
        Rows("14:15").EntireRow.Hidden = True
       
    Else
        Rows("41:63").EntireRow.Hidden = False
        ThisWorkbook.Sheets("Operação").Protect "YaPiVa"
        Sheets("Sócios").Select
        ActiveSheet.Unprotect "YaPiVa"
        Rows("22:30").EntireRow.Hidden = False
        ActiveSheet.Protect "YaPiVa"
        Sheets("Avalistas").Select
        ActiveSheet.Unprotect "YaPiVa"
        Rows("23:35").EntireRow.Hidden = False
        ActiveSheet.Protect "YaPiVa"
        Sheets("Ata").Visible = True
        Sheets("Ata").Select
        Rows("14:15").EntireRow.Hidden = False
        ActiveSheet.Unprotect "YaPiVa"
        

    End If

    quarta-feira, 13 de agosto de 2014 21:57

Respostas

  • Tente desproteger primeiro, depois executar algo na planilha e aí protegê-la novamente.

    Por exemplo:

     
    ThisWorkbook.Sheets("Operação").unProtect "YaPiVa"
    ThisWorkbook.Sheets("Operação").Rows("41:63").EntireRow.Hidden = True
    ThisWorkbook.Sheets("Operação").Protect "YaPiVa"
    Por favor, marque a resposta e vote nas postagens que considerou úteis.

     
    quarta-feira, 13 de agosto de 2014 23:55
  • Você não pode ocultar linhas ou colunas de uma pasta de trabalho compartilhada. Se quiser fazer isso, descompartilhe-a, oculte as linhas/colunas que deseja, e em seguida compartilhe-a novamente.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 5 de setembro de 2014 15:49
    Moderador

Todas as Respostas

  • Tente desproteger primeiro, depois executar algo na planilha e aí protegê-la novamente.

    Por exemplo:

     
    ThisWorkbook.Sheets("Operação").unProtect "YaPiVa"
    ThisWorkbook.Sheets("Operação").Rows("41:63").EntireRow.Hidden = True
    ThisWorkbook.Sheets("Operação").Protect "YaPiVa"
    Por favor, marque a resposta e vote nas postagens que considerou úteis.

     
    quarta-feira, 13 de agosto de 2014 23:55
  • Agradeço desde já a ajuda porque tornou o código mais limpo e mais fácil de ler, mas o problema continua quando protejo e compartilho a pasta de trabalho.
    quinta-feira, 14 de agosto de 2014 21:45
  • Você não pode ocultar linhas ou colunas de uma pasta de trabalho compartilhada. Se quiser fazer isso, descompartilhe-a, oculte as linhas/colunas que deseja, e em seguida compartilhe-a novamente.

    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    sexta-feira, 5 de setembro de 2014 15:49
    Moderador