Ir ao conteúdo
  • Cadastre-se

Giancarlo de Oliveira

Membro Pleno
  • Posts

    25
  • Cadastrado em

  • Última visita

Tudo que Giancarlo de Oliveira postou

  1. @Basole Basole, Vou enviar de casa, aqui do trabalho não estou conseguindo, acho que o firewall daqui está bloqueando o upload. Nos falamos amanhã, mas obrigado adiantado por me dar essa esperança. Gian
  2. Boa tarde, Caros pesquisei no forum, mas não encontrei formas de usar os conteudos para o meu problema. Criei um form com uma listbox, essa listbox traz os dados de uma região especifica e reservada da planilha, que tem apenas essa função, no caso de fornecer os dados para preencher a listbox, até aí tudo funcionando. o que eu preciso é criar uma rotina nesse form, para que quando uma ou mais linhas da listbox estejam selecionadas, através de um botão ou duplo click esses dados sejam copiados para uma outra região da planilha. Tenho um critério importante, quando a linha selecionada na listbox for copiada para a região de destino, esses dados precisam ser empilhados logo abaixo do ultimo registro, isso considerando a célula A5 como referencia de topo, ou seja abaixo de A5 pode ser em qualquer linha em branco. Algo assim é possivel ? Existe alguma outra forma de reproduzir essa ação ? Muito grato a qualquer ajuda. Fiquem com Deus e ótima semana a todos.
  3. Boa tarde, Caros estou trabalhando em um formulário VBA para que os usuários de um setor insiram 3 tipos de dados diferentes em uma listbox. Depois preciso transferir esses dados para a planilha, mas de forma que os dados da listbox sejam inseridos em colunas que não ficam exatamente uma ao lado outra. Na prática, estou tentando fazer com que os dados das três colunas da minha listbox, sejam inseridos na minha planilha, seguindo a seguinte ordem: A 1º coluna da listbox deve ser inserida na coluna F da planilha A 2º coluna da listbox || na coluna D da planilha A 3º coluna da listbox || na coluna I da planilha Fora que ainda tenho que conseguir que o código seja capaz de empilhar esses dados sempre abaixo dos demais preenchimentos que já devem existir na planilha. Existe algum método que faça essa rotina ? Estou enviado meu trabalho para facilitar o entendimento, nesse exemplo que estou enviando já inseri um código, que transfere da listbox para a planilha, mas não sei como aplicar esses critérios que expliquei mais acima. Agradeço qualquer opinião. Fiquem com Deus TESTE ATIVIDADES.zip
  4. Boa noite, Patropi, o código atende metade da premissa. Com esse código consegui alterar as referencias de coluna e isso já é muito bom Mas quando alteramos os valores de alguma célula que eu já tenha inserido algum dado a hora acaba sendo atualizada. No meu caso preciso que após a hora surgir pela 1º vez ela não se atualize mais, mesmo mudando o valor de alguma célula que já foi preenchida. Tenho um outro projeto que esse código já está me ajudando Já agradeço de qualquer forma. Abraço irmão. Att. Gian
  5. Boa noite. Amigos estou travado em um problema relacionado a planilha com compartilhamento e Macros. Descobri da pior forma que minha planilha cheia de macros e forms não funciona ao ativar o compartilhamento dessa pasta de trabalho. Minha planilha funciona full em um computador, porém ao compartilhar a pasta de trabalho, os demais usuários apesar de conseguir visualizar os dados inseridos, não conseguem acessar os botões da planilha. Os botões servem para chamar os meus forms e disparar algumas ações para o preenchimento da planilha. A gênero de conselho, informação, caridade enfim...rsss É possível contornar esse limitação de alguma forma ? Quais seriam os caminhos possíveis para contornar. Já estou considerando usar uma pasta de trabalho intermediária sem macros que fique compartilhada e sirva de "banco de dados" entre as planilhas que tem os forms. Alguém já teve que lidar com isso, existe alguma solução confiável nesse sentido ? Se alguém se interessar pelo caso posso postar a planilha. Obrigado adiantado. Gian
  6. Boa noite, Amigos usei o seguinte código do @CasaDoHardware Private Sub Worksheet_Change(ByVal Target As Range) Dim li As Long li = ActiveCell.Row If Cells(li, 2).Value <> "" Then Exit Sub If Target.Column <> 1 Then Exit Sub If Range("A" & Target.Row).Value <> "" Then Range("B" & Target.Row).Value = Time End If End Sub Mas queria expandir o uso desse código para utiliza-lo referenciado em outras colunas da minha planilha. Nessa versão ele já funciona referenciado nas colunas A e B, onde ao inserir algum valor em células da coluna A, na célula ao lado (coluna ) surge a hora. Tentei alterar alguns parâmetros desse código para que ele também faça essa função referenciado por exemplo: ao inserir algum dado em células da H, na mesma e na coluna M apareça a hora. É possivel ?
  7. @CasaDoHardware Deu certo com o seu código... O problema não era o código que você me sugeriu, nem os códigos que eu já uso. O problema era a planilha em si. Tive que exportar meus formulários, copiar o códigos e recolocar tudo em uma pasta de trabalho nova. Inseri os códigos que você sugeriu e a minha planilha já esta funcionando como deveria, assim que clico no botão salvar dos meus forms, o código desprotege a planilha, insere os dados nas células e ao fim do código protege novamente a planilha. Muito show. Estou muito satisfeito com resultado, todos os recursos que eu tentei implementar estão operacionais e tudo graças a sua ajuda @CasaDoHardware, @Patropi e demais colegas do Fórum. Graças a vocês finalizei esse projeto. Muito Obrigado à todos. Att. Gian
  8. @CasaDoHardware Beleza Vou testar aqui e já digo se deu certo Mas obrigado de qualquer forma adicionado 13 minutos depois @CasaDoHardware Não conseguir usar o seu exemplo... Abaixo está o código que estou usando atualmente no botão salvar do meu form Private Sub btnSalvar_Click() 'SE FOR CÓDIGO, CONFIRMA NECESSIDADE MALETA (SIM MARCA A CHECKBOX, NÃO SALVA O VALOR NÃO) If cmbCodigo.Value <> "" Then Dim maleta As VbMsgBoxResult maleta = MsgBox("CÓDIGO SELECIONADO" + vbCrLf + "NECESSÁRIO MALETA ?", vbYesNo, "Maleta") If maleta = 6 Then chkMaleta.Value = True Else chkMaleta.Value = False End If End If 'ATIVA A PLANILHA ThisWorkbook.Worksheets("Rotativo").Activate 'SELECIONA A CÉLULA A5 Range("A5").Select 'PROCURA A PRIMEIRA CÉLULA VAZIA Do If Not (IsEmpty(ActiveCell)) Then ActiveCell.Offset(1, 0).Select End If Loop Until IsEmpty(ActiveCell) = True 'INSERE OS VALORES VALORES DAS TXT(s), CMB(s) E DEMAIS ITENS NA PLANILHA ActiveCell.Value = txtProntuario.Value ActiveCell.Offset(0, 1).Value = txtNome.Value ActiveCell.Offset(0, 2).Value = cmbOrigem.Value ActiveCell.Offset(0, 3).Value = cmbComplemento1.Value ActiveCell.Offset(0, 4).Value = cmbDestino.Value ActiveCell.Offset(0, 5).Value = cmbComplemento2.Value ActiveCell.Offset(0, 6).Value = cmbVeiculo.Value ActiveCell.Offset(0, 7).Value = txtSolicitante.Value ActiveCell.Offset(0, 12).Value = Now ActiveCell.Offset(0, 10).Value = cmbCodigo.Value ActiveCell.Offset(0, 17).Value = txtObservacoes.Value 'INSERE A PALAVRA "MALETA" OU "NÃO" DE ACORDO COM A SELEÇÃO DA CHECKBOX If chkMaleta.Value = True Then ActiveCell.Offset(0, 11).Value = "MALETA" Else ActiveCell.Offset(0, 11).Value = "NÃO" End If 'ATRIBUI O TEXTO NÃO PARA A COLUNA CÓDIGO CASO NENHUM CODIGO TENHA SIDO SELECIONADO If cmbCodigo.Value = "" Then ActiveCell.Offset(0, 10).Value = "NÃO" End If ActiveWorkbook.Save Unload Me End Sub É possível usar o seu código adaptando a estrutura que já estou usando ?
  9. Boa noite, Amigos estou em um pé de briga com uma planilha que estou produzindo para o meu trabalho. Tenho diversos macros, alguns botões, 7 forms e até agora com muita ajuda de todos aqui do Fórum esses recursos estão funcionando perfeitamente. Os forms servem para que os usuários gerem solicitações de atendimento e ao clicar em salvar esses dados são direcionados para locais específicos da minha planilha, até ai tranquilo. Quero agora realizar a seguinte rotina, ao clicar no botão salvar dos meus forms quero que a planilha que deve estar previamente toda bloqueada, seja rapidamente desbloqueada, os dados sejam inseridos nas células apropriadas e em seguida as células voltem a ficar bloqueadas. Algo assim é possível ? Já tentei tantos métodos que estou achando que isso vai ser impossível...rs Para terem um ideia da dificuldade, atualmente não consigo nem bloquear minha planilha de forma manual usando os botões Proteger/Desproteger do Excel. Faço tudo, seleciono todas células, botão direito, formatar células, Proteção, desmarco e marco de novo para garantir a opção Bloqueadas, vou em Proteger, deixo marcado apenas as duas primeiras opções e defino um senha. Acesso minha planilha, e nada...., apenas alguns cabeçalhos e uma coluna ficam bloqueadas as demais células ficam acessíveis mesmo com o bloqueio ativo. Faço e desfaço esse processo milhões de vezes e nada. Quando tento fazer esse processo em uma planilha nova em branco funciona, mas na minha nada... Alguém imagina o que pode estar interferindo nesse recurso, ou tem algum sugestão que possa ser aplicada ? Obrigado adiantado. Fiquem com Deus
  10. @Patropi Estou usando sua sugestão de código Minha planilha complementar, precisou de um modelo muito parecido ao código que você sugeriu, nem precisou de muita mudança... Muito grato pela ajuda. Ótima semana.
  11. Não é que deu certo... Funcionando e implementado. Casa do Hardware já é segunda vez que resolve a minh avira hoje hein...rsss Super obrigado irmão. Que a comunidade do fórum cresça mais e mais. Otimo final de semana Fiquem com Deus todos. Gian
  12. CasaDoHardware funcionou Percebi algo que não sei se você havia reparado também Se eu digitar algo em A3, em B3 surge a hora atual, até aí beleza... Mas se eu acessar A3 novamente sem ter digitado nada em outra célula e alterar o valor de A3 a hora é atualizada. A hora só fica congelada como eu preciso se: Apos digitar algo em A10 (por exemplo) a hora vai surgir em B10, beleza... Em seguida eu devo digitar algo em qualquer outra célula da coluna A, por exemplo A15, agora sim, se eu voltar para A10 e mudar o valor contido nessa célula a hora que está em B10 não é mais atualizada. Apesar desse pequeno detalhe, a função ficou show. Vai servir para minha planilha numa boa. Mega obrigado pelo código, quase desisti de conseguir...rs Ótimo final de semana. Fique com Deus. Att. Gian adicionado 3 minutos depois Patropi, Vou testar mais a noite e dou um retorno. Eu dei uma lida no código e parece que vai servir sim, muito obrigado pelo Link. Obrigado pela parceria.
  13. Usei o código em uma planilha em branco (nova) e também na versão em que estou trabalhando, mas nos dois casos acontece o mesmo. Quando digito algum valor em qualquer célula da coluna A, surge o horário na célula ao lado, ou seja coluna B. Até aí beleza. Mas se apagar ou modificar o conteúdo da célula em que a pouco digitei algo, a hora mostrada na coluna B é atualizado. Tentei uma porção de vezes, mas em todos casos sempre ocorre a atualização da hora. Posso estar fazendo de errado, mesmo estando em uma planilha em branco (nova) ? Você tem alguma planilha com esse função funcionando de forma que a hora mostrada na coluna B não seja recalculada quando a valor da célula ao lado é alterado ?
  14. Pessoal seria possível fazer esse processo de carregar em txtbox(s) os valores de uma sequencia de células paralelas da minha planilha para em cada txtbox que eu tenho em um form ? Na pratica seria assim: De acordo com a activeCell.row (linha que estiver selecionada na minha planilha) quero que ao clicar em um botão, as txtbox(s) de um form que eu fiz mostrem os valores das células dessa linha. Por exemplo: na txtbox1 seja carregado o valor da célula que está na coluna A da linha selecionada na txtbox2 seja carregado o valor da célula que está na coluna B da linha selecionada na txtbox3 seja carregado o valor da célula que está na coluna C da linha selecionada ... Existe alguma forma de se fazer isso ?
  15. Vou tentar aqui e já digo se deu certo. Mas muito obrigado adiantado adicionado 12 minutos depois Casa do Hardware, Seu código já atendeu 50% da minha situação Ainda preciso que se um usuário altere ou exclua o valor já digitado em qualquer célula da coluna A, a hora mostrada na coluna B, não seja atualizada ou deixe de ser mostrada. você acha possível algo desse tipo ? Super, mega obrigado por enquanto irmão. adicionado 16 minutos depois Ah... Eu disse que atendeu 50% do problema, por que seu código já está fazendo a parte de na coluna B mostrar a hora ao inserir um valor em qualquer célula da coluna A. Falta essa parte que comentei, onde se um usuário alterar ou excluir algum valor de células da coluna A, a hora que ficou registrada nas células coluna B não sejam alteradas ou perdidas.
  16. Boa noite, Caros é possível ao inserir um texto dentro da célula A1, na celular B1 seja mostrado o horário em que o texto foi inserido, onde mesmo que eu altere ou apague o conteúdo de A1 a hora registrada em B1 não seja apagada ou atualizada ? Preciso que essa rotina não dependa de um botão. Estou a semanas procurando uma forma de fazer essa rotina, naveguei algumas postagens aqui do fórum, na internet já diversas abordagens, mas não encontrei nada que resolvesse isso. Nas soluções que tentei a hora sempre acaba sendo atualizada, ou o registro da fica condicionado ao uso de botão. Fiquem com Deus Abraço Giancarlo
  17. Pessoal obrigado pelo espaço onde pude postar minha dificuldade, mas como não surgiram sugestões, quero encerrar o post. Vou tentar outra abordagem para resolver meu problema. Caso encontre uma forma de resolver, irei postar. Fiquem com Deus e bom final de domingo à todos.
  18. Boa tarde, Caros preciso de uma "luz" para um problemas com a manipulação de dados tipo hora no Excel. Em uma planilha criei a seguinte função: Function DateTime() DateTime = Now End Function Chamo essa function através de um SE dentro da planilha. =SE(H5>0;DateTime();"") Dessa forma sempre que é inserido um valor na célula H5 por exemplo, a hora é exibida na célula onde está inserido o SE. Até aí sem novidades... O problema é na hora de levar esses dados para uma planilha de arquivo, uso uma macro que importa esses dados. Os horários acabam sendo importados trazendo data e hora e não apenas a hora como eu preciso. Sub IMPORT1() Dim wsOrigem As Worksheet Dim wsDestino As Worksheet Workbooks.CanCheckOut Filename:="Z:\Controle_Central\TESTE\ROTATIVO.xlsm" Set wsOrigem = Workbooks("ROTATIVO.xlsm").Worksheets("ROTATIVO") Set wsDestino = Workbooks("CONTAGENS.xlsm").Worksheets("1") wsOrigem.Range("A5:P800").Copy wsDestino.Range("A2").PasteSpecial xlValues End Sub Já tentei diversas soluções encontradas durante minha pesquisa, mas ainda não consegui resolver, preciso que necessariamente os dados do tipo hora sejam importados sem a data e que essas horas fiquem já no formato 14:35:20 (24hs) e não no 02:24:20 PM. O código abaixo resolve parcialmente meu problema, por que ele separa a data e hora em colunas separadas, mas ao fazer isso as horas são transformadas de 24hs para o formato AM PM . Sub SeparaHora() 'SELECIONA A COLUNA L Range("L2").Select Range(Selection, Selection.End(xlDown)).Select Range("L2:L800").Select 'APLICA REGRA DE SEPARAR DATA E HORA Selection.TextToColumns Destination:=Range("S2"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True End sub É possível elaborar alguma função que converta o conteúdo que está em 02:45:30 PM para 14:45:30 ? Ou sei-lá algum função que retorne apenas a hora sem a data, assim eu deixaria de usar essa função DateTime na planilha de onde os dados são originados. Agradeço adiantado e perdoem o post extenso.
  19. Amigos, Acredito que pelo tempo passado, não deve haver nenhuma solução prática para o caso. Por mim declaro como encerrado, vou tentar outra abordagem para a minha planilha. De qualquer forma obrigado pelo espaço e ao Basole por ter oferecido um tipo de solução. Fiquem com Deus e bom final de semana Abraço
  20. Galera, consegui usar parte da solução que Basole havia postado no link indicado, mas não tenho conhecimento para fazer um IF que seja capaz de atender minha necessidade. Estou enviado um cópia da minha Planilha. Eu quero tentar criar o seguinte recurso Na célula L2 por exemplo tenho registrado o horário de solicitação de atendimento, quero que SE o conteúdo da célula O2 foi igual a palavra "Aguardando" E a diferença de tempo entre a hora atual e a hora contida em L2 for maior do que 5 minutos, um aviso sonoro com uma MsgBox deve ser reproduzida. Pesquisei bastante e não encontrei nenhuma solução que funcionasse para o meu caso. A solução do Basole, me fez entender o recurso que reproduz áudio, mas não sei criar esse IF dentro da planilha que atenda a lógica e ainda consiga usar o recurso mostrado pelo Basole. ROTATIVO VERSÃO 1.1.zip
  21. Boa tarde, Basole eu tinha acabado de olhar essa solução que você postou através do link... Estou tentando adaptar, essa função PlaySound deve resolver o caso, vou só criar o IF e começar a testar. Perdoem ter feito a postagem ser ter lido esse tópico que você citou, se der certo volto aqui para confirmar ou pedir ajudar. Mega obrigado por enquanto Basole Gian
  22. Boa tarde, Caros é possível que alguma macro em Excel 2010 seja capaz de reproduzir um arquivo de audio (.wav, mp3...) de acordo com uma condição do tipo IF ? Na prática preciso que uma condição IF verifique se já se passaram mais de 5 minutos em relação ao horário digitado na célula A1 por exemplo, e caso isso seja verdadeiro reproduza o arquivo de áudio, como se fosse uma campainha chamando a atenção do operador. Super abraço Fiquem com Deus e bom feriado. Gian
  23. Boa tarde, Amigos, criei um formulário em VBA para a equipe de agendamento da empresa onde trabalho. Mesmo sendo novato consegui modelar meu form com textbox, combos, option button e demais elementos, porém admito não saber como salvar os dados de cada objeto na minha planilha. Na prática preciso conseguir trazer os dados de cada objeto para as respectivas colunas seguindo essa ordenação: ComboBox - cmbCRM para coluna C ComboBox - cmbCirurgiao para a coluna D TextBox - txtPaciente para a coluna E ComboBox - cmbTUSS para a coluna F ComboBox - cmbDescricao para a coluna G TextBox - txtData1 para a coluna H TextBox - txtHora1 para a coluna I Option Button - optAceito1 para coluna J (nesse caso gostaria que o caption desse elemento ficasse salvo na planilha) Option Button - optRecusado1 para coluna J (nesse caso gostaria que o caption desse elemento ficasse salvo na planilha) CheckBox - CheckBox1 - para a coluna K (se o Value for True guardasse palavra SIM ou NÃO para FALSE) ComboBox - cmbMotivo1 para a coluna L TextBox - txtData2 para a coluna M TextBox - txtHora2 para a coluna N Option Button - optAceito2 para coluna O (nesse caso gostaria que o caption desse elemento ficasse salvo na planilha) Option Button - optRecusado2 para coluna O (nesse caso gostaria que o caption desse elemento ficasse salvo na planilha) CheckBox - CheckBox2 - para a coluna P (se o Value for True guardasse palavra SIM ou NÃO para FALSE) ComboBox - cmbMotivo2 para a coluna Q Esses dados devem ser salvos na aba Agendamento linha a linha ao clicar no botão Salvar (cmdSalvar). O form chama-se frmAgendamento e está acessível na aba Agendamento através do botão Agendar no topo e a esquerda. Obrigado até mesmo para quem não puder ajudar mas que leu o tópico. No anexo está uma cópia da planilha. Att. Giancarlo
  24. Caros, obrigado pelo espaço. Consegui uma solução, estudando o conteúdo do fórum e assistindo videos na rede. Se alguém precisar de ajuda com algo do gênero, ficarei feliz em auxiliar. Att. Giancarlo
  25. Saudações à todos do Fórum, Preciso de uma ajuda para um tópico que apesar de recorrente ainda não me trouxeram uma forma de resolver meu problema. Vamos ao problema: Uso duas pastas de trabalho (Rotativo) e (Contagens), ambos com apenas uma planilha cada: Rotativo: Serve para a equipe de atendimento preencher solicitações de atendimento durante um dia inteiro. Contagens: Aqui eu preciso arquivar os dados do arquivo Rotativo e empilhar esses dados logo abaixo dos dados já colhidos no dia anterior Hoje faço essa rotina manualmente, todos as noites apos às 00hs, acesso o arquivo Rotativo, copio e colo esses dados dentre de Contagens empilhando tudo por data. Gostaria de fazer isso através de uma Macro inserida dentro de uma botão. Vou deixar ambas anexadas para que possam entender melhor. Os critérios são: Os dados copiados de Rotativo são todos do intervalo entre A5 e P800 Esses dados (apenas valores) devem ser colados dentro de Contagens de forma empilhada no intervalo entre B2 até Q1500 Podem ignorar a coluna A de Contagens, lá deixar uma formula que não implica na construção da Macro

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!