Usuário com melhor resposta
Códigos VBA não funcionam quando protejo a planilha para compartilhmento

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
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.
- Editado Anderson F. Diniz quinta-feira, 14 de agosto de 2014 00:23
- Sugerido como Resposta Anderson F. Diniz quinta-feira, 14 de agosto de 2014 00:23
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:27
-
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:27
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.
- Editado Anderson F. Diniz quinta-feira, 14 de agosto de 2014 00:23
- Sugerido como Resposta Anderson F. Diniz quinta-feira, 14 de agosto de 2014 00:23
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:27
-
-
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
- Marcado como Resposta Felipe Costa GualbertoMVP, Moderator sexta-feira, 17 de outubro de 2014 00:27