Ir ao conteúdo
  • Cadastre-se

Vba em planilha compartilhada


Posts recomendados

Boa noite pessoal,

 

Tenho uma planilha onde pelo menos três usuários precisam utilizar juntos e preciso da função "Controlar alterações" ativada. Quando ativo a opção compartilhamento todo código executado retorna com erro. São códigos simples, exemplo abaixo, quem puder ajudar agradeço.

 

Private Sub CommandButton2_Click()
    Sheets("MENU").Select
End Sub
Private Sub CommandButton2_Click()
    ActiveSheet.Unprotect ("fq")
    ActiveSheet.Range("$A$1:$C$3000").AutoFilter Field:=2
    ActiveSheet.Range("$A$1:$C$3000").AutoFilter Field:=2, Criteria1:=""
    ActiveSheet.Range("$A$1:$C$300").AutoFilter Field:=3
    ActiveSheet.Range("$A$1:$C$3000").AutoFilter Field:=3, Criteria1:= _
        "CONCLUÍDO"
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True, Password:="fq"
 End Sub
Private Sub CommandButton3_Click()
ActiveWorkbook.Save
ActiveSheet.Unprotect ("fq")
Dim Nome As String
Dim ENDERECO As String
Nome = "Relatório para digitação "
DIA = Year(Date) & "." & Day(Date) & "." & Month(Date)
HORA = Hour(Time) & "." & Minute(Time) & "." & Second(Time)
user = Application.UserName
ENDERECO = "O:\Gerenciamento Laboratorio Sao José\Planilhas ensaios\Relatórios\"
Nome = "O:\Gerenciamento Laboratorio Sao José\Planilhas ensaios\Relatórios\" & Nome & "" & DIA & " " & HORA & " " & user & ".pdf"
ActiveSheet.Range("A1:AD3000").ExportAsFixedFormat Type:=xlTypePDF, Filename:=Nome
MSGBOX "Arquivo salvo na pasta 'O:\Gerenciamento Laboratorio Sao José\Planilhas ensaios\Relatórios'"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=False
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True, Password:="fq"
    ActiveSheet.Unprotect ("fq")
    Cells.Select
    ActiveSheet.Unprotect ("fq")
    Cells.EntireColumn.AutoFit
            ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
        , AllowFiltering:=True, Password:="fq"
    ActiveWorkbook.Save
    Sheets("MENU").Select
End Sub



 

 

 

Link para o comentário
Compartilhar em outros sites

Cara nem sei se existe solução para o seu caso, e sinceramente é a primeira vez que vejo esse tipo de problema.

 

Mas uma coisa que sempre disse Excel não foi feito para uso em rede, hora ou outra vai dar problema, seja por um motivo ou outro, mas sempre acontece.

 

Como você nao disponibilizou um arquivo modelo, minha sugestão, seria cada usuario utilize uma planilha independente e depois faça a consolidação para uma planilha mestre.

 

Não é a melhor opção (sinceramente prefiro tudo centralizado), mas sera a que menos problemas vai apresentar.

 

...

Link para o comentário
Compartilhar em outros sites

Boa noite,

 

Obrigado pelo seu contato!

 

Também prefiro tudo centralizado, mas caso eu desmembre tudo terei cerca de 20 planilhas, tenho três usuários, mas não tem como fazer um especifica para cada um.  Já estou resolvendo alguns "erros" removendo a função auto salvar.

 

Enfim, qualquer sugestão é bem vinda.

 

Valeu!!!

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois...

o que voce acha da ideia de criar um form (front end) para carregar estas informaçoes dentro das planilhas, se houver alguma alteração uma função irá identificar que o que voce vê esta desatualizado, solicita atualizar as informações e o que fica na tela de cada usuário é uma lista, o arquivo fica sempre fechado, tinha muitos problemas na empresa em que trabalho, hoje trabalhamos com SQL mas isso nos ajudou muito, tinhamos cerca de 30 pessoas usando o mesmo banco em excel

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

Isso é querer arrumar uma soulção para um prédio que foi construído na aréia, está afundando e mesmo assim insistem em fazer mais edifícios em cima. Pode até resolver temporariamente, porém cedo ou tarde vai da "M".

O mais sensato e profissional, é refazer o projeto migrando a base de dados para um SGBD>> ACCES, SQL, MySQL etc e adaptar seu FrontEnd em Excel para se conectar a essa base e manipular os dados como assim preferir.

Fora isso eu nem cogito em querer opnar em qual código vai resolver esse problema até que um dia a MS aprimore o Excel para que ele possa atuar também com o conceito de SGDB e em "rede com VBA".

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...