Search the Community

Showing results for tags 'vba'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

Found 204 results

  1. msottomaior

    Tabela Dinâmica

    Boa Noite pessoal, Queria ajuda para saber como eu monto uma tabela dinamica. Porem o Range que vai ser selecionado pode variar, por isso queria usar Range(Cells(1, 1), Cells(lngUltimaLinhaInfoInvestidor, lngUltimaColunaInfoInvestidor)) Como encaixo esse range macro de Tabela Dinamica?
  2. msottomaior

    Fórmulas Básicas

    Boa Tarde Pessoal, To precisando de uma ajuda.. To querendo preencher em uma sheet (shtResumo) algumas funções dado os dados de outra sheet (shtInfoInvestidor), mas não estou conseguindo realizar. Estou querendo colocar as formulas (Soma, Média, Desvio Padrão, Identificar qual o maior valor, e qual a última data) Segue o que comecei a fazer e o erro que tomei. Os dados devem ir para esses Campos Alguém consegue me ajudar?
  3. Bom dia galera. Estou tendo meu primeiro contato com access e bancos de dados. Fui encarregado em meu serviço para fazer a comparação de dois bancos de dados (tambem estao disponiveis em excel, mas quero evoluir meu conhecimento com banco de dados). Preciso comparar os dois para obter quais notas fiscais que tem em uma banco, e não esta presente no outro. Tentei pelo VBA (conhecimento muito basico) e pelo SQL, mas infelizmente sem sucesso. Se alguém puder ajudar...
  4. Estou preparando uma macro pra identificar o vencimento de apólices de seguro, dentro de uma base e avisar por msgbox as que estão vencidas/vencem dentro do mês. Sou limitado em VBA, mas já cheguei ao cód abaixo. Minha dúvida é como transformar o cód em LOOP, pra aplicar em toda a coluna H, sem precisar repetir o código para cada linha da base de dados... Também quero colocar o número da apólice da linha que passou a data do vencimento dentro do texto do msgbox. Sub Workbook_Open() Worksheets("Plan1").Select Dim valorData As Date valorData = Range("H11").Value If DateDiff("d", Now(), valorData) < 0 Then msgbox "Atenção: A apólice de seguro XXXX.XXX.XXX está vencida!", vbInformation + vbOKOnly ElseIf DateDiff("d", Now(), valorData) < 30 Then msgbox "Atenção: a apólice de seguro XXXX.XXX.XXX tem vencimento dentro do mês!", vbInformation + vbOKOnly ElseIf DateDiff("d", Now(), valorData) > 30 Then msgbox "Não há vencimentos de seguros dentro de um mês.", vbInformation + vbOKOnly End If valorData = Range("H12").Value If DateDiff("d", Now(), valorData) < 0 Then msgbox "Atenção: A apólice de seguro XXXX.XXX.XXX está vencida!", vbInformation + vbOKOnly ElseIf DateDiff("d", Now(), valorData) < 30 Then msgbox "Atenção: a apólice de seguro XXXX.XXX.XXX tem vencimento dentro do mês!", vbInformation + vbOKOnly ElseIf DateDiff("d", Now(), valorData) > 30 Then msgbox "Não há vencimentos de seguros dentro de um mês.", vbInformation + vbOKOnly End If Worksheets("MENU").Select End Sub
  5. Boa tarde! Preciso de ajuda para terminar uma planilha. Ao qual ela deve: Comparar a célula E2 a coluna coluna E5:E20 Caso a célula seja igual, ela cola o numero da F2 na primeira vazia da mesma linha, a partir do Primeiro Semestre E depois cole suscetivamente. Obrigado desde já:
  6. Olá, Gostaria de inserir uma linha a baixo do registro escolhido na combobox no meu formulário. exemplo: combobox 01 - escolhi esse aqui .... então o programa vai identificar ele na planilha de lançamento. 02 03 ... Depois e vai ver o de baixo que é diferente e vai inserir em cima do 02 uma linha para colocar a nova informação do 01. então fica assim na planilha somente. 01 01 - novo registro 02 03 Vou deixar o modelo do código: Sub opçoes1() Application.EnableEvents = False Application.ScreenUpdating = False Dim a As Long For a = 5 To 1048000 If Filial1 = Cells(a, 1) Then ' se Filial1 for igual célula na coluna 1 na linha variavel então If Filial1 <> Cells((a) + 1, 1) Then Plan1.Cells(a, 1).Select 'Seleciona a célula da plan1 na coluna 1 na linha variavel Plan3.Activate 'Ativar a célula da plan3 Plan3.Range("j1:O1").Select 'Selecionar e Carregar células da plan3 Selection.Copy 'Cópiar seleção Plan1.Activate 'Ativa plan1 Plan1.Select 'seleciona plan1 Plan1.Rows((a) + 1).Select 'selecina a variavel atual e cola abaixo 'Insere uma seleção na linha inferior Selection.Insert Shift:=xlDown 'Call Salve1 ActiveCell.Value = filial.Value 'O valor da célula ativada e igual ao valor de filial 'Call Vazio Dim Data As Date Data = Ldata1.Caption Dim ano As Double ano = Lano1.Caption ActiveCell.Offset(0, 1).Value = Filial1 ActiveCell.Offset(0, 2).Value = bancoconta ActiveCell.Offset(0, 3).Value = agenciabanco ActiveCell.Offset(0, 4).Value = ccbancoA ActiveCell.Offset(0, 5).Value = cpbancoA ActiveCell.Offset(0, 6).Value = Ldata1 ActiveCell.Offset(0, 7).Value = lblHora1 End If End If Next Application.EnableEvents = True Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True End Sub
  7. Olá pessoal! Estou com uma dúvida, criei uma lista suspensa com 1000 registros ou linhas. Desta forma, gostaria de um auxílio para montagem de um código VBA que melhorasse a pesquisa com Autocomplete ou Autopreenchimento. Assim evitaria der que rolar toda a caixa suspensa para escolher o nome requerido. Desde já agradeço a cooperação.
  8. Prezados, Venho por meio deste tópico solicitar uma ajuda para solucionar ou pelo menos ajudar um pouco na minha programação. Sou leigo e venho montando este mesmo arquivo desde zero, por meio de fóruns e tutoriais. Objetivo: O intuito e realizar cadastro de alunos, editar, excluir e com os dados da planilha gerar um arquivo word automaticamente já padronizado o que e pra substituir. Erros: Nesta programação onde parei, ele já puxa os dados dos alunos, já demonstra a planilha porém ao cadastrar um novo aluno ele resulta em um erro, lembrando que ainda tenho que realizar a programação de outros botões como o editar. Estou tendo muitos problemas já que sou leigo, a programação e de muitos tutoriais e fóruns já que não achei um modelo que me atendesse perfeitamente, sei que para realizar este certos tipos de programação tenho que começar do zero para evitar conflitos e erros. Em anexo mando minha planilha já montada e o (link 1) onde um usuário usa um outro projeto para realizar um contrato já montado automaticamente através da programação e dos dados na planilha. Tutoriais onde me baseei na minha programação. Projeto: https://drive.google.com/open?id=1-COPuBPWfSPCg91JN44mbu3jWT4TzBTE Link 1: (https://www.youtube.com/watch?v=W2JPjQjiLdA&t=183s) Este e o principal onde tirei a base. (Contém a programação do word que desejo) Link 2: (https://www.youtube.com/watch?v=6Da30a0vvt8) Este e onde tirei a programação da planilha dentro do VBA, entre os outros botões de adicionar, editar, excluir e alterar os alunos. Ele e em partes. O intuito deste tópico e deste trabalho e agilizar e automatizar o sistema de cadastramento de alunos, sei que tem outras linguagens e outros métodos mas por ser leigo não sei nem qual seria a melhor linguagem e por onde começar. #ParaEmpresa
  9. Boa tarde , Pessoal. Peço minhas sinceras desculpas se não seria nesse tópico que teria que postar essa minha duvida. Preciso de um código em VBA , pois tenho um planilha como a em anexo " modo com erro" e gostaria que ficasse como a foto "pronto". Explicando melhor seguindo a coluna dos títulos sequencial quando não tiver o numero Sequencial vai adicionar uma linha e incluir o numero de titulo que falta Sequencial.
  10. Olá pessoal, Devido a uma necessidade que eu tinha de aprender VBA, mas só achava na net vídeos ou blogs a respeito, resolvi desenvolver junto com um grande amigo o próprio site de ensino gratuito. https://superexcelvba.com Será uma honra ter a visita de vocês, e agradeço se puderem dar um feedback (se tiverem sugestões, críticas ou elogios) Obrigado a todos e tenham um ótimo dia. Luiz
  11. Pessoal, bom dia.Meu projeto refere-se ao nº de resets que são feitos nos sistemas que os operadores utilizam. Eu tenho uma listview onde são carregados todas as colunas que são carregadas em planilha de excel. Porém teria como criar critérios para exportar, tipo: quantidade de resets por operador, quantidade de resets por período e assim por diante. Com base nesses resultados é gerado o gráfico.Tem como ser assim?Obrigado.
  12. Trabalho com planilhas para cálculos de comissão de funcionários. Possuo uma planilha com as seguintes caracteristicas: E uma coluna possuo valores de produções dos funcionários, como no exemplo: COLUNA A 4 570 621 314 476 240 120 Preciso que na célula seguinte ele faça multiplicação seguindo os seguintes critérios: Por 1,3 se o valor for menor que 100. Por 1,4 se o valor está entre 101 e 200. Por 1,5 se o valor está entre 201 e 300. Por 1,6 se o valor está entre 301 e 400. Por 1,7 se o valor está entre 401 e 500. Por 1,8 se o valor está entre 501 e 600. Por 1,9 se o valor está entre 601 e 700. Por 2,0 se o valor está entre 701 e 800. Por 2,1 se o valor está entre 801 e 900. Por 2,5 se o valor está entre 901 e 1000. Por 3,0 se o valor for maior que 1001. Procurei por fórmulas com essa função, porém, não encontrei nenhuma que atendesse as minhas necessidades. Minha dúvida é: Há alguma função no excel que tenha essas caracteristicas ou terei que usar VBA? Se terei que usar VBA, alguém poderia me passar como criar essa fórmula, um tutorial ou algo assim? Pois não faço a mínima idéia de como cria-la. Tenho uma fórmula criada em VBA aqui para outra função, mas já peguei ela pronta na internet do jeito que eu precisava.
  13. Boa tarde, pessoal. Estou há dias quebrando a cabeça com uma rotina e gostaria da ajuda de vocês. Fiz uns formulários que serão utilizados em uma clínica. Um desses formulários é o de fluxo de caixa. Nele é possível inserir despesas e ver o total de despesas por período (período que o usuário digita em 2 textbox). Isso funcionou certinho porque a inserção da despesa é em 1 dia, ficando fácil a comparação entre datas. O que não estou conseguindo fazer é um código que retorne as receitas, haja vista que a clínica tem planos individual, mensal, trimestral e semestral. Explicando melhor: Quando se faz o cadastro do paciente, se escolhe o plano no formulário (combobox) e se insere a data de início do serviço. Um código automaticamente calcula a data de fim (1 mês, 3 meses ou 6 meses) e registra isso numa planilha. A rotina das receitas, então, deve ir nessa planilha, verificar se as datas de início e fim do serviço estão dentro do período digitado pelo usuário em 2 textbox (um para início e outra para data do fim do período). Uma vez que retorne um valor verdadeiro, deve verificar o plano: Se é trimestral e o período inserido pelo usuário é de um mês, deve pegar o valor total pago e dividir por 3.. se o período inserido é de 2 meses, deve pegar o valor total, dividir por 3 e então multiplicar por 2.. se o período for igual a 3 meses ou mais, retorna o valor total pago. Há solução para isso? Desde já agradeço. OBS; segue abaixo o que tentei fazer Private Sub CmbBuscar3_Click() If TxtDataInicio2.Text <> "" And TxtDataFim2.Text <> "" Then 'datainicio2 e datafim2 são os txtbox para inserção, pelo usuários, do período desejado periodo = DateDiff("m", DateValue(TxtDataInicio2.Value), DateValue(TxtDataFim2.Value)) Else MsgBox "Digite uma data de início e fim para a pesquisa" GoTo Rotulo1 End If nalunos = Sheets("ALUNOS").Cells(Rows.Count, 1).End(xlUp).Row dinheiro = 0 debito = 0 credito = 0 Total = 0 For i = 2 To nalunos If DateValue(TxtDataInicio2.Value) <= Sheets("ALUNOS").Cells(i, "N") And DateValue(TxtDataInicio2.Value) <= Sheets("ALUNOS").Cells(i, "O") And DateValue(TxtDataFim2.Value) >= Sheets("ALUNOS").Cells(i, "O") And DateValue(TxtDataFim2.Value) >= Sheets("ALUNOS").Cells(i, "N") Then If Sheets("ALUNOS").Cells(i, "J") = "Trimestral" Then If periodo <= 1 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 3) GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 3) GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 3) GoTo continue End If End If If 1 < periodo And periodo <= 2 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 3) * 2 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 3) * 2 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 3) * 2 GoTo continue End If End If If periodo > 2 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If End If End If If Sheets("ALUNOS").Cells(i, "J") = "Semestral" Then If periodo <= 1 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + Sheets("ALUNOS").Cells(i, "L") / 6 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + Sheets("ALUNOS").Cells(i, "L") / 6 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + Sheets("ALUNOS").Cells(i, "L") / 6 GoTo continue End If End If If 1 < periodo And periodo <= 2 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 2 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 2 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 6) * 2 GoTo continue End If End If If 2 < periodo And periodo <= 3 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 3 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 3 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 6) * 3 GoTo continue End If End If If 3 < periodo And periodo <= 4 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 4 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 4 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 6) * 4 GoTo continue End If End If If 4 < periodo And periodo <= 5 Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 5 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L") / 6) * 5 GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L") / 6) * 5 GoTo continue End If End If If 5 < periodo Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + (Sheets("ALUNOS").Cells(i, "L")) GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + (Sheets("ALUNOS").Cells(i, "L")) GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + (Sheets("ALUNOS").Cells(i, "L")) GoTo continue End If End If End If If Sheets("ALUNOS").Cells(i, "J") = "Individual" Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If End If If Sheets("ALUNOS").Cells(i, "J") = "Mensal" Then If Sheets("ALUNOS").Cells(i, "M") = "Cartão Crédito" Then credito = credito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Cartão Débito" Then debito = debito + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If If Sheets("ALUNOS").Cells(i, "M") = "Dinheiro" Then dinheiro = dinheiro + Sheets("ALUNOS").Cells(i, "L") GoTo continue End If End If End If continue: Next Total = credito + debito + dinheiro TxtReceitas.Text = "Receita em cartão de crédito: R$ " & credito & vbCrLf 'txtreceitas é onde irá retornar os cálculos TxtReceitas.Text = TxtReceitas.Text & "Receita em cartão de débito: R$ " & debito & vbCrLf TxtReceitas.Text = TxtReceitas.Text & "Receita em dinheiro: R$ " & dinheiro & vbCrLf TxtReceitas.Text = TxtReceitas.Text & "Receita Total: R$ " & Total & vbCrLf Rotulo1: End Sub
  14. Tenho um banco de dados access que é atualizado constantemente, gostaria de consultar periodicamente esse banco de dados e enviar e-mail's a partir dos resultados da consulta.
  15. Boa noite. Não entendo nada de VBA mas estou precisando automatizar umas funções no meu serviço e acho que esse é o caminho. Gostaria de saber se é possível eu extrair dados (datas, nomes, dentre outros) de uma planilha (relatório) enviada por outra pessoa para uma planilha de controle minha, sendo que são diversos relatórios de enviadas por diversas pessoas. Desde já agradeço!
  16. Bom dia!Pessoal preciso de uma ajuda urgente!!Estou com problema nos meus códigos, preciso fazer um formulário do qual numa única TextBox seja possível atingir duas linhas. Então, segue a planilha fiz alguns exemplos e espero que esteja claro: Exemplo 1 e Exemplo 2Obrigado e tenham um ótimo dia!Lonx.
  17. Olá amigos, sábios, jedis, magos e mestres do VBA e outros colaboradores. Criei uma macro que, através de uma variável, realiza uma importação dos dados de uma página web da intranet do meu trabalho. Tudo funciona bem, mas somente após eu fazer uma acesso à página pelo próprio Excel. Nesta pasta tenho duas planilhas: a "DadosImportados" que é uma planilha vazia, para importação dos dados; e a planilha "ROTEIRO" que é preenchida com os dados importados. Quando eu abro a planilha, se eu clicar imediatamente no botão de importação, me ocorre o "Erro de tempo em execução '91' A variavel do objeto ou a variavel do bloco with não foi definida". Fazendo o debug passo-a-passo com F8 percebi que os dados não estão sendo importados. Depois de alguns testes descobri que a macro só funciona corretamente após ir na planilha "DadosImportados" e clicar com o direito do mouse, escolher a opção "Editar consulta". Feito isso abre o navegador do excel e não preciso esperar a página carregar, apenas clico no botão "Cancelar". Após fazer isso a macro funciona corretamente. Gostaria de utilizar a pasta sem precisar ter que ir em "Editar Consulta". É como se fizesse necessário acessar a página antes para a consulta funcionar. Sub ImportaDadosS400() ' ' Macro para importação de dados do S400 ' 'Declaração das variáveis Dim sicad As String Dim nome As String Dim cpf As String Dim agencia As String Dim status As String Dim val_cad As String Dim val_cad_date As Date Dim porte As String Dim segmento As String Dim atividade As String Dim renda As String Dim renda_num As Currency Dim logradouro As String Dim bairro As String Dim cidade As String Dim cep As String Dim endereco As String Dim filiacao As String Dim naturalidade As String Dim dt_nascimento As String Dim identidade As String Dim org_expedidor As String Dim dt_emissao As String Dim estado_civil As String Dim p As LongPtr Dim i As LongPtr Application.ScreenUpdating = False sicad = Sheets("ROTEIRO").Range("SICAD1").Value Sheets("DadosImportados").Select If sicad = "" Then MsgBox "Favor preencher o sicad apenas com números." & Chr(10) & "" & Chr(10) & " Clique em OK", vbOKOnly, "SICAD NÃO PREENCHIDO" Sheets("ROTEIRO").Select Range("SICAD1").Select Exit Sub Else MsgBox "O processo de busca dura entre 10 e 40 segundos." & Chr(10) & "" & Chr(10) & " Clique em OK", vbOKCancel, "FIQUE TRANQUILO" With ActiveSheet.QueryTables.Add(Connection:= _ "URL;http://d001mfp1/S400-CCClientes/faces/_rlvid.jsp?_rap=pc_ConsultarCadastrosLista.doRowAction1Action&_rvip=/consultarCadastros.jsp&codigoClienteParam=" & sicad _ , Destination:=Range("$A$1")) .Name = "cadastro" & sicad .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = False .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .WebSelectionType = xlSpecifiedTables .WebFormatting = xlWebFormattingNone .WebTables = """tabelaFiltroSecao""" .WebPreFormattedTextToColumns = True .WebConsecutiveDelimitersAsOne = True .WebSingleBlockTextImport = False .WebDisableDateRecognition = False .WebDisableRedirections = False .Refresh BackgroundQuery:=False End With Sheets("DadosImportados").Select Cells.Find(What:="Nome", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate nome = ActiveCell.Value Cells.Find(What:="CPF", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate cpf = ActiveCell.Value Cells.Find(What:="Agência Responsável", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate agencia = ActiveCell.Value Cells.Find(What:="Situação de Cadastro", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate status = ActiveCell.Value Cells.Find(What:="Próxima Renovação", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate val_cad = ActiveCell.Value Cells.Find(What:="Porte", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate porte = ActiveCell.Value Cells.Find(What:="Segmento", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate segmento = ActiveCell.Value Cells.Find(What:="Atividade Principal", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate atividade = ActiveCell.Value Cells.Find(What:="Renda Bruta Mensal", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate renda = ActiveCell.Value Cells.Find(What:="ENDEREÇO RESIDENCIAL", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate ActiveCell.Offset(1, 0).Select logradouro = ActiveCell.Value ActiveCell.Offset(1, 0).Select bairro = ActiveCell.Value Cells.Find(What:="cidade", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate cidade = ActiveCell.Value Cells.Find(What:="CEP", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate cep = ActiveCell.Value Cells.Find(What:="Filiação", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate filiacao = ActiveCell.Value Cells.Find(What:="Natural de", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate naturalidade = ActiveCell.Value Cells.Find(What:="Data de Nascimento", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate dt_nascimento = ActiveCell.Value Cells.Find(What:="Identidade", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate identidade = ActiveCell.Value Cells.Find(What:="Órgão Emissor", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate org_expedidor = ActiveCell.Value Cells.Find(What:="Data de Emissão", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate dt_emissao = ActiveCell.Value Cells.Find(What:="Estado Civil", After:=ActiveCell, LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate estado_civil = ActiveCell.Value nome = Replace(nome, "Nome: ", "") cpf = Replace(cpf, "CPF: ", "") agencia = Replace(agencia, "Agência Responsável: ", "") agencia = Left(agencia, 3) status = Replace(status, "Situação de Cadastro: ", "") val_cad = Replace(val_cad, "Próxima Renovação: ", "") val_cad_date = val_cad porte = Replace(porte, "Porte: ", "") segmento = Replace(segmento, "Segmento: ", "") atividade = Replace(atividade, "Atividade Principal: ", "") renda = Replace(renda, "Renda Bruta Mensal: R$ ", "") renda_num = renda logradouro = Replace(logradouro, "Logradouro: ", "") bairro = Replace(bairro, "Bairro: ", "") cidade = Replace(cidade, "Cidade: ", "") endereco = logradouro & ", " & bairro & ", " & cidade & ", " & cep filiacao = Replace(filiacao, "Filiação: ", "") naturalidade = Replace(naturalidade, "Natural de: ", "") dt_nascimento = Replace(dt_nascimento, "Data de Nascimento: ", "") identidade = Replace(identidade, "Identidade: ", "") org_expedidor = Replace(org_expedidor, "Órgão Emissor: ", "") dt_emissao = Replace(dt_emissao, "Data de Emissão: ", "") estado_civil = Replace(estado_civil, "Estado Civil: ", "") Sheets("ROTEIRO").Select Sheets("ROTEIRO").Range("NOME").Value = nome Sheets("ROTEIRO").Range("CPFNOME").Value = cpf Sheets("ROTEIRO").Range("AGENCIA1").Value = agencia Sheets("ROTEIRO").Range("STATUS_CADASTRO1").Value = status Sheets("ROTEIRO").Range("VALIDADE_CADASTRO1").Value = val_cad_date Sheets("ROTEIRO").Range("PORTE1").Value = porte Sheets("ROTEIRO").Range("SEGMENTO1").Value = segmento Sheets("ROTEIRO").Range("ATIVIDADE1").Value = atividade Sheets("ROTEIRO").Range("RENDA1").Value = renda_num Sheets("ROTEIRO").Range("ENDERECO1").Value = endereco Sheets("ROTEIRO").Range("FILIACAO1").Value = filiacao Sheets("ROTEIRO").Range("NATURALIDADE1").Value = naturalidade Sheets("ROTEIRO").Range("DT_NASCIMENTO1").Value = dt_nascimento Sheets("ROTEIRO").Range("IDENTIDADE1").Value = identidade Sheets("ROTEIRO").Range("ORG_EMISSOR1").Value = org_expedidor Sheets("ROTEIRO").Range("DT_EMISSAO1").Value = dt_emissao Sheets("ROTEIRO").Range("EST_CIVIL1").Value = estado_civil 'Sheets("DadosImportados").Range("b26").Value = DateValue(data) Sheets("DadosImportados").Select Cells.Select Selection.ClearContents 'Call Excluiplanilha End If MsgBox "Dados importados com sucesso!" & Chr(10) & "" & Chr(10) & " Clique em OK e verifique os dados.", vbOKOnly, "Importação concluída" Application.ScreenUpdating = True Sheets("ROTEIRO").Select Range("STATUS_CADASTRO").Select End Sub
  18. Felipe G.

    Ajude-me

    Como criar um código onde o mesmo inicia assim que o documento é aberto? Fiz uma programação de login no Access através da programação VBA, mas não sei fazer com que assim que abra o documento ele fixe a tela de login até preencher seus dados.
  19. Boa tarde a todos, Gostaria muito da ajuda, pois não encontrei nas minhas pesquisas para resolver meu problema. Tenho uma planilha que ela tem mais de mil linhas, basicamente a macro que gravei é simples: ela pega a primeira linha, cola em outra planilha, copia os valores, depois volta pra planilha inicial compia a segunda linha e cola na outra planilha e copia valores. No entanto, é inviável eu gravar a macro para todas as linhas, por isso quero criar um loop que reproduza a mesma gravação para todas as linhas da planilha até encontrar uma linha vazia, que acaba o loop. Alguém consegue me ajudar inserindo o loop nos códigos?? Sub teste() ' ' teste Macro ' ' Range("A4:O4").Select Selection.Copy Range("A1").Select ActiveSheet.Paste Sheets("Planilha3").Select Range("A2").Select ActiveSheet.Paste Range("P2:T2").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Sheets("Planilha2").Select Range("A5:O5").Select Application.CutCopyMode = False Selection.Copy Range("A1").Select ActiveSheet.Paste Sheets("Planilha3").Select Range("A3").Select ActiveSheet.Paste Range("P3:T3").Select Application.CutCopyMode = False Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
  20. Aprenda a programar em VBA e automatize diversas tarefas do Word. e-Book Word 2010 VBA Número de Páginas: 596 Formato PDF Mais detalhes acesse: https://www.tutoriaisword.com/programacao-vba.htm
  21. Boa tarde. Sou novo em programação estou tentando fazer um projeto para um trabalho Estou criando uma macro para abrir uma outra planilha no Excel sendo o que a planilha fica em meu diretório e ela é atualizada toda segunda feira quando ela e atualizada o nome muda gostaria de deixar automático para não precisar ficar alterando o nome toda segunda. O que consegui fazer esta abaixo mas quando ele não encontra a 1 não prossegue com a depuração da um erro de arquivo não localizado e não continua. ______________________________________________________________________________ Sub Main() Application.DisplayAlerts = False If retval = xlsm Then ChDir "C:\planilha atualizada" Workbooks.Open Filename:="C:\planilha atualizada\19112018.xlsm" ElseIf retval = xlsm Then ChDir "C:\planilha atualizada" Workbooks.Open Filename:="C:\planilha atualizada\12112018.xlsm" End If End Sub ______________________________________________________________________________
  22. Bom dia amigos... sou novo no forum, e estou começando com VBA.Tenho um formulário em pdf, porém está em inglês. Estou fazendo o mesmo formulário em português, no excel, porém estou com um problema: quando clico em algumas células, ela insere um marcador. Eu gostaria de limitar os marcadores para apenas uma das células da coluna ou seja, quando clico em outra célula o marcador se apaga e é inserido na nova célula que eu cliquei.estou utilizando o seguinte código, porém ele não faz o que eu quero, ele só insere o marcador, porém mantém todos, não apaga um para inserir outro:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Not Intersect(Target, Range("e7:e12")) Is Nothing ThenApplication.EnableEvents = FalseIf ActiveCell.Value = ChrW(&H2713) ThenActiveCell.ClearContentsElseActiveCell.Value = ChrW(&H2713)End IfCancel = TrueEnd IfApplication.EnableEvents = TrueEnd subObservação: estou fazendo uma planilha no excel, traduzida para o português, com base em um arquivo interativo em pdf... eu quero fazer na minha planilha o que faz no pdf interativo. O pdf etá nesse endereço: http://www.ergonomiesite.be/documenten/tillen/KIM-tillen-interactief.pdf
  23. Olá, Tenho a seguinte dúvida. Estou criando um chat usando duas textbox, para receber mensagens e a outra que seria as mensagens que enviei, e quero deixa-lo organizado da mesma maneira que um chat ao enviar as mensagens. Por exemplo, na texbox1 (a que recebe minhas mensagens enviadas) está com multLine ativo (ambas estão), então quando exceder o espaço dela, quebrará para próxima linha. Quando receber dados na textbox2 (a que recebe as mensagens de resposta) ele deverá contar as linhas da textbox1 e pular na textbox2, começando a exibir os dados somente a partir do número de linhas utilizado na textbox1. Porém não conseguir fazer isso funcionar... Estava tentando usar laço de repetição, porém do jeito que tentei não funcionou... Private Sub btnEnviar_Click() If txtChatEnv = "" Then Else txtEnvResp.Text = txtEnvResp.Text & (" - " & Now()) & vbCrLf txtEnvResp.Text = txtEnvResp.Text & txtChatEnv.Text & vbCrLf txtEnvResp.SetFocus L = txtEnvResp.LineCount txtRecResp.SetFocus P = txtRecResp.LineCount Do Until P <> L txtRecResp.SetFocus P = P + 1 txtRecResp.Text = txtRecResp.Text & vbCrLf Loop txtRecResp.Text = "teste" txtChatEnv.SetFocus txtChatEnv = "" End If End Sub Se alguém souber como fazer isso funcionar, desde já agradeço!
  24. WAYNEWAVE

    FORMATO DE DATA VBA

    Boa tarde, tenho um código que filtra uma tabela pela data. Porém, está dando erro, pois, o VBA não entende que o formato que está na CÉLULA é dd/mm/yyyy, ele entende mm/dd/yyyy. Alguém pode me ajudar ? Sub Filtro_Data() Application.Calculation = xlAutomatic Dim data_ini As Date Dim data_fin As Date data_ini = DateValue(Format(Range("F2"), "dd/mm/yyyy")) data_fin = DateValue(Format(Range("G2"), "dd/mm/yyyy")) Sheets("BACABA").Select Selection.AutoFilter ActiveSheet.Range("$c$5:d$50000").AutoFilter Field:=2, Criteria1:= _ ">=" & data_ini, Operator:=xlAnd, Criteria2:="<=" & data_fin End Sub
  25. Boa tarde, Estou tentanto criar um formulário que pesquisa dados no meu ficheiro em excel, mas não estou conseguindo, dá sempre erro: "Run-time error '1004': Select Method of worksheet class field" E não consigo passar daqui. Código: Private Sub CommandButton1_Click() Pesquisa_Venda.Show False End Sub Private Sub TextBox1_AfterUpdate() Dim intervalo As Range Dim texto As String Dim codigo As Long Dim pequisa Dim mensagem codigo = TextBox1.Text Sheets("Serviços").Select Set intervalo = Range("A10:N100000") On Error GoTo trataErro Parceiro = Application.WorksheetFunction.VLookup(codigo, intervalo, 2, False) Nomeclt = Application.WorksheetFunction.VLookup(codigo, intervalo, 3, False) NIFclt = Application.WorksheetFunction.VLookup(codigo, intervalo, 4, False) Tarifario = Application.WorksheetFunction.VLookup(codigo, intervalo, 7, False) datarec = Application.WorksheetFunction.VLookup(codigo, intervalo, 10, False) datareg = Application.WorksheetFunction.VLookup(codigo, intervalo, 11, False) estado = Application.WorksheetFunction.VLookup(codigo, intervalo, 8, False) TextBox2.Text = Nomeclt TextBox3.Text = Parceiro TextBox4.Text = NIFclt TextBox5.Text = Tarifario TextBox6.Text = datarec TextBox7.Text = datareg TextBox8.Text = estado TextBox1.SetFocus Exit Sub trataErro: texto = "O NIF indicado não consta na base de dados" mensagem = MsgBox(texto, vbOKOnly + vbInformation) End Sub Private Sub UserForm_Click() End Sub