Ir ao conteúdo
  • Cadastre-se

LaerteB

Membro Pleno
  • Posts

    158
  • Cadastrado em

  • Última visita

Tudo que LaerteB postou

  1. Boa tarde, Rafael Borges P. Olha eu fiz um módulo com o que você mencionou na mensagem acima (se eu compreendi o que quer realizar; se eu estiver equivocado me fale OK), e inclui um botão para acionar o comando. Você pode chamar esse código de outra forma de acordo com o seu projeto. Obs: tem um comando no código para apagar as células A3 até H6 da Plan4 (Gerar Documento) antes de realizar as cópias.. e outro igual caso não tenha valor na(s) célula(s) A3 até A6 na Plan1 (Cadastro) - foi o que entendi na mensagem acima. Veja se é isto que queria (o arquivo está em anexo)... Abraço LaerteB Teste_Excel- exemplo1.rar
  2. Bom dia, Osvaldomp! Opa OK, vou fazer isso se for colocar em outro Fórum... Obrigado. LaerteB.
  3. Bom dia, osvaldomp. Bem desculpe não informar com mais detalhes, (tinha rodado o código via F8) pois neste primeiro teste não tinha surgido o erro somente tinha parado (não travou, mas ficou parado) como não podia ficar mais no PC (para repetir o processo) passei esta mensagem anterior aqui... mas repeti hoje o processo e abriu o erro e a linha que está ocorrendo... coloquei em anexo a imagem com o erro e o local... Espero que seja esclarecedor e aguardo a sua resposta... e sempre o arquivo origem estará aberto... só uma pergunta se o arquivo origem estiver fechado tem como o usuário receber uma mensagem que o arquivo origem está fechado?? Agradeço a sua resposta e novamente me desculpe, ontem não pude ficar mais tarde com o PC ligado... '************************************************************************************************ Pessoal e Osvaldomp, consegui uma solução para este caso em outro Fórum.. foi feita algumas alterações para que funcione normalmente (foi substituído os Labels por TextBoxs, mas pode ser alterado conforme necessidades)... disponibilizando em anexo somente a Pasta Destino (que contém os códigos), não necessitando da Pasta Origem (que é a mesma que disponibilizei na primeira mensagem)... Agradeço muito Osvaldomp ... e espero que este anexo ajude o pessoal que tenha o mesmo problema, e poderá alterar conforme os seus projetos . Abraços a todos. LaerteB imagem do erro 2.rar PastaDestino.rar
  4. Boa noite, Osvaldomp. Então eu tentei mudar para o que você escreveu acima, mas não funcionou.. Talvez porque o arquivoorigem não se encontra na mesma pasta do arquivodestino.. Mas eu agradeço , espero que tenham alguma outra forma de solução... eu ainda estou procurando e tentando também... Aguardando alguma luz para este problema. LaerteB
  5. Boa tarde, Rafael Borges P. Primeiro gostaria de dar um toque para ti, quando anexar conteúdo de seu problema, coloque dados fictícios (não coloque dados reais) para não dar dor de cabeça para ti no futuro . Segundo não estou compreendendo o que quer fazer... você tem três planilhas, Menu, Cadastro e Gerar Documentos.. o menu leva para as abas especificas; mas você quer que quando gerar o documento ele grave na aba Cadastro a cópia do quê?? .. Por gentileza dar uma breve explicação do que realmente o seu projeto fará, para que possamos analisar melhor o seu caso. Abraços LaerteB.
  6. Boa tarde, pessoal. Estou com um problema, já tentei de muitas formas, mas estou errando em algo... A situação é a seguinte, tenho dois "arquivos" (PastaOrigem.xlsm e PastaDestino.xlsm) em um mesmo diretório, só que o arquivo "PastaDestino.xlsm" está dentro de uma pasta chamada "pastateste".. até aí tudo bem, mas o que ocorre é que não está está localizando os dados da "PastaOrigem" e inserindo nos labels correspondentes no formulário (que criei na Pasta de Trabalho "PastaDestino.xlsm") de acordo com o código digitado na Textbox "txt_modulo_codigo". Está dando o erro 9 - Subscrito fora do intervalo, na linha em amarelo da imagem em anexo. Já procurei de todas as formas uma solução, sem sucesso(e experimentei vários códigos que fiz, até chegar nesse que estou disponibilizando em anexo); todos que encontrei foi solução para a mesma Pasta de Trabalho. Se não for incomodo onde posso colocar o "On Error GoTo Erro" neste código, estou um pouco perdido para este comando.. Em anexo os exemplos dos dois arquivos (PastaOrigem.xlsm e PastaDestino.xlsm), para uma melhor analise. Agradeço desde já a todos, aguardando uma resposta . LaerteB Imagem do erro.rar PastaOrigem.rar PastaDestino.rar
  7. Bom dia, Neri Schuck Você pode utilizar o exemplo que lhe dei no outro Tópico ("Mensagem Aguarde igual parte inferior planilha"), tirando o Frame só deixando o label e modificando o código para a sua necessidade.. Para conseguir o mesmo feito que a Barra de Status da Planilha do Excel mostra, (com códigos só sei, neste momento, executá-los da maneira que informei anteriormente, que aparece a porcentagem concluída) provavelmente terá que recorrer as APIs, mas neste caso precisa procurar na net, se existe uma possibilidade do mesmo feito... Abraço . LaerteB
  8. Bom dia, Pessoal! Consegui resolver o problema (com esta gambiarra), tirei o código exemplo de outro Forum; do nosso amigo "Mauro Coutinho" e modifiquei para este código abaixo. Agora as caixinhas (com os códigos anteriores que mencionei) não somem e voltam ao estado original de quando foram selecionadas . Só uma coisa, para os que irão utilizar estes códigos, não esquecer de acertar também a ListView1, aqui só estou passando como funciona com estes códigos na ListView2.. OK. Abaixo o código "Salvador" rsrs.. : Dim idbox As Range Dim linUlt As Long Dim sidbox Dim r ' definimos a aba Dim work As Worksheet Set work = Worksheets("Plan2") ' verificação da ultima linha preenchida linUtil = work.Cells(Rows.Count, "F").End(xlUp).Row Set idbox = work.Range("F2:F" & linUtil) For Each sidbox In idbox For r = 1 To ListView2.ListItems.Count If ListView2.ListItems(r).ListSubItems(6).Text = sidbox Then ListView2.ListItems(r).Checked = True End If Next r Next sidbox Agradeço a todos que tentaram me ajudar ... Valeu mesmo a todos . Abraços LaerteB
  9. Bom dia, pessoal!! Então ainda não consegui resolver por completo o problema e ainda preciso de uma mãozinha... Parece que consegui fazer uma gambiarra para quando os checkbox forem marcados gravem na Plan2 (somente as linhas selecionadas); só que ele verifica somente a 1ª linha marcada (aquelas linhas que ficam gravadas na plan2 somente a 1ª é selecionada); desta forma ele consegue marcar na checkbox da 2ª listview somente a 1ª linha que está registrada na plan2 e as seguintes linhas gravadas na plan2 ele não está lendo ... Desta forma preciso que seja feita uma varredura completa nas linhas da Plan2 de seu ID (coluna 6 da listview e da Plan2), como se encontra no código que fiz, que infelizmente somente "pega" a 1ª linha da Plan2 (provavelmente estou esquecendo algo neste código ou fiz errado, desculpe meu lapso mental ). Este é o código para verificar e marcar a checkbox que está gravado na Plan2: Dim r, k As Integer Dim lin As Long Plan2.Select Plan2.Range("A2").Select lin = 2 For r = 1 To Me.ListView2.ListItems.Count With Me.ListView2 Do Until Sheets("Plan2").Cells(lin, 1) = "" If .ListItems(r).ListSubItems(6).Text = Sheets("Plan2").Cells(lin, 6) Then .ListItems(r).Selected = True .ListItems(r).Checked = True End If lin = lin + 1 Loop End With Next r Agora estou aguardando uma luz , para uma solução... Agradeço LaerteB
  10. Boa tarde, Neri Schuck. Primeiramente coloquei no seu projeto (no Formulário) uma "Barra de Progresso" que enquanto se efetua os cálculos a barra informa em porcentagem o tempo que está sendo concluído e no final aparece uma msgbox informando que foi finalizado o processamento. Alterei a localização dos códigos PopulaListBox, calculos, TotalPeriodo1, TotalPeriodo2 e Variacao, colocando-os em um módulo "MóduloBarraProgresso" e comentei os blocos com esses códigos no Formulário principal (qualquer coisa você pode retornar como estava, mas terá que alterar os códigos no botão "BtnAtualizar"). Não sei quanto tempo leva para calcular mais de 400 clientes no seu projeto original, neste exemplo que enviou tive que acrescentar mais linhas, para conseguir ver o resultado da "Barra de Progresso"; neste momento tem 600 linhas totais... Outra coisa a ListView1 ficará reduzida no seu tamanho, enquanto estiver executando a "Barra de Progresso", mas volta ao normal no final . OBS: fiz uma pequena alteração no PopulaListBox2, pois criei um clone do PopulaListBox e comentei a linha "Call calculos" (não apaguei o PopulaListBox e está funcionando com a linha "Call calculos"), está funcionando normalmente na Barra de Progresso, por ter colocado esta linha "Call calculos" dentro do código deste; se quiser que volte é só descomentar. Espero que este tipo de barra de progresso lhe sirva no seu projeto; se quiser você pode tentar fazer o que o "Edson Luiz Branco" mencionou acima, que é um método mais simples. Abaixo o arquivo com as alterações acima descritas: Abraços LaerteB teste (2)Alterado- 2.rar
  11. Boa tarde Neri Schuck. Somente para esclarecer sobre essa referência (pelo fato que já conseguistes arrumar), é por causa da versão do Office instalado, por exemplo tenho o Office 2010 e 2016; para o 2010 é o "Microsoft Office 14.0 Object Library" e para o 2016 é o "Microsoft Office 16.0 Object Library". LaerteB.
  12. Boa tarde, Neri Schuck. Não esqueci do teu problema não.. ontem e hoje está uma correria, mas estou vendo o seu caso e preciso de mais tempo para analisá-lo melhor... Por isso neste final de semana vou olhar novamente o seu exemplo e se surgir uma solução coloco até terça aqui OK.. Quem sabe se alguém tem uma solução para ti até lá né... quanto mais melhor... Um ótimo final de semana. LaerteB.
  13. Neri Schuck, Por gentileza anexe seu arquivo por aqui mesmo, pois não estou conseguindo abrir o Dropbox; por aqui aceita os tipo de arquivos log, txt, ini, zip, zipx, rar, 7z, jpg, png, gif, doc, docx, xls, xlsx, pdf, ppt, pps, pptx, bmp, csv, tiff, xml, jpeg . Até. LaerteB
  14. Neri Schuck, Compreendo o que quer dizer, mas sem um parâmetro de seu projeto fica difícil saber o que é "calculando". Para que fique melhor a visualização da sua situação precisamos de um modelo (pode ser um exemplo simples do seu projeto, com conteúdo fictício); com isso eu e outros poderão analisar e consequentemente ajudá-lo melhor. Anexe um exemplo simples do seu problema. Até. LaerteB
  15. Neri Schuck, Entendi, você optar por um Label piscante, assim que você clicar ou executar uma comando para os seus cálculos o Label fica visível e começa a piscar o tempo que você estipular (nas propriedades do Caption do Label escreva o texto que quiser como ex. "Aguardando"). Abaixo o código para o Label piscante: Option Explicit Private Declare Function GetTickCount Lib "Kernel32" () As Long Private Sub Piscando() Dim tempo As Long Dim t As Integer For t = 1 To 20 'Numero de vezes que o "objeto" vai piscar tempo = GetTickCount If Me.Label1.ForeColor = Preto Then Me.Label1.Visible = False Else Me.Label1.Visible = True End If DoEvents Do While GetTickCount - tempo < 200 'Tempo de espera para proximo loop de 2 segundos Loop Next End Sub Achei outra forma que talvez lhe sirva, vou passar o link para você analisar se é viável no seu projeto: https://br.ccm.net/faq/4198-vba-mensagem-para-fazer-o-usuario-esperar Veja se ajuda . LaerteB
  16. Boa tarde, Neri Schuck. Você pode tentar usar o Splash Screen, que simula o processamento ou abertura do formulário. Pode alterar a quantidade de tempo do mecanismo, para mais ou menos o tempo de seu cálculos. Exemplo do código: Private Sub UserForm_Initialize() Application.OnTime Now + TimeValue("00:00:05"), "FechaForm" End Sub Verifique se isto te ajuda. LaerteB
  17. Pessoal, Bom dia! Eu resolvi fazer um teste, para o segundo código que infomei na minha primeira mensagem que ainda não tinha usado (vejam o link referente a este código: https://www.mrexcel.com/forum/excel-questions/337574-disappearing-listview-checkboxes-multipage.html). Este código funcionou em partes, vou explicar, as caixinhas apareceram, mas os itens que eu selecionei sumiram, as caixinhas ficaram vazias (a Label que informa quantos itens foram selecionados ainda continua informando que estão selecionados ????). Posso usar este código colocando uma msgbox para informar o usuário que não deve ser clicado fora dos locais indicados, mas gostaria de uma outra solução que não desapareça a seleção já marcada (as caixinhas que sumiam foram resolvidas com este código que estou informando novamente abaixo), vou aguardar mais para ver se alguém tem uma outra luz para isso também, pois tem um sistema que impede de selecionar mais de 1 Item por vez na 1ª ListView (para não haver duplicatas de itens na 2ª ListView). Dim i As Integer For i = 1 To Me.ListView1.ListItems.Count With Me.ListView1 .ListItems(i).Checked = False End With Next i Obs: Se pudessemos impedir do usuário de clicar em qualquer lugar vazio do formulário resolveria este problema ...mas provavelmente surgiriam outros problemas .. Aguardando... Abraços a todos LaerteB
  18. Boa noite Pessoal. Resolvi fazer um exemplo "simples" do meu projeto (o meu projeto é muito grande), mas parecido ao que está dando o "sumiço" das caixinhas dos CheckBoxes. Não arrumei os códigos na listview1 para quando clicar mais de um item (senão ficaria com muitos códigos, fiz para ser enxuto aqui neste exemplo), desta maneira quando clicar no botão Add Itens irá acrescentar em duplicata os itens na listview2, mas isso é irrelevante aqui neste exemplo (no meu projeto está OK) beleza. Reparei que quando abre direto na page1 as caixinhas da listview1 estão lá, mas se abrir na page0 elas somem. Estou anexando o arquivo, espero que ajude a elucidar melhor este problema. Obrigado, aguardando respostas. Abraços LaerteB Checkbox erro.rar
  19. Olá Pessoal! Estou com problema, como o Título diz, a caixinha do Checkbox na ListView sumiu. Ocorre o seguinte, tenho duas ListView em uma Multipage; se encontra na page 1 e elas atualizam normalmente quando passo de uma page a outra; nas duas ListView deixei ativado as checkboxes na primeira coluna (com numeração) de cada uma, a primeira quando marco o item é transferido para a segunda ListView (por meio de um botão que está funcionado perfeitamente)... então posso marcar na segunda ListView os itens que quero, até aí tudo bem, agora se por acaso clico fora da ListView (em qualquer parte dentro da multipage em local que não contenha conteúdo nenhum) todas as caixinhas (tanto da 1ª como da 2ª ListView) somem. Eu sei que as caixinhas marcadas continuam marcadas, pois tenho uma label que conta os itens marcados; daí para voltar ao normal tenho que ficar clicando em cada um dos itens da ListView. Já tentei várias soluções, mas nenhuma deu resultado, pode ser que estou fazendo algo errado. Alguns métodos que encontrei: - no site mrexcel gringo: ' colocar isso em sua rotina LoadListView (não sei bem onde colocar) With Me.YourListView .ColumnHeaders.Clear .ListItems.Clear .Gridlines = True .CheckBoxes = True .HideColumnHeaders = False .View = lvwReport .Visible = True End With Este acima coloquei na atualização da ListView, na Multipage1 e não deu certo (só apagou por completo o conteúdo das ListView) - no site mrexcel gringo também: Dim i As Integer For i = 1 To Me.ListView1.ListItems.Count With Me.ListView1 .ListItems(i).Checked = False End With Next i Este acima ainda não testei e não sei onde inseri-lo ( e pelo que estou vendo não sei se vai resolver) Até tentei por mim mesmo este código: For i = 1 To ListView2_plano.ListItems.Count If (ListView2_plano.ListItems(i).Checked = False) or (ListView2_plano.ListItems(i).Checked = True) Then item.checked.visible = true End If Next i Só que não deu certo também. Agora estou recorrendo a vocês, alguém tem alguma ajuda para este caso, eu sei que existe muitas pessoas que estão na mesma situação. Agradeço desde já e aguardando uma resposta. Abraços LaerteB.
  20. Bom dia, Pessoal!! Agora faz um mês que postei a minha indagação, e por sinal percebi que ninguém neste fórum (como em outros três fóruns que sou inscrito) não teve uma solução para este caso. Bem como não pude esperar tanto, resolvi fazer um método diferente, estou utilizando o "winmm.dll" e gravo as mensagens em formato "wav". Este método é mais trabalhoso, pois tenho que gravar as mensagens com a minha própria voz (editando para não ficar ruim); entendo que isso é somente para os "Windows" legados pela "Microsoft", como no caso deste projeto (para o meu cliente) que é para Windows 7 64 bits. Sei que para o Windows 8.1 em diante não teremos problemas com isso e poderá ser usado a fala em português TTS - Heloísa ou outra que a Microsoft tem nas versões mais recentes dos Windows. Não gosto das outras vozes "comerciais", pois como meus projetos são para os clientes, é melhor as vozes nativas do próprio Windows do que essas que tem que comprar. Gostaria de agradecer a todos que tentaram, mesmo que não colocaram aqui uma resposta, sei que este caso é muito complicado e talvez não tenha uma solução neste momento (pelo fato até de ser Windows 7), mas se alguém encontrar uma solução a escreva aqui, desta forma podemos aprimorar nosso conhecimento e aprendizado. Abraços Laerte.
  21. Bom dia, Pessoal! Estava sumido, muitos problemas particulares.. agora estou voltando. Estou tendo uma dificuldade em um código no VBA Excel (Tenho o Excel 2010 e o 2016 em 32Bits - Windows 7 Premium de 64Bits); seria o seguinte : - Primeiro antes de formatar o meu PC estava funcionando tranquilo a fala em português (BR) no Excel (2010 ou 2016 com o Windows 7 de 64 Bits). - Depois que formatei e instalei o Windows 7 novamente e os Offices 2010 e 2016, e tb o idioma PT-BR para o Narrator (TTS - Heloisa, como tinha instalado anteriormente antes de formatar) e o narrator funciona normalmente em PT-BR; só que quando abro o programa em Excel (que antes funcionava) o código de fala (Speech.Speak) volta na falar em inglês. Já tentei de tudo, tipo desinstalar os pacotes de fala e reinstala-los... não deu certo... tentei até colocar os dois pacotes tanto 32 Bits e 64 Bits juntos e nada (funciona o narrator normalmente como PT-BR, mas no Excel não). Gostaria que se alguém souber me dar uma luz seria de grande ajuda ou outra solução para que o mesmo volte a falar em PT-BR. Abaixo o código que coloco no "UserForm_Initialize" : Application.Speech.Speak ("Olá! Bem Vindo ao Sistema." + CStr(Now)) Uma obs: não sei se tem alguma coisa a ver, tinha instalado antes de formatar o FreeSpeech 2000 (fiz com que funcionasse no Windows 7), mas não quero instalá-lo agora, pois pode dar conflitos com outros programas.. Agradeço e aguardando uma resposta é uma funcionalidade que preciso deixar implementada no meu projeto. Abraços Laerte.
  22. Pessoal, bom dia! Já tentei achar em outros fóruns e nada, todos são somente para uma caixa de imagem (daí existem várias maneiras de colocar e alterar as imagens, mas somente com uma caixa de imagem), para o que estou precisando não encontrei nada.. bem espero que alguém tenha uma ideia de como resolver esse problema, pois acho que exista muitas pessoas que gostariam tb de saber como usar esse recurso... senão vou ter que mudar o meu projeto e seria muito trabalhoso, mas faz parte... Agradeço e aguardando uma ajuda se possível. Laerte.
  23. Oi Pessoal. Alguém já tem alguma sugestão?? estou tentando ainda uma solução, mas não estou conseguindo resolver. Agradeço qualquer ajuda. Laerte.
  24. Boa tarde, Pessoal! Estou precisando de uma ajuda e não estou conseguindo achar na net e nem em livros, desta forma colocarei aqui para que se alguém puder me dar uma luz agradeço. Estou anexando o arquivo em anexo (somente é um exemplo), do meu problema, gostaria que quando eu escolho (por ex.) na combobox o número 3 e sinalizo os checkbox E04 e C05 (no formulário) em seguida apertando o botão OK, a figura (imagem3) apareça a imagem de um cabo (que se encontra no arquivo "Imagem" no C:\). Só que com os códigos que implementei não fazem nada, quero dizer que não acontece nada (nem erro). Outra coisa não será somente duas checkbox que serão assinaladas, poderá ser assinalada somente 1 ou 2 ou 3 ... todas, com as imagens que são (06) que serão escolhidas de acordo com os checkbox assinalados. Aqui o arquivo para ser baixado para um melhor entendimento : https://www.sendspace.com/file/1wm8k0 Abaixo os códigos do botão OK: Private Sub CommandButton1_Click() Dim sPath As String Dim Image1 Dim Image2 Dim Image3 Dim Image4 Dim Image5 Dim Image6 ckS = UserForm1.CheckBox1.Value ckI = UserForm1.CheckBox2.Value ckE = UserForm1.CheckBox3.Value ckD = UserForm1.CheckBox4.Value ckC = UserForm1.CheckBox5.Value ChDrive "C:" ChDir "C:\Imagens\" 'sPath = ActiveWorkbook.Path & "\.ico" figura = ComboBox1.Value Image1 = figura Image2 = figura Image3 = figura Image4 = figura Image5 = figura Image6 = figura If (ckC = True) And (ckD = True) Then figura = LoadPicture("C:\Imagens\cabo.ico") End If End Sub Agradeço e aguardo alguma luz para o meu problema. Abraços Laerte.
  25. Boa tarde Pessoal e Basole. Como havia informado na mensagem anterior, estou deixando os códigos com as alterações na Listview (das três colunas ações só uma está preenchida na planilha, e será preenchida em uma única coluna de Ação da Listview - conforme mensagens acima) para que possam alterar e inserir se adequando aos projetos de vocês; abaixo os códigos do preenchimento da Listview: Private Sub Atualizar() Dim Item As ListItem Dim LinhaFinal As Integer Dim i As Integer, j As Integer ListView1.ListItems.Clear LinhaFinal = Plan1.Cells(Rows.Count, 2).End(xlUp).Row For i = 2 To LinhaFinal Set Item = ListView1.ListItems.Add(Text:=Plan1.Cells(i, 2)) Item.SubItems(1) = Plan1.Cells(i, 3) Item.SubItems(2) = Plan1.Cells(i, 4) Item.SubItems(3) = Plan1.Cells(i, 5) Item.SubItems(4) = Plan1.Cells(i, 6) Item.SubItems(5) = Plan1.Cells(i, 7) Item.SubItems(6) = Format(Plan1.Cells(i, 8), "DD MMM YYYY") 'Formatar data do mês com três letras e sem / For j = 9 To 11 If Sheets("Plan1").Cells(i, j) <> "" Then Item.SubItems(7) = Sheets("Plan1").Cells(i, j) Exit For End If Next j Next i lb_num_registro.Caption = ListView1.ListItems.Count End Sub Agradeço ao Basole a ajuda, muito obrigado. Laerte.

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!