Ir ao conteúdo
  • Cadastre-se

kiko_pcruz

Membro Júnior
  • Posts

    9
  • Cadastrado em

  • Última visita

Reputação

1
  1. Basole, desculpa a ansiedade rs então pesquisando na net achei um modelo que atende o eu queria, mas o problema que para travar a planilha preciso inserir o codigo (numero do hd) dentro do vb, então pergunto, ao invés de inserir esse codigo dentro da vb acho melhor cadastrar esse codigo na ultima coluna da planilha e se possivel cadastrar mais de um código, estou sugerindo a ultima coluna porque o libre office tem menso coluna do o excel então seria mais uma dificuldade para que for burlar a planilha. segue em anexo o modelo encontrado, são duas planilhas uma gera o numero do HD e a outra trava a planilha. primeiro você abre e gera o codigo e depois joga pra dentro do vb da outra sem habilitar as macros. Nova pasta (2).zip
  2. Pensando nesse exemplo, acho que podemos fazer um comparativo de registros por exemplo ao rodar essa macro a planilha registrasse o numero do hd da maquina que esta em uso e comparasse com o numero do hd registrado pelo adm da planilha, se tiver registrado liberado caso contrario negado, como faço para ao invés de aparecer o numero do hd em msgbox aparecer em uma célula na planilha?
  3. Entendi então eu preciso que a macro acione um comando no DOS para acionar o nº do HD e liberar uma especie de chave e verifique se ela esta cadastrada na planilha. caso libera instantaneamente caso contrario não abre o arquivo. Acho que estamos chegando perto.. Legal e como faço para essa planilha abrir automaticamente se o pc estiver cadastrado, caso contrario ela pede o registro.
  4. Entendi então eu preciso que a macro acione um comando no DOS para acionar o nº do HD e liberar uma especie de chave e verifique se ela esta cadastrada na planilha. caso libera instantaneamente caso contrario não abre o arquivo. Acho que estamos chegando perto..
  5. A primeira opção é boa, acho que é o caminho para desenvolver o que preciso que é algo bem parecido com a segunda opção, obrigado Basole, vou continuar pesquisando a partir desse principio.
  6. Boa tarde mestres. Gostaria de saber se tem como desenvolver uma macro no excel para abrir a planilha somente pelo registro de ip do computador, assim somente as maquinas cadastradas poderiam abrir a planilha do trabalho, sem a possibilidade de copia - las sem autorização. Estou pesquisando mas ate agora não achei nada. Desde ja obrigado!
  7. Muito obrigado Osvaldo funcionou conforme sua orientação, coloquei esse codigo por ultimo antes do end sub e rodou perfeitamente. Agradeço muito pela ajuda e parabéns a todos do grupo.
  8. Agradeço a ajuda @CasaDoHardware mas não adiantou, poderia dar um exemplo por favor?coloquei conforme mencionado, mas mesmo assim ainda da erro de copilação, diz que esse argumento não é opcional.
  9. Bom dia Sres Sou iniciante no vba e estou tentando juntar esses dois códigos na planilha porém como os dois eventos são chamados "Change" esta dando erro de copilação. Gostaria de saber de dar pra colocar para rodar esses dois códigos abaixo. Private Sub Worksheet_Change(ByVal Alvo As Range) Dim limite_maximo As Integer limite_maximo = 5000 ' altere aqui para limitar a última linha ' faz nada se mais de uma célula modificada ou se deu delete If Alvo.Cells.Count > 1 Or IsEmpty(Alvo) Then Exit Sub If Alvo.Column = 1 And Alvo.Row >= 2 And Alvo.Row <= limite_maximo Then ' o if acima garante que a célula modificada está dentro a2:a100 ' ' desliga captura do evento change Application.EnableEvents = False ' muda a célula F da linha correspondente Alvo.Offset(0, 6).Value = Date ' muda a célula G da linha correspondente Alvo.Offset(0, 7).Value = Time() ' religa a captura de eventos Application.EnableEvents = True End If If Alvo.Column = 9 And Alvo.Row >= 10 And Alvo.Row <= limite_maximo Then ' o if acima garante que a célula modificada está dentro a2:a100 ' ' desliga captura do evento change Application.EnableEvents = False ' muda a célula G da linha correspondente Alvo.Offset(0, 1).Value = Time() ' religa a captura de eventos Application.EnableEvents = True End If If Alvo.Column = 11 And Alvo.Row >= 12 And Alvo.Row <= limite_maximo Then ' o if acima garante que a célula modificada está dentro a2:a100 ' ' desliga captura do evento change Application.EnableEvents = False ' muda a célula F da linha correspondente Alvo.Offset(0, 1).Value = Date ' muda a célula G da linha correspondente Alvo.Offset(0, 2).Value = Time() ' religa a captura de eventos Application.EnableEvents = True End If End Sub Segundo código Sub Busca(i As Long) 'Define as Sheets Set p1 = Sheets("Controle") Set p2 = Sheets("Cadastro") 'Limite da busca Frow2 = p2.Range("A65536").End(xlUp).Row For J = 2 To Frow2 If p1.Cells(i, 1).Value = p2.Cells(J, 1) Then p1.Cells(i, 2).Value = p2.Cells(J, 2) p1.Cells(i, "B").Value = p2.Cells(J, 3) p1.Cells(i, "C").Value = p2.Cells(J, 4) J = Frow2 + 1 End If Next J End If End sub Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 Then Busca Target.Row End If End Sub Desde ja agradeço quem puder ajudar. Pasta2.xlsm

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...