Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por fazerbem
Posts
#5446
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

Avatar do usuário
Por Parkeless
Posts Avatar
#5453
André,

Postar a planilha por favor.
Por fazerbem
Posts
#5456
Parkeless escreveu:André,

Postar a planilha por favor.

Segue no anexo

Grato de novo.

Andre
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Parkeless
Posts Avatar
#5460
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.
Você não está autorizado a ver ou baixar esse anexo.
Por fazerbem
Posts
#5462
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
Avatar do usuário
Por Parkeless
Posts Avatar
#5467
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?
Por fazerbem
Posts
#5469
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
Por fazerbem
Posts
#5470
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.
Avatar do usuário
Por Parkeless
Posts Avatar
#5471
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.
Por fazerbem
Posts
#5474
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord