Página 1 de 1

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 10:55
por fazerbem
Desculpem abrir novamente este tópico, mas pensei ter resolvido meu problema. Da forma que esta , se a pessoa abrir a Planilha pelo Email e a data tiver expirada tudo bem, mas se ele salvar e abrir de novo sem a macro, ai que ta o problema.

Preciso que Habilitando ou nao a Macro , e validade vencida, a Tela de Aviso apareça. Se Habilitado entao aciona a Macro e vai aparecer uma mensagem que esta ligada a Data da Celula H4 da Aba Pedido . (tive que deixar a barra de rolagem oculta, por nao ter meu objetivo final alcançado ), solicitando que me peça uma Planilha atualizada.

- Se a Data estiver ok ( Macro Habilitado ), entao a Aba de "AVISO " nao aparece. As Abas "PEDIDO", "RESUMO", "NOVO", SIM estas aparecem, porem as Abas Processamento, Clientes e COD, ficam ocultas.

- Se a Data estiver OK ( Macro desabilitada ), entao somente a Aba "AVISO" ira aparecer e todas as outras Abas nem ocultas vao aparecer.

- Se a Data estiver desatualizada, estando a Macro Habilitada ou Desabilitada ( conforme a data que esta na celula H4 da Aba "PEDIDO" ), entao somente a Aba "AVISO" irá aparecer, e todas as demais nao aparecerá, e nem ficaram ocultas.

- Mesmo se a pessoa Salvar a Planilha e abrir depois com Macro desligada, somente a Tela de Aviso vai aparecer.

- Se a Macro estiver Habilitada e Data Vencida, a Useform que criei tanto servira para informar a Loja que deve solicitar uma nova Tabela , quanto para mim poder entrar na Tabela e modificar a data em H4 da Aba Pedido.

Acho que deu pra entender o que quero.

Muito Obrigado !

Este codigo aqui fica em : Esta Pasta de Trabalho
Código: Selecionar todos
Private Sub Workbook_Open()
Dim Ws1 As Worksheet
Dim Edate As Date
Dim WS As Worksheet

Sheets("AVISO").Select

'O código vai exibir a guia desejada antes de fechar o arquivo
'Obs: Caso as macros do usuario, não esteja habilitada, ele não verá o que deseja ver
    Set WS = Worksheets("PEDIDO")
    WS.Visible = True
    
    'Aqui coloque quando a data irá expirar
    'Edate = Format("16/11/2015", "DD/MM/YYYY")
    Edate = Format([H4], "DD/MM/YYYY")
    
    If Date > Edate Then ' + [B1] Then
        MsgBox "          TABELA DESATUALIZADA !"
        UserForm1.Show
    'Else
        Set Ws1 = Sheets("PEDIDO")
        Range("D7").Select
        
        
        
        Exit Sub
    End If

        Sheets("PEDIDO").Select
        Range("D7").Select

End Sub
 


Aqui é a useform1
Código: Selecionar todos
Private Sub Sair_Click()
'Botao Sair

Application.Quit


End Sub

Private Sub Entrar_Click()
'Botao Entrar

If Senha.Text = "" Then
MsgBox "DIGITE A SENHA", vbInformation, "Erro"

ElseIf Senha.Text = "861485" Then
     Unload UserForm1
     Application.Visible = True

ElseIf Senha.Text <> "861485" Then
MsgBox "***USO RESTRITO*** TECLE  - ( SAIR )", vbInformation, "Erro"

End If

End Sub

Private Sub UserForm_Initialize()
'esconder fundo

Application.Visible = False

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
'nao deixar fecha mensagem MSGBOX

If CloseMode = vbFormControlMenu Then
Cancel = True
End If

End Sub


Reabrindo o topico validade

Enviado: 01 Dez 2015 às 12:44
por Parkeless
André,

Postar a planilha por favor.

Re: Reabrindo o topico validade

Enviado: 01 Dez 2015 às 12:58
por fazerbem
Parkeless escreveu:André,

Postar a planilha por favor.

Segue no anexo

Grato de novo.

Andre

Re: Reabrindo o topico validade

Enviado: 01 Dez 2015 às 13:34
por Parkeless
André,

Estava faltando a macro beforeclose... corrigi, dá uma olhada.

Obs.: Para não ficar aparecendo a tela de aviso antes da pessoa ter que confirmar se quer salvar ou não, coloquei um salvamento automático (fechando a planilha, já salva as alterações). Se quiser tirar isso, só entrar no código e retirar a linha Activeworkbook.save, no código BeforeClose.

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 13:55
por fazerbem
Agora SIm, deu certo.

Muito obrigado de novo, e quanto a minha outra tabela, vou depois criar outro topico e postar pra vc fazer aquela modificacao do topico anterior. É coisa boba mesmo pra quem sabe.

Vc vai ver que a Tabela tem muitos detalhes, mas é necessário porque trabalho sozinho tanto na representacao quanto na minha lojinha de suplemntos. Dai tenho que ter tudo a mao e num so lugar.

Abracos e muito obrigado de novo !

Quero aqui agradecer tambem ao Alexandre Vba e a todos os outros amigos aqui do forum que nos ajudam !!

Andre Luiz

Re: Reabrindo o topico validade

Enviado: 01 Dez 2015 às 14:28
por fazerbem
ola,

Deu esse erro aqui,\

Imagem

Quando rodei a primeira vez tb deu dai fechei a tela e rodou bz.

Mas agora voltou a dar de novo.

Andre

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 14:47
por Parkeless
Tenta trocar o .Select por .Activate; vê se resolve.

Dúvida: quando dá isso, se você apertar F5, o código continua a execução e termina sem erro?

Re: Reabrindo o topico validade

Enviado: 01 Dez 2015 às 15:08
por fazerbem
Achei aqui o problema mas nao entendi.

Se eu deixar a Macro em 2 nao da o problema, mas se eu deixar habilitado 1, 3 ou 4 da o erro.

A opcao 4 nao era pra dar erro. pois deixo assim nesta opcao quando rodo minhas coisas aqui.

1, 3 e 4 vao apontar erro na imagem na resposta acima.


Imagem

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 15:24
por fazerbem
Se eu apertar F5 ou F8 continua o erro


Erro em tempo de execucao 1004
O metodo activate da classe Worksheet falou ( ou o metodo select...)

Sheets("AVISO").Activate se coloco o ( ' ) ai pula de liha mas para aqui

Edate = Format([H4], "DD/MM/YYYY")



dai tenho que dar FIm e entao cai na tela de aviso somente.


mas se coloco macro desabilitada na opcao 2 entao tudo funciona bem.

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 15:34
por Parkeless
André,

Essa linha Sheets("AVISO").Select acredito que você possa simplesmente excluir, porque está sobrando ali. Já quanto ao segundo erro, não sei o que pode estar errado porque não fui eu quem bolou essa parte do código.

Mas, estranho, porque está funcionando tudo aqui.

Reabrindo o topico validade

Enviado: 01 Dez 2015 às 16:19
por fazerbem
eu fuço muito aqui, entao fiz o seguinte, reparei que ao digitar a area onde entro com o CNPJ, todas as informacoes apareciam, mas na celula CNPJ ficava assim: ############################################

Dai vi que tinha um erro , nao sei qual, entao ficou mais facil e peguei todo o seu codigo que vc fez e colei na minha Tabela onde estava ainda intacta. REsultado foi OK

nao deu este erro acima, ########################, e habilitando o excel para Macro ou nao a tabela funciona chupeta.

Nao sei o motivo mas a tabela que recebi de vc veio com erro.

O importante e que ficou joia, Muito obrigado de novo !!!

Andre