Notifications
Clear all

Macro que tira permissão de edição de Intervalos

11 Posts
1 Usuários
0 Reactions
1,991 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom Dia Pessoal!!

Alguem pode me ajudar em dois problemas?!?!

1. Queria executar uma macro que excluisse todas as "Permissões que os Usuários Editem Intervalos" da planilha. Já tentei gravando macro só que nunca funciona!

2. Gostaria de executar uma macro que copia algumas celulas dessa planilha e cola em outra planilha, só que o nome da primeira planilha varia de acordo com o numero do pedido e a data, e tambem não tá dando! Alguem sabe como copiar uma celula de uma planilha sem que ela exija o nome do arquivo de onde estou copiando?

Valeu Galera!!!

 
Postado : 05/06/2012 8:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa tarde!!

Por favor leia as regras do fórum, os arquivos devem ser compactado!!!

Veja Nossas Regras em:
viewtopic.php?f=7&t=203

Seu arquivo foi deletado, favor posta-lo Compactado!!!
Att

 
Postado : 05/06/2012 11:42 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Opa, desculpa, não tinha reparado essa parte!

Anexo postado novamente!

 
Postado : 05/06/2012 11:52 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Quanto sua dúvida número 1. veja..

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim NewValue As Variant, OldValue As Variant
    If Target.Count > 1 Then Exit Sub
     'Mude o intervalo de acordo com sua necessidade
    If Not Intersect(Target, Range("A1:F10")) Is Nothing Then
        NewValue = Target.Value
        Application.EnableEvents = False
        Application.Undo
        OldValue = Target.Value
        If OldValue = "" Then
    Target.Value = NewValue
    ElseIf InputBox("Digite a Senha") = "suasenha" Then
    Target.Value = NewValue
    Else: MsgBox "Você não pode alterar o conteudo da celula.", 16, "Células Bloqueadas"
    Target.Value = OldValue

        End If
        Application.EnableEvents = True
    End If
End Sub

já sua duvida número dois poderia explicar melhor....

 
Postado : 05/06/2012 5:21 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Seguinte, a Planilha em anexo se chama "Pedido 10028 - 05-06-2012.xlsm" e nela tem uma macro que copia algumas informações do Pedido e cola em outro arquivo chamado "Comissão.xlsx". Só que depois disso eu preciso copiar o arquivo do "Pedido 10028' e renomea-lo para "Pedido 10029 - 05-06-2012", e ao executar a mesma macro dá erro porque o nome do arquivo é diferente na Macro! Sendo que a macro deve fazer a mesma copia de algumas informações do "Pedido 10029" para esse mesmo arquivo "Comissão.xlsx"
Resumindo, precisaria de uma macro que considerasse o nome do arquivo que esta sendo executado e não o que foi criado!
Será que isso é possível?

 
Postado : 05/06/2012 10:03 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Alexandrevba,

Tem como executar tirar as permissao da edição de intervalos, atraves de macro, tipo quando eu clicar no botao "Salvar Pedido", ele tira a permissao da edição, impedindo que o pedido seja modificado?!?!?!

 
Postado : 05/06/2012 10:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Testou ou tentou adaptar o código que lhe mandei???

Att

 
Postado : 06/06/2012 4:32 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Adaptar como?

 
Postado : 06/06/2012 10:14 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Bom dia!!

Veja agora....o anexo

 
Postado : 06/06/2012 11:36 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Oi Alexandre,

É exatamente essa trava que eu queria que a planilha tenha sim, só que queria saber se existe a possibilidade de ela começar a funcionar após o clique de algum botão.

Exemplo, O vendedor tira o pedido normalmente, e após ele clicar no botão salvar Pedido, a trava entra em ação e não deixa que ele edite mais a planilha!

Tem como colocar ela pra funcionar em um botão???

 
Postado : 06/06/2012 1:08 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Essa rotina vai te ajudar, é questão de adaptar.
Fonte: http://www.vbaexpress.com/kb/getarticle.php?kb_id=664

Option Explicit
 
Sub StopSheet()
     '   Kill Cell Selection on Dashboard Sheet
     
    With Plan1 'Code Name
         
         '        Disable scrolling by setting the scroll area to one cell
        .ScrollArea = Range("A1").Address
         
         '        Disable cell selection
        .EnableSelection = xlNoSelection
         
         '        Protect the sheet with user-interface set
        .Protect , , , , True
         
    End With
     
End Sub
 
 
Sub StartSheet()
     '   Reset the sheet
     
    With Plan1
         
         '        Unprotect the sheet
        .Unprotect
         
        .Range("A1").Select
         
         '        Re-open the scroll area
        .ScrollArea = Empty
         
         '        Allow for cell selection
        .EnableSelection = xlNoRestrictions
         
    End With
     
End Sub
 
Postado : 09/06/2012 3:16 pm