Desculpe galera a falta de consideração, agora que reli o texto parece que desejo que façam o script inteiro pra mim.
Como conheço muito pouco de VBA, gostaria que me dessem apenas uma luz de como fazer essa tarefa.
Um ponto inicial, pra eu ter de onde partir, saber o que eu preciso procurar e funções que eu preciso utilizar, desculpem minha falta de educação.
Quero simplesmente que me digam se consigo fazer isso, e pelo menos me ajudem com os nomes de funções e prometo que eu mesmo faço.
Por atuar com redes há um maior tempo, num sou muito bom com programação, mas preciso de um empurrãozinho, num precisa ser um script pronto.
Bom dia galera, sou iniciante no VBA, não tenho muito talento com programação e preciso programar uma rotina no Excel.
O que acontece, meu gerente pediu que eu criasse uma planilha de apropriação de horas para controlar os projetistas que temos aqui na empresa.
Ele quer que essa planilha fique na maquina de cada um e eles passem a utilizar como um diário de bordo, quando eles ligarem o computador vou colocar a planilha pra iniciar automaticamente, eles vão lembrar que precisam definir em qual projeto estão trabalhando.
Porém eu quero que eles insiram o minimo de informações possíveis, ou seja, até como uma maneira de controlar sua chegada na empresa o horário precisa ser pego automaticamente, dessa forma já possuo um servidor de horas e politicas, pra evitar que qualquer pessoa consiga manipular essas informações alterando a hora de sua maquina.
O que pensei em fazer.
montei uma planilha com 12 abas na qual cada uma se refere a um mês, com cerca de 600 linhas disponíveis para inserção, eles não vão chegar a tanto, porém é melhor prever que os projetos possam aumentar .
A inserção dos dados começa a partir da linha 7 devido ao cabeçalho.
Os únicos campos digitáveis são: PROJETO e OBSERVAÇÂO.
Os campos FASE e ATIVIDADE ELABORADA, são selecionados numa Caixa de Validação.
O campo DATA, INICIO e TÉRMINO são automaticos.
O campo TOTAL HH, simplesmente subtrai a hora do campo TÉRMINO, pela hora do campo INICIO, dando o total de horas que o projetista levou naquele projeto.
O que minha macro precisa fazer?
Macro Botão Iniciar.
Ao abrir a planilha 1ª vez, ela deve estar toda bloqueada não permitindo alteração em nenhuma célula.
Ao clicar no Botão iniciar minha macro deve consultar qual a ultima linha preenchida, e liberar a proxima linha para inserção.
Ou seja, meus projetistas vão ter apenas uma linha para alterar, porque ele não pode estar trabalhando em dois projetos ao mesmo tempo.
O botão iniciar vai copiar a DATA da célula $M$7 que contém a formula Agora() e colar em modo texto na célula B7 (modo texto para evitar que ao abrir a planilha a hora seja atualizada, acredito que possa existir uma maneira mais fácil, mas foi a forma que eu encontrei.)
Vai copiar a Hora inicial que está célula $N$7 é a mesma fórmula Agora() a unica coisa que muda é a formatação da célula para exibir apenas hora e colar no Campo INICIO na célula F7.
Libera as quatro células que podem ser alteradas pelo projetista: (C7)PROJETO, (D7)FASE, (E7)ATIVIDADE ELABORADA E (I7)OBSERVAÇÂO.
A macro término deve copiar a Hora término que está na célula $O$7, a mesma fórmula Agora() a unica coisa que muda é a formatação da célula para exibir apenas hora e colar no Campo TÉRMINO na célula G7.
Seria interessante se ela abrisse uma caixa de mensagem perguntando, se realmente deseja finalizar essa linha, mas não sei se é possível. Para evitar erros.
E logo em seguida bloquear a linha inteira e não permitir nenhuma alteração.
Algumas coisas que devem acontecer.
O botão Iniciar não deve funcionar até que o botão terminar tenha encerrado a ultima inserção.
Para evitar qualquer tipo de problema, não sei qual função eu posso utilizar para permitir que o Iniciar após clicado só permita sua utilização depois de clicar no terminar (exceto a primeira vez na qual o mesmo não vai depender do botão terminar.
Pensei em algo como uma coluna onde ao clicar no botão de iniciar ele insira um valor, exemplo: 1
Onde se o valor de tal campo = 0 ele executa a macro iniciar e se diferente de 0 Simplesmente não faça nada.
Mas nem sei se estou certo em minha lógica.
Se alguém puder me ajudar?
Desculpem o tempo e o texto enorme, mas estou precisando de ajuda.
A planilha que eu criei tá nesse link, acho que assim fica mais facil de entender.
Question
juniorjones
Desculpe galera a falta de consideração, agora que reli o texto parece que desejo que façam o script inteiro pra mim.
Como conheço muito pouco de VBA, gostaria que me dessem apenas uma luz de como fazer essa tarefa.
Um ponto inicial, pra eu ter de onde partir, saber o que eu preciso procurar e funções que eu preciso utilizar, desculpem minha falta de educação.
Quero simplesmente que me digam se consigo fazer isso, e pelo menos me ajudem com os nomes de funções e prometo que eu mesmo faço.
Por atuar com redes há um maior tempo, num sou muito bom com programação, mas preciso de um empurrãozinho, num precisa ser um script pronto.
Bom dia galera, sou iniciante no VBA, não tenho muito talento com programação e preciso programar uma rotina no Excel.
O que acontece, meu gerente pediu que eu criasse uma planilha de apropriação de horas para controlar os projetistas que temos aqui na empresa.
Ele quer que essa planilha fique na maquina de cada um e eles passem a utilizar como um diário de bordo, quando eles ligarem o computador vou colocar a planilha pra iniciar automaticamente, eles vão lembrar que precisam definir em qual projeto estão trabalhando.
Porém eu quero que eles insiram o minimo de informações possíveis, ou seja, até como uma maneira de controlar sua chegada na empresa o horário precisa ser pego automaticamente, dessa forma já possuo um servidor de horas e politicas, pra evitar que qualquer pessoa consiga manipular essas informações alterando a hora de sua maquina.
O que pensei em fazer.
montei uma planilha com 12 abas na qual cada uma se refere a um mês, com cerca de 600 linhas disponíveis para inserção, eles não vão chegar a tanto, porém é melhor prever que os projetos possam aumentar .
Cada uma das planilhas tem 8 campos sendo suas respectivas letras de colunas: (B)DATA, ©PROJETO, (D)FASE, (E)ATIVIDADE ELABORADA, (F)INICIO, (G)TÉRMINO, (H)TOTAL HH, (I)OBSERVAÇÂO.
A inserção dos dados começa a partir da linha 7 devido ao cabeçalho.
Os únicos campos digitáveis são: PROJETO e OBSERVAÇÂO.
Os campos FASE e ATIVIDADE ELABORADA, são selecionados numa Caixa de Validação.
O campo DATA, INICIO e TÉRMINO são automaticos.
O campo TOTAL HH, simplesmente subtrai a hora do campo TÉRMINO, pela hora do campo INICIO, dando o total de horas que o projetista levou naquele projeto.
O que minha macro precisa fazer?
Macro Botão Iniciar.
Ao abrir a planilha 1ª vez, ela deve estar toda bloqueada não permitindo alteração em nenhuma célula.
Ao clicar no Botão iniciar minha macro deve consultar qual a ultima linha preenchida, e liberar a proxima linha para inserção.
Ou seja, meus projetistas vão ter apenas uma linha para alterar, porque ele não pode estar trabalhando em dois projetos ao mesmo tempo.
O botão iniciar vai copiar a DATA da célula $M$7 que contém a formula Agora() e colar em modo texto na célula B7 (modo texto para evitar que ao abrir a planilha a hora seja atualizada, acredito que possa existir uma maneira mais fácil, mas foi a forma que eu encontrei.)
Vai copiar a Hora inicial que está célula $N$7 é a mesma fórmula Agora() a unica coisa que muda é a formatação da célula para exibir apenas hora e colar no Campo INICIO na célula F7.
Libera as quatro células que podem ser alteradas pelo projetista: (C7)PROJETO, (D7)FASE, (E7)ATIVIDADE ELABORADA E (I7)OBSERVAÇÂO.
A macro término deve copiar a Hora término que está na célula $O$7, a mesma fórmula Agora() a unica coisa que muda é a formatação da célula para exibir apenas hora e colar no Campo TÉRMINO na célula G7.
Seria interessante se ela abrisse uma caixa de mensagem perguntando, se realmente deseja finalizar essa linha, mas não sei se é possível. Para evitar erros.
E logo em seguida bloquear a linha inteira e não permitir nenhuma alteração.
Algumas coisas que devem acontecer.
O botão Iniciar não deve funcionar até que o botão terminar tenha encerrado a ultima inserção.
Para evitar qualquer tipo de problema, não sei qual função eu posso utilizar para permitir que o Iniciar após clicado só permita sua utilização depois de clicar no terminar (exceto a primeira vez na qual o mesmo não vai depender do botão terminar.
Pensei em algo como uma coluna onde ao clicar no botão de iniciar ele insira um valor, exemplo: 1
Onde se o valor de tal campo = 0 ele executa a macro iniciar e se diferente de 0 Simplesmente não faça nada.
Mas nem sei se estou certo em minha lógica.
Se alguém puder me ajudar?
Desculpem o tempo e o texto enorme, mas estou precisando de ajuda.
A planilha que eu criei tá nesse link, acho que assim fica mais facil de entender.
http://www.4shared.com/document/A99hQFB ... Horas.html
Fico a disposição para maiores esclarecimentos e envio da planilha se necessário para ajudar.
Edited by juniorjonesLink to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.