Jump to content

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

  • Bem-vindos ao Portugal-a-Programar
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Wiki P@P
    • Apresentação de Projectos de Programação
    • Downloads
  • Revista PROGRAMAR
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Haskell
    • Pascal
    • Python
    • Bases de Dados
    • Visual Basic Clássico
    • Visual Basic for Applications (VBA)
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica
    • Automação Industrial
    • Matemática
    • Dúvidas e Discussão de Programação
    • Notícias de Tecnologia
  • Outras Áreas
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
    • Tutoriais
    • Snippets / Armazém de Código
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Found 1,270 results

  1. luam das chagas soares

    Não consigo executar o msgbox

    fala galera sou novo aqui , nao entendo muito sobre o VBA no exel mas estou com um problema nao cosigo fazer o msgbox da minha planilha disparar quando um valor de uma celula é maior do que a outra parametros Sub alerta() If Range("T3").Value >= Range("N3").Value Then MsgBox "mensagem de teste", vbExclamation, "ALERTA" Else End If End Sub mas ela nao executa, e nem menos dispara quando o valor da celula T3 é maior ou igual ao valor da celula N3 me ajudem por gentileza, nao consegui resolver esse problema
  2. Olá, estou com um loop infinito e não sei como resolver. Estou usando o evento change para saber se a célula foi altera. Em seguida vou passando por algumas Sub's. Ocorre que no célula data entro em loop sem sair. 01 - Imagem https://www.dropbox.com/s/csfh2iuwurzwuqy/vba_change.png?dl=0 02 - Codigo WorkSheet_Change Option Explicit Private Sub WorkSheet_Change(ByVal Target As Range) If Target.Address = "$C$2" Then Range("$C$2").NumberFormat = "dd/mm/yyyy" Valida_Data End If If Target.Address = "$E$2" Then Range("$E$2").NumberFormat = "@" Digita_Hora End If End Sub 03 - Modulos Option Explicit Dim str_Data_Inicio As String Dim str_Hora_Inicio As String Sub Valida_Data() If IsDate(Range("$C$2")) = True Then str_Data_Inicio = Mid(Range("$C$2"), 7, 4) & "-" & Mid(Range("$C$2"), 4, 2) & "-" & Mid(Range("$C$2"), 1, 2) ' Range("$E$2").ClearContents ' Range("$E$2").Select Digita_Hora Else MsgBox ("data inválida") Range("$C$2").Select End If End Sub Sub Digita_Hora() ' Range("$E$2").ClearContents Range("$E$2").Select If Len(Range("$E$2")) < 4 Or Len(Range("$E$2")) > 5 Then MsgBox ("Hora inválida, digite hora com 4 caracteres"), vbExclamation ' Range("$E$2").ClearContents Range("$E$2").Select Else MsgBox ("vou validar hora") Valida_Hora End If End Sub Sub Valida_Hora() ' str_Hora_Inicio As String ' MsgBox (str_Hora) If IsNumeric(Left(Range("$E$2"), 2)) And IsNumeric(Right(Range("$E$2"), 2)) Then str_Hora_Inicio = Left(Range("$E$2"), 2) & ":" & Right(Range("$E$2"), 2) str_Data_Inicio = str_Data_Inicio & " " & str_Hora_Inicio If Len(str_Hora_Inicio) = 5 Then Range("$E$2") = str_Hora_Inicio End If Else MsgBox ("Hora inválida, digita_hora") Digita_Hora Range("$E$2").ClearContents End If End Sub Sub Criar_Plan() MsgBox ("Criar Plan") End Sub Agradeço a quem puder me auxiliar. José Bonfim
  3. RafaelFranckilin

    Iniciar programa com o windows

    Pessoal, eu preciso colocar meu programa para iniciar junto com o windows, mas meu programa tem um arquivo de configuração (app.config), como eu faço? agradeço desde já.
  4. Boa noite!, tenho um problema em alterar 2 campos (1 campo em VB e outro campo em acess), tenho uma textbox que tem como mascara "000000000", para meter só numeros . e tenho um campo em acess em "numero", e queria alterar os 2 para escrever letras e numeros, como faço?
  5. Bom dia! Tenho uma app concluída feita em visual basic express 2008, com base de dados em access 2010. Tenho um problema em uma texto box que tem como máscara "000000000" ou seja para só aceitar números, e em acess tenho uma tabela com um campo "referencia" que tem como numero. Acontece que a "referência" também leva letras e precisava de mudar para números e letras, como faço para que isso me aconteça, sem me dar erros na BD.
  6. Tenho uma planilha feita no Excel 2003. Apesar de não ter macros, protegi o VBA com senha (Alt+F11 - Propriedades de VBAProject/Proteção), pois há uma planilha oculta como: 2 - xlSheetVeryHidden Por isso protegi o VBA, para que o usuário não torne a planilha oculta. Repito: não há módulos, formulários, macros, nada. Ao abrir no Excel 2007 em modo de compatibilidade, para minha surpresa o VBA está ativo, pois a senha sumiu. No Excel 2003 continua protegido, mas no Excel 2007 não.
  7. Boa Noite, Sou Novo no VBA e estou a tentar desenvolver uma macro que me faça o seguinte: tenho Vários dados em 5 colunas e o que pretendo fazer é um filtro pela coluna [E] e que adicione novo livro em csv com o nome do filtro, mas se o livro já existir então vai colar os dados de acordo a coluna [A]. ex:macro faz filtro pela coluna E, copia linha 1, 2 para um novo livro com o nome 100, se esse livro já existe, então vai copiar os dados e colar na ultima célula preenchida se não existir as datas 15/08/2019 ou 16/08/2019, se as datas existirem então substituir os dados. O que tenho até agora é a seguinte macro que encontrei na internet. se me pudessem ajudar agradecia imenso, obrigado. Sub DistributeRowsToNewWBS() Dim wbNew As Workbook Dim wsData As Worksheet Dim wsCrit As Worksheet Dim wsNew As Worksheet Dim rngCrit As Range Dim LastRow As Long Set wsData = Worksheets("Folha1") ' name of worksheet with the data Set wsCrit = Worksheets.Add LastRow = wsData.Range("e" & Rows.Count).End(xlUp).Row ' column H has the criteria wsData.Range("e1:e" & LastRow).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=wsCrit.Range("A1"), Unique:=True Set rngCrit = wsCrit.Range("A2") While rngCrit.Value <> "" Set wsNew = Worksheets.Add ' change E to reflect columns to copy wsData.Range("A1:E" & LastRow).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=rngCrit.Offset(-1).Resize(2), CopyToRange:=wsNew.Range("A1"), Unique:=True wsNew.Name = rngCrit wsNew.Copy Set wbNew = ActiveWorkbook ' saves new workbook in path of existing workbook wbNew.SaveAs ThisWorkbook.Path & "\" & rngCrit wbNew.Close SaveChanges:=True Application.DisplayAlerts = False wsNew.Delete rngCrit.EntireRow.Delete Set rngCrit = wsCrit.Range("A2") Wend wsCrit.Delete Application.DisplayAlerts = True End Sub https://ibb.co/nQgNqM1
  8. Bom dia a todos, Gostaria de saber se existe alguma forma de exportar os campos de uma tabela ou consulta no formato XML. A ideia seria criar um botão com um evento, que vai buscar os dados como por exemplo: (cliente, morada, cidade)...e exportar para XML capaz de ser guardado na área local.
  9. Ola Boa Tarde amigos; Estou com gigantesco problema Criei um arquivo para o rh da empresa. mais porem criei na minha maquina ao executar em outras maquinas ele nao exibe o LISTVIEW1 NA OUTRA MAQUINA,OQUE EU FAÇO !
  10. Se alguém souber como fazer conexão entre dois arquivos do Excel, ambos por VBA por exempl tenho 3 planilhas as planilhas 1 e 3 servem como se fosse um sistema e a 2 como um banco de dados existe essa possibilidade eu ter cada planilha em uma maquina diferente e elas ficarem interligadas uma a outra ??? como... desde ja agradeço
  11. Alguem pode me ajudar, tenho um projeto vba, e ja esta nos finalmentes conforme eu queria, porem gostaria de criar um banco de dados para utiizar nele como eu faço isso ?
  12. Boa Tarde !!! Preciso do conhecimento maior desta coletividade, tentei desenvolver de diversas formas um código para imprimir uma listbox completa para qualquer formato que permita imprimir fisicamente após, entretanto, nenhum código foi bem sucedido, recorro agora a alguma outra alternativa por indicação da comunidade. Atenciosamente.
  13. preciso um textbox no VBA que retorne o valor de 0,00 para o textbox apos informação enviada ! por exemplo envio o valor de 150,00 para uma planilha e retorna para o textbox 0,00 para que u possa digitar novamente outro valor em cima ou deixar o valor em 0,00 mesmo !
  14. GUSTAVO PEDROZO

    ajuda com textbox

    Olá amigos, sou novo na programação com VBA, e preciso de uma ajuda, criei um formulario para registro de gastos com funcionarios, e não quero que fiquem celulas em branco porem nao sao todas que sao necessarias um valor como deixar um valor dentro do textbox que mesmo depois de salva a informação ele retorne para o textbox
  15. Ola pessoal boa tarde, sou novo ainda no VBA. Bom, eu queria um código para que quando aparecer o valor aleatório na célula x, ele gere valores impares até o valor daquela célula X. Por exemplo. Valor da célula X= 304 (valor aleatório) Gerar uma coluna inteira, do A1=5 ATE A289= 300. com os valores espaçados a cada 8 linhas entre eles. Ou seja: A1= 5 pula 8 linhas A9=10 e etc... Comecei com algo, porem quando eu digito valores aleatórios pares ele gera valores até o final da coluna. Vou agradeçer muito se der para ajudarem. Private Sub BtExecuta_Click() Dim w As Worksheet Dim ln As Long Dim col As Integer Dim varray() As Long Set w = Plan6 ln = 5 col = 1 Do Until ln = Plan6.Cells(1, 3).Value w.Cells(ln, col).Value = ln ln = ln + 5 Loop End Sub
  16. Boa tarde tenho o seguinte problema: Tenho 2 tabelas: Tabela1 com datas; Tabela2 com datas e valores; Tenho o (SOMA.SE Data da Tabela2;Data Tabela1;VALORES) numa celula da tabela 1; Em VBA tenho o seguinte código: Folha4.Range("C7").Value = WorksheetFunction.SumIf(("R:R"), "B7", ("U:U")) Mas dá-me um erro que não percebo qual seja. Alguém me consegue ajudar?
  17. Amigos, bom dia. Estou com um problemão com VBA e preciso urgentemente de uma solução ;S É o seguinte: Eu tenho uma automação que rodava normalmente até a sexta feira na parte da manha, a partir da parte da tarde ela simplesmente não roda mais !!! A automação foi feita em um excel 2007, e a partir da tarde de sexta feira só funciona no Excel 2010 !!! E o pior: O erro não é especificado pelo excel, ocorre somente a mensagem: "Erro de automação" E o pior ainda: Nenhuma automação funciona mais, inclusive BACKUPs. Alguém já viu esse erro em algum lugar? OBS: O erro não ocorre em uma linha especifica, portanto caso precisem da planilha para testes me avisem que eu mando por email. Muito obrigado!
  18. Oi pessoal estou com um problema que não consigo resolver. O que eu queria fazer era o seguinte: Sempre que o valor constante linha 16 for igual ao valor da linha 9, a macro executasse automaticamente, ou seja, enviando um e-mail com a informação, segue eu precisasse digitar o valor na linha. Obs.: A linha 9 é uma fórmula, ou seja, não digito o valor. Na linha 16, o valor é digitado e quando o valor da linha 9 (que é fórmula) atingir automaticamente o valor da linha 16, o e-mail é disparado. Segue abaixo a macro que de estou tentando resolver o problema: Private Sub Worksheet_Change(ByVal Target As Range) Dim OutApp As Object Dim OutMail As Object Dim texto As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) linha = Target.Row If Target.Address = "$I$" & linha Then If Planilha11.Cells(linha, 16) = Planilha11.Cells(linha, 9) Then With OutMail .To = "xxxxxxxxx@gmail.com" .CC = "" .BCC = "" .Subject = " A Ação " & Planilha11.Cells(linha, 1) & "," & " atingiu o valor " & Planilha11.Cells(linha, 16) .Body = texto .Send 'Utilize Send para enviar o email sem abrir o Outlook End With End If On Error GoTo 0 Set OutMail = Nothing Set OutApp = Nothing End If End Sub
  19. Boa tarde estou com algumas dúvidas no meu código VBA. Tenho uma base de dados com vários registos de dias e alguns valores. O meu objectivo era fazer com que automaticamente o código fosse verificar as datas e numas células inserir as mesma logo de seguida iria somar os valores apenas daquele dia e assim por diante.
  20. Boa tarde, Precisava da vossa ajuda, se fosse possível, para o seguinte : Tenho um livro excel com 3 folhas (cadorc, orcamento e Sheet 1). Queria copiar dados da folha orçamento para a Sheet1. O meu problema é que por cada novo orçamento os dados da folha orcamento são apagados. Queria que a Sheet1 fosse a base de dados de todos os orçamentos , ou seja , queria copiar os dados para esta sem apagar os anteriores. Tenho uma rotina que ,embora lenta, faz a copia. Problema é qua apaga os dados anteriores, isso não queria!!! Agradeço a ajuda
  21. Boa tarde tenho o seguinte esquema: Folha Excel com Dados ----- Excel com Macro ----- Folha Excel recebe Dados Precisava de passar os dados da 1º folha para a 2º quando abro o Excel que contêm a macro. Alguém me poderia dar uma ideia do código que vou precisar? Obrigado!😄 Abraços, Afonso Mira.
  22. Boas Estou com algumas dificuldades em fazer um código para ver se a célula contem ou não uma string alguém me poderia ajudar. Obrigado, Afonso Mira
  23. Necessito de uma ajudinha... Necessito criar uma macro para criação de um gráfico cuja BD pode ser numa range variável, ou seja tanto pode ser da "A1:B20" como da "A21:B28". Neste momento pelo que consegui pesquisar na internet tenho mais ou menos isto: Dim rng As Range Set rng = Application.InputBox(Prompt:="Selecione a área do gráfico", Type:=8) Worksheets("sheet1").Activate ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlLine ActiveChart.SetSourceData Source:=Range("rng") Range("A2").Select Consigo selecionar uma area no excel mas não faz rigorosamente nada e quando está a tentar criar o gráfico não me aceita o "rng". se for possível agradeço uma ajuda... por favor. Obrigada
  24. Boa noite. Tenho um ficheiro que criei no excel 2010 e que gera um pdf a partir do nome original do ficheiro, adicionando a data obtida a partir da céluda A2, como prefixo. Este ficheiro sempre correu bem até actualizar o pc para o excel2016. Deixou de gerar o pdf e dá sempre erro no VBA for Applications, na função cujo código passo a apresentar: Worksheets("Envio Cliente").Activate Dim data2 As String pdfName = ActiveSheet.Name data2 = ActiveSheet.Range("A2").Value pdfName = "_Mapa de Contagem" MsgBox data2 ChDir ActiveWorkbook.Path & "\" fileSaveName = data2 & pdfname ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ fileSaveName _ , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _ :=False, OpenAfterPublish:=False Aque MsgBox serviu para perceber qual seria o valor que estaria a ser lido na célula A2 e é sempre dd/mm/yyyy o que faz com que não possa ser usado para nome de ficheiro. Já tentei formatar a data no excel de todas as formas, desde pontos a hifenes. Retorna sempre aquele valor com as barras. Já andei a tentar ver se há algum workaround, mas não consegui nada. Se alguém tiver alguma sugestão, agradeço.
  25. Trabalho numa multinacional, onde temos Excel em Inglês e em Português. A função EOMONTH funciona bem no inglês e quando se abre no português é automaticamente convertida para FIMMES. O Problema é quando se volta a abrir o ficheiro no Excel inglês, a conversão não acontece e fica a dar aquele erro de função #NAME? Já alguém passou por isso? Alguma ideia?
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.