Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''vba''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • 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

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Olá, após procurar muito e não encontrar resolvi me cadastrar no site e tentar solicitar ajuda... Estou tentando criar uma macro que envia WhatsApp para clientes, porem encontro um problema onde não consigo enviar a msg. 1° Localizo o cliente 2° Abro a janela de conversa 3° Edito o innerText da div (local onde escreve a msg) *4° Clicar no botao enviar btn = Doc.getElementById("main").getElementsByClassName("icon btn-icon icon-send send-container") *4° O botao está desabilitado, o mesmo só hanilita após mudar o conteúdo da div (3° passo, porem ao rodar pela macro ele não habilita automaticamente). Forço habilitar pelo comando btn.disabled = false (visualmente falando ele habilita, mas em seguida executo o comando btn.click e não acontece nada). Obs: Se rodar a macro no F8 e no momento em que ele atribui a msg para o cliente eu fizer qualquer ação na div o botao é habilitado e o comando "btn.click" funciona Obrigado!!
  2. Olá, sou novo aqui no Fórum. Peço desculpa, caso o local ou o conteúdo deste estejam em desacordo com as regras do fórum. Estou criando um formulário word para os processos do escritório. Até aí tudo certo. Gostaria de criar uma tabela usando um módulo em VBA para calcular os dias entre duas datas, por exemplo entre admissão e demissão. Assim: Preciso do Total de Dias no textbox3 e anos, meses e dias até a data final , respectivamente nos textbox4, textbox5 e textbox6; Preciso do mesmo calculo para as 4 opções. Fiz um teste na primeira linha usando o seguinte script: Sub rpps() Dim mData As Date Dim nData As Date Dim Texto3 mData = ActiveDocument.FormFields("Texto1").Result nData = ActiveDocument.FormFields("Texto2").Result ActiveDocument.FormFields("Texto3").Result = DateDiff("d", mData, nData) Exit Sub End Sub Deu certo para a primeira linha. O problema é que eu preciso de um cálculo para cada linha separado e, principalmente, eu não posso contar o dia do ano bissexto. Para utilizar o resultado nos campos abaixo do formulário, o resultado tem que usar o calculo como sendo todos os anos de 365 dias. Não tenho conhecimento em VBA suficiente. Gostaria de ajuda dos senhores. Caso haja necessidade de compra do script, posso receber uma proposta por mensagem privada.
  3. Boa tarde!! Criei uma macro que extrai uma série de dados do meu BD SQL através de uma Query e grava em uma planilha do Excel (que vou chamar de BD Excel), até aí sem problemas está funcionando corretamente. O que preciso agora é um pouco mais complicado: Considerando que o meu BD Excel possui no primeiro campo o ID_TITULO preciso fazer um somatório dos débitos e créditos de outra tabela do BD SQL e inserir o resultado da soma no BD Excel para cada um dos títulos. Ou seja, após criar o BD Excel com uma Query da tabela titulocli preciso somar os débitos e créditos da tabela transcli e inserir o resultado em nova coluna respeitando o ID_TITULO. Exemplo anexo. Obs.: a coluna em amarelo é a coluna para se incluir o resultado do somatório. Grato
  4. Bom dia, tenho o seguinte problema a resolver: " A ideia é sabermos o capital inicial disponível, informações sobre possíveis fundos de investimento e o capital final desejado. O programa deve verificar para cada fundo, qual o prazo necessário para alcançar o capital desejado. Com base nos prazos calculados e no perfil do investidor, o programa deve aconselhar qual o melhor fundo para investimento.O programa deve receber do usuário um perfil de risco (Muito Alto, Alto, Médio, Baixo), um capital inicial e um capital final desejado. Estes dados estarão em uma segunda planilha, conforme explicado abaixo.Com estes dados, o programa deve selecionar o fundo mais adequado para aquele investidor, levando em conta:O capital inicial deve ser pelo menos igual ao mínimo inicial do fundo.O risco do fundo deve ser menor ou igual ao do perfil do investidor.O número de meses necessários deve ser o menor entre os fundos que satisfazem as duas condições acima.O programa deverá preencher uma segunda planilha, chamada Resultados.Na primeira linha da planilha Resultados, o usuário deve colocar os dados de entrada: na célula A1 deverá aparecer o perfil (ex. "Baixo"), na B1 o capital inicial (ex. "100") e na C1 o capital final (ex. "1000").Na célula A2 deve aparecer "Fundo" e na B2 deve aparecer "Meses"A partir da terceira linha, o programa deverá colocar na primeira coluna o nome do fundo e na segunda coluna o número de meses necessários para atingir o capital final.Seu programa deve ter no mínimo as funções e macros auxiliares descritas abaixo:Function Prazo(CapInicial As Double, CapFinal As Double, TaxaAdmin As Double, Rentabilidade As Double) As IntegerFunção que recebe os quatro parâmetros reais - dois fornecidos pelo usuário na planilha de Resultados e dois lidos da tabela de fundos - e devolve um inteiro correspondendo ao número de meses necessários para atingir o capital final. Como a taxa de administração geralmente é dada por ano, o valor a ser subtraido da rentabilidade é TaxaAdmin/12.Sub PreencheTabela(CapInicial As Double, CapFinal As Double) Macro auxiliar que recebe os valores do capital inicial e do capital final e preenche as linhas da planilha Resultados com o nome de cada fundo e o prazo necessário. Esta macro deve utilizar a função Prazo.Function AvaliaRisco(Perfil As String, Linha As Integer) As Boolean Função que verifica se um certo fundo (especificado pelo parâmetro Linha, que indica a linha na tabela de fundos) está de acordo com o perfil do usuário.Vocês podem criar quantas funções e macros quiserem, desde que tenham no mínimo as três acima. Além disso, a coluna D da planilha Resultados pode ser usada de rascunho durante a execução do programa - lembre-se de apagá-la no final. A resposta deve ser dada nas células D1 e E1, informando o nome do fundo mais adequado ao investidor em D1 e o número de meses necessário em E1.IMPORTANTE:a macro principal, que vai chamar as demais e preencher a tabela deve ter o mesmo cabeçalho para todos: Sub Main()a planilha com a tabela de rentabilidade deve se chamar "Rentabilidade"a ordem entre as planilhas "Rentabilidade" e "Resultado" não importa, vocês devem sempre se referir às células pelo "nome completo", i.e., identificando a planilha."
  5. Olá galera! Preciso de um enorme favor. Tenho esta planilha, com várias colunas representando rubricas de pagamentos diferentes. Queria uma função que somasse essas colunas, quando os seus valores fossem, respectivamente: 19, 22, 24, 63, 67, 69, 70, 76, 77, 80, 82, 91, 94, 95, 99, 119, 120, 138, 143, 145, 146, 151, 166, 169, 170, 179, 181, 184, 194, 198, 238. A função deve ler o range das colunas e identificar os números, somando os valores da linha. Tentei a função SOMASES, como poderão ver no anexo, mas sem sucesso. Eu preciso de uma função em VBA, pois será uma demanda mensal, cujas rubricas que comporão os títulos das colunas poderão variar. Será que alguém consegue me ajudar? Agradeço de antemão. Abçs! Eduardo
  6. tazZz

    VBA / AUTOCAD

    Olá Tenho um FORMULARIO feito em vba que consiste em inserir "blocos" do auto cad em um ponto "X,Y", Gostaria de salvar as opções ticadas no formulario, que consistem em "OptionButton", PARA poder editá-las quando reabertas, para isso os OP, teriam que ser reaberto com a opção marcada pela ultima vez. CODIGO: Dim blockRef1 'REFERENCIA FLAME 1,4,5,6 EVER Dim insertionPnt1(0 To 2) As Double 'REFERENCIA FLAME 1,4 E 5 EVER Dim pathform1 As String 'REFERENCIA FLAME 1,4 E 5 EVER Private Sub CommandButton1_Click() '---------------------------------------------------------- If OptionButton1.Value = True Then 'Tensão 220V pathform1 = "XIS" 'FECHO LINGUENTA MIOLO FENDA insertionPnt1(0) = 112.96 'CORDENADA X insertionPnt1(1) = 266.7 'CORDENADA Y insertionPnt1(2) = 0# 'CORDENADA Z Set blockObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt1, pathform1, 1, 1, 1, 0) 'LOCAL ONDE SERA INSERIDO O BLOCK OptionButton1.TabStop = False ElseIf OptionButton2.Value = True Then 'Tensão 380V pathform1 = "XIS" 'REFERENCIA PODE SER O NOME OU DIRETORIO insertionPnt1(0) = 141.04 'CORDENADA X insertionPnt1(1) = 266.7 'CORDENADA Y insertionPnt1(2) = 0# 'CORDENADA Z Set blockObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt1, pathform1, 1, 1, 1, 0) 'LOCAL ONDE SERA INSERIDO O BLOCK OptionButton1.TabStop = False ElseIf OptionButton2.Value = True Then 'Tensão 380V pathform1 = "XIS" 'REFERENCIA PODE SER O NOME OU DIRETORIO insertionPnt1(0) = 141.04 'CORDENADA X insertionPnt1(1) = 266.7 'CORDENADA Y insertionPnt1(2) = 0# 'CORDENADA Z Set blockObj = ThisDrawing.ModelSpace.InsertBlock(insertionPnt1, pathform1, 1, 1, 1, 0) 'LOCAL ONDE SERA INSERIDO O BLOCK OptionButton1.TabStop = False End If UserForm1.Hide End Sub
  7. Boa tarde, Utilizo o código abaixo para abrir uma pagina da internet e preencher automaticamente os campos disponíveis, otimizando o tempo e deixando a interação do usuário sendo a mínima possível, para o exemplo abaixo funciona perfeitamente. Tentei utilizar o mesmo padrão para outro site "http://cnd.dataprev.gov.br/cws/contexto/aguia02/aguia02.html", mas não funciona, após algumas verificações, percebi que uma diferença entre os dois é que a pagina que não funciona está em "html", procurei em alguns fóruns e vi que há a necessidade de mudança do código para paginas em "html", como não tenho muito conhecimento de VBA, estou postando aqui minha dúvida. Será que alguém poderia me ajudar com o código para a pagina "http://cnd.dataprev.gov.br/cws/contexto/aguia02/aguia02.html" Public Sub ConsultaSimples() On Error Resume Next Dim endereço As String Dim mostra As Boolean Dim i, n, x As Integer endereço = "https://www8.receita.fazenda.gov.br/SimplesNacional/controleAcesso/Autentica.aspx?id=6" Set IE = CreateObject("InternetExplorer.Application") IE.navigate (endereço) While IE.ReadyState <> 4 Wend IE.Visible = True IE.Document.forms.Item(0).Item(4).Value = Sheets(6).Range("D2") IE.Document.forms.Item(0).Item(5).Value = Sheets(6).Range("E2") IE.Document.forms.Item(0).Item(6).Value = Sheets(6).Range("F2") While IE.ReadyState <> 4 Wend End Sub Desde já agradeço
  8. Tenho um programa em VBA que acessa uma determinada página para extrair alguns dados. Essa função o programa executa perfeitamente, porém estou tendo dificuldades com o 1º acesso à página, pois o site possui certificado expirado e dá sempre o erro "Há um problema no certificado de segurança do site." e o VBA entende que a página desejada foi carregada. Gostaria de saber se existe uma maneira do VBA identificar que caiu neste alerta de segurança do I.E e clicar automaticamente no link "Continuar neste site (não recomendado).".
  9. Bom Dia. Estou precisando de um script para o Outlook que salve os anexos de um determinado remetente em uma pasta no drive C: e que substitua o mesmo anexo já existente na pasta. sempre recebo de um remetente informações atualizadas em um anexo e preciso que esse anexo seja salvo automaticamente em uma pasta, mas que sempre seja o anexo mais recente, o Outlook deve ao salvar substituir o anexo velho, preciso muito disso, por favor ajudem. ressalto que não conheço muito de VBA, só o basico. obrigado!
  10. clinorto

    VBA Show do Milhão

    Boa tarde, Meu nome é André Duarte e tive a ideia de usar o modelo do show do milhão para fazer um jogo de pergunta e respostas para um projeto da faculdade, só que eu não entendo os códigos. Teria como vocês me ajudarem a criar este jogo? Será de muita valia a ajuda de vocês. a minha ideia segue em anexo. Agradeço e muito a ajuda de todos.
  11. Olá moçada. Preciso de um help de vocês. Tenho 2 consultas (com algumas sub-consultas cada), que adiciona registros em uma tabela. Quando eu executo a consulta diretamente pelo access, o tempo de processamento é normal (segundos), mas quando eu executo a mesma consulta por VBA (ADO, OLEDB.12.0) está demorando muito (minutos). Alguem teria uma luz? Desde já agradeço pela colaboração. Forte abraço. Junior
  12. Olá! Estou a tentar programar uma macro em VBA que corra a linha A, encontre o campo "Pagador" e devolva o número de valores diferentes presentes na respetiva coluna. No entanto, quando corro a macro o excel bloqueia e penso que entra em loop infinito e não consigo perceber porquê. Alguém me consegue ajudar? O código que estou a usar é: Private Sub CommandButton2_Click() Dim scol As New Collection Dim MyAr As Variant Dim x As Long Dim z As Integer Sheets("Aux").Activate Sheets("Aux").Range("A1").Select Do While ActiveCell.Value <> "" If ActiveCell.Value = "Pagador" Then With Sheets("AUX") C = Cells(Rows.Count, ActiveCell.Column).End(xlUp).Row A = ActiveCell.Offset(1, 0) B = ActiveCell.Offset(C, 0) MyAr = .Range("A:B").Value For i = 1 To UBound(MyAr) On Error Resume Next scol.Add MyAr(i, 1), Chr(34) & _ MyAr(i, 1) & Chr(34) On Error GoTo 0 Next i End With x = scol.Count Else ActiveCell.Offset(0, 1).Select End If Loop Sheets("Customer").Range("C32") = x End Sub
  13. Scarpetah

    Click Buton

    Pessoal; Estou com um problema em um codigo; eu consigo inserir as informações mais não consigo fazer ele clicar automaticamente, não da erro mais não acessa processa; <input type="image" class="cmdNormal" name="imgExec" src="../media/exec.jpg" border="0" value="Enviar"> info da pagina ====================================== Sub insert_mac() Dim ieApp As Object Dim Button As HTMLInputElement Set ieApp = CreateObject("InternetExplorer.Application") With ieApp .Visible = True .navigate ("http://datacenter.ctb.virtua.com.br/cable/cableresult.php") Do Until .ReadyState = 4 DoEvents Loop .document.all.Item("mac5").Value = "80" .document.all.Item("mac4").Value = "C6" .document.all.Item("mac3").Value = "AB" .document.all.Item("mac2").Value = "C5" .document.all.Item("mac1").Value = "71" .document.all.Item("mac").Value = "6A" IE.document.all.Item("Enviar").submit End With For Each Button In ieApp.document.getElementsByTagName("Enviar") Button.Click Next
  14. Pessoal boa tarde! Coloquei a macro abaixo pra copiar os atendimentos de um arquivo para outro, Porem sempre cola no mesmo lugar sobrepondo as informações anteriores, como faço para sempre colar na proxima linha vazia. segue macro: Sub Copiar_Dados() Dim wsOrigem As Worksheet Dim wsDestino As Worksheet 'Arquivo Destino, abrimos primeiro 'Ajuste o caminho do mesmo linha = Sheets("Atendimentos").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row + 1 'Arquivos e Abas de Origem e Destino Set wsOrigem = Worksheets("Atendimentos") Set wsDestino = Workbooks("Ind.Supervisor.xlsm").Worksheets("Atendimentos") With wsOrigem .Range("B10:B44").Copy Destination:=wsDestino.Range("B10") .Range("C10:C44").Copy Destination:=wsDestino.Range("C10") .Range("D10:D44").Copy Destination:=wsDestino.Range("D10") .Range("E10:E44").Copy Destination:=wsDestino.Range("E10") .Range("F10:F44").Copy Destination:=wsDestino.Range("F10") .Range("G10:G44").Copy Destination:=wsDestino.Range("G10") ContLinha = ContLinha + 1 End With 'Fecha o Arquivo Destino e Salva Workbooks("Ind.Supervisor.xlsm").Save MsgBox "Envio de Dados Concluído" End Sub
  15. Olá, eu preciso copiar o endereço URL de um botão de uma página. Eu uso o VBA para criar um objeto, abrir uma página do Internet Explorer, navegar até um certo site, e nesse site eu preciso copiar o endereço url de um botão que está no meio da página. No código fonte da página o botão "Ver" está na Tag "a". Eu consigo clicar o botão (ver1.Click) e acessar a url em uma nova página (abre uma nova página automaticamente), como eu poderia copiar a url, ao invés de abri-la? Sub Name() 'Declara objIE1 como um objeto Dim objIE1 As Object 'Cria o Objeto1 a partir do Internet Explorer Set objIE1 = CreateObject("InternetExplorer.Application") 'Executa com o Objeto1 as tarefas abaixo With objIE1 .Visible = True .navigate "sitequalquer" While .Busy Or .ReadyState <> 4: DoEvents: Wend .Document.getElementById("drpMunicipioBusca").Focus .Document.getElementById("drpMunicipioBusca").Value = "83739" .Document.getElementById("btnBuscar").Click While .Busy Or .ReadyState <> 4: DoEvents: Wend Dim ver1 As Object For Each ver1 In .Document.GetElementsByTagName("A") If ver1.innertext = "Ver" Then ver1.Click Exit For End If Next End With End Sub
  16. Bom dia! Tenho uma Planilha, consolidada, que é atualizada semanalmente, e preciso copiar os dados que estão nesta planilha e colar em outras planilhas, que estão divididas por turmas, mas gostaria de utilizar a função PROCV. EX: Na planilha consolidada tenho vários alunos de várias turmas, onde nas linhas estão os nomes dos alunos e as colunas separam as notas de cada um deles. Cada turma possui uma planilha distinta, onde serão colados os dados da planilha consolidada, que é atualizada semanalmente. sistemática: Pega o 1º nome, varre a planilha da turma, ao encontrar o nome, copia as colunas que possuem dados (PLANILHA CONSOLIDADA) e cola na planilha da turma continua o mesmo processo para os outros alunos. Desde já agradeço a ajuda!!!!
  17. Tenho uma formatação condicional vinculada à seleção de célula (Em VBA). Toda vez que se clica numa célula, certo range da linha formata diferente. Funciona bem, mas após a execução da macro fico sem o recurso de desfazer. Para fugir disso, gostaria de executar uma macro para achar um valor na planilha, apagar valores existentes em uma coluna e escrever um valor apenas na célula corresponde à linha encontrada. Desta forma consigo uma formatação condicional vinculada ao valor escrito que só vai ser alterada quando a macro for executada outra vez O Objetivo é na Plan1 executar a macro que procura um valor da Plan1 e vai para a Plan2 e destaca a linha encontrada. Em VBA preciso 2 ações na mesma macro: 1) Apagar os valores da Plan2!K3:K250 Já tenho uma macro que faz isso: Sub Apaga_Coluna_K() Sheets("plan2").Visible = True Sheets("plan2").Select Range("K3:K250").ClearContents End Sub Mas preciso acrescentar no mesmo código: 2) Buscar o valor de Plan1!A3 em Plan2!A3:A250 e escrever o valor “1” na célula da Plan2, coluna K da linha encontrada (correspondente) em K3:K250 Equivalente a: Índice(Plan2!K3:K250;CORRESP(A3; Plan2!A3:A250;0)), mas não somente trazendo o valor da célula, e sim escrevendo nela. Dessa forma, nessa coluna haverá somente uma célula com o valor escrito, permitindo a formatação condicional somente nessa linha. Agradeço qualquer orientação!
  18. Gente eu comecei com VBA a pouco tempo por causa do meu trabalho, eu estou tentando fazer algo que me pediram e eu estou com muitas duvidas, quando executo o código ele faz o excel parar de responder, meu chefe pediu para fazer em VBA como um desafio pra melhorar, sou estagiário, disponibilizarei o arquivo abaixo, quem puder me ajudar, agradeço desde já. Explicando o que quero fazer é: fazer com que o programa pergunte ao usuário a data que quer adicionar falta, ele vai até a data que o usuário digitou, marca todos os alunos como presentes(P) naquele dia e depois pergunta o numero do aluno que faltou para descer até ele e marcar "F", e continue perguntando até o usuário clicar em cancelar, criei forms para facilitar ao usuário, mas se vocês acharem melhor fazer de outro jeito para me explicar, pode ser, só preciso aprender logo. Para verificar o código que eu fiz, o código está no botão "Registrar Faltas" no formulário em1e, se puder explicar o que está errado agradeço muito. até mais e agradeço desde já. Projeto.xlsm: https://www.dropbox.com/s/fdskfppdrjpx3vd/projeto.xlsm?dl=0
  19. Prezados boa tarde, Abaixo há um código que será executado toda vez que um determinado arquivo excel for aberto com o objetivo de bloquear o acesso de computadores não autorizados. Para isso a ideia é verificar o serial da placa mãe do computador e verificar se o mesmo está cadastrado em um banco de dados mysql. Se não estiver cadastrado fecha o arquivo e caso contrário libera o acesso. A função Workbook_Open é responsável por liberar ou bloquear o acesso A função MBSerialNumber pega o serial da placa mãe A função ConnectDB acessa e realizar uma pesquisa do DB MySQL verificando se o serial do computar está cadastrado. Justamente nesta última função estou tendo o erro 3709 (The connection cannot be used to perform this operation. Its either closed or invalid in this context), na linha 4 de baixo para cima. Gostaria da ajuda de vocês para solucionar este problema. Public cn As Variant Private Sub Workbook_Open() Call MBSerialNumber Call ConnectDB If rs < 1 Then MsgBox ("Data Security failier, This workbook will close") ActiveWorkbook.Save ActiveWorkbook.Close End If End Sub Public Function MBSerialNumber() As String Dim objs As Object Dim obj As Object Dim WMI As Object Dim sAns As String Set WMI = GetObject("WinMgmts:") Set objs = WMI.InstancesOf("Win32_BaseBoard") For Each obj In objs sAns = sAns & obj.SerialNumber If sAns < objs.Count Then sAns = sAns & "," Next MBSerialNumber = sAns End Function Private Sub ConnectDB() Set cn = CreateObject("ADODB.Connection") cn.Open "DRIVER={MySQL ODBC 5.3 ANSI Driver};" & _ "SERVER=xxx.com.br;" & _ "DATABASE=xxx;" & _ "USER=xxx;" & _ "PASSWORD=xxx" Set rs = CreateObject("ADODB.Recordset") rs.Open "SELECT COUNT(serial) FROM users WHERE serial='" & MBSerialNumber & "', cn, adOpenStatic, adLockOptimistic"";" cn.Close Set cn = Nothing End Sub
  20. Ola pessoal, Sou novo no fórum, e também no que diz respeito a programação, então vamos ao ponto... Tenho uma planilha na qual eu tenho um relatório de obras, que preencho campos como horário de entrada e saída de vários funcionários, e uma planilha individual para cada funcionário citado no relatório de obras, onde essa planilha individual, é feito um relatório de horário de entrada e saída do funcionário x. Eu criei um código que é eficaz, que percorre todos os nomes e planilhas, preenchendo o horário conforme o dia citado no relatório de obras, porém, imagino que exista soluções melhores. O que fazer para melhorar? Código em abaixo. Application.ScreenUpdating = False Dim Data As Date Dim W As Worksheet Dim W2 As Worksheet Dim Hora As Date Dim Funcionarios As String Dim Ent1 As Date Dim Sai1 As Date Dim Ent2 As Date Dim Sai2 As Date Dim He70 As Long Dim He100 As Long Dim Adn As Long Dim Total As Long Set W = Sheets("Plan1") Set W2 = Sheets("Plan3") W.Select W.Range("J2").Select Data = W.Range("J2") Funcionarios = W2.Range("D2") W.Range("c5").Select Do While Funcionarios <> ActiveCell.Value ActiveCell.Offset(1, 0).Select Loop Ent1 = ActiveCell.Offset(0, 2).Value Sai1 = ActiveCell.Offset(0, 3).Value Ent2 = ActiveCell.Offset(0, 4).Value Sai2 = ActiveCell.Offset(0, 5).Value He70 = ActiveCell.Offset(0, 7).Value He100 = ActiveCell.Offset(0, 8).Value Adn = ActiveCell.Offset(0, 9).Value Total = ActiveCell.Offset(0, 6).Value W2.Select W2.Range("C4").Select Do While ActiveCell.Value <> Data ActiveCell.Offset(1, 0).Select Loop If ActiveCell.Offset(0, 1).Value <= "" Then ActiveCell.Offset(0, 1).Value = Ent1 ActiveCell.Offset(0, 2).Value = Sai1 ActiveCell.Offset(0, 3).Value = Ent2 ActiveCell.Offset(0, 4).Value = Sai2 ActiveCell.Offset(0, 5).Value = Total ActiveCell.Offset(0, 6).Value = He70 ActiveCell.Offset(0, 7).Value = He100 ActiveCell.Offset(0, 8).Value = Adn Else MsgBox "Esse dia já foi preenchido" End If '-------------------------------------------------------------------------------------- W.Select W.Range("J2").Select Set W2 = Sheets("Plan2") Data = W.Range("J2") Funcionarios = W2.Range("D2") W.Range("c5").Select Do While Funcionarios <> ActiveCell.Value ActiveCell.Offset(1, 0).Select Loop Ent1 = ActiveCell.Offset(0, 2).Value Sai1 = ActiveCell.Offset(0, 3).Value Ent2 = ActiveCell.Offset(0, 4).Value Sai2 = ActiveCell.Offset(0, 5).Value He70 = ActiveCell.Offset(0, 7).Value He100 = ActiveCell.Offset(0, 8).Value Adn = ActiveCell.Offset(0, 9).Value Total = ActiveCell.Offset(0, 6).Value W2.Select W2.Range("C4").Select Do While ActiveCell.Value <> Data ActiveCell.Offset(1, 0).Select Loop If ActiveCell.Offset(0, 1).Value <= "" Then ActiveCell.Offset(0, 1).Value = Ent1 ActiveCell.Offset(0, 2).Value = Sai1 ActiveCell.Offset(0, 3).Value = Ent2 ActiveCell.Offset(0, 4).Value = Sai2 ActiveCell.Offset(0, 5).Value = Total ActiveCell.Offset(0, 6).Value = He70 ActiveCell.Offset(0, 7).Value = He100 ActiveCell.Offset(0, 8).Value = Adn Else MsgBox "Esse dia já foi preenchido" End If
  21. Pessoal, bom diaCriei um código que funciona perfeitamente que dispara centenas de e-mails a partir de uma lista do excelMeu problema é que no outlook 2013, ele trava na hora de enviar os e-mails dizendo:"Programa tentando enviar email em seu nome. Se isso for inesperado, clique em Negar e verifique se o software antivirús está atualizado."E constantemente eu teria que apertar "Permitir"Baixei o ClickYes PRO 2010, funcionou perfeitamente porém meu Trial expirou, e teria que comprar o pacote para continuar utilizandoVoces conhecem algum programa gratuito que faça o mesmo que o Click Yes? Ou sabem de alguma maneira via código de desabilitar essa mensagem do outlook?Obrigado a todos desde já!
  22. Boa tarde, meu código entra numa tabela pega as informações de uma coluna e as insere aleatoriamente em uma coluna de outra tabela, mas há algo errado, conseguem me ajudar? Código: Private Sub Distribuir_Click(tbusuarios2) Select Case tbusuarios2(Profissional) Case 1 Case Is = "Angelica de Souza Alexandre" Case 2 Case Is = "Marianne Barbosa Teixeira" Case 3 Case Is = "Luis Eduardo" Case 4 Case Is = "Pedro dos Santos Fonseca Araujo" Case 5 Case Is = "Diogo Mattos" Case 6 Case Is = "Noemi Pessoa" Case 7 Case Is = "Adriano de Souza Ribeiro" End Select Selection.insert tbbase(Profissional) MsgBox "Operação realizada com Sucesso!" End Sub
  23. Parceiros, Estou com duvidas de como inserir um campo em formulario USEFORM VBA. Criei um formulario de recadastramento de dados de empregados de uma empresa e nele são inseridos varios dados de empregados que tiveram alterações do tipo: endereço, estado civil, Cep, etc. O fato que desejo que ao digitar a matricula desse empregado, que é o primeiro campo a ser preenchido nesse formulário, os campos referentes ao nome e da filial onde estão alocados já sejam preenchidos automaticamente e ao clicar em SALVAR esses dados seja preenchido a planilha com esses dados e os demais que serão inseridos. Ou seja, necessito que esses dois campos sejam auto-preenchidos, capturados de uma aba onde contem os dados de todos os empregados desta empresa. Pensei que pudesse ser criado uma codigo em VBA que me permitisse isso, mas já fiz várias pesquisas na net sem sucesso. Como poderia realizar esse procedimento? Conto com a ajuda de voces! Godinho VBA
  24. Olá Pessoal, tenho uma planilha formada por várias sheets que adaptei para a minha necessidade. Quero que quando o usuário tente abrir o workbook, um form (chamado LOGIN) pedindo o nome do usuário e a senha apareça, sem que a planilha seja mostrada. Coloquei então o seguinte código na "EstaPasta_de_Trabalho": : Private Sub Workbook_Open() Application.Visible = False Application.ScreenUpdating = False LOGIN.Show End Sub Não funcionou. Como a planilha que estou adaptando tem um módulo (chamado "Módulo_geral") que "chama" as subs (sheets) a partir de uma planilha MENU, a única maneira do form de user e senha aparecer foi incluindo neste módulo uma sub como abaixo: Sub auto_open() Application.Visible = False LOGIN.Show End Sub Aí o form de LOGIN aparece, mas não antes que a planilha sempre apareça mesmo que rapidamente, antes do form de LOGIN aparecer. Alguém tem alguma ideia de onde estou errando? Obrigado
  25. Olá, minha dúvida aparentemente é simples... Seria possível existir ou construir uma função que torne um valor em negrito nos mesmos moldes que a função MAIÚSCULA(), por exemplo?Exemplo.: =maiúscula(c3)E na célula C3 contém: meu muito obrigado a todos!Logo o resultado será: MEU MUITO OBRIGADO A TODOS!Nessa hipotética função que estou requisitando, seria NEGRITO(), por exemplo =negrito(c3)e o resultado: meu muito obrigado a todos!Outro exemplo seria =maiúscula(negrito(c3))E o resultado: MEU MUITO OBRIGADO A TODOS! Será que poderiam me ajudar construindo tal função?
×
×
  • Criar Novo...