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,258 results

  1. 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á.
  2. 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
  3. Afonso Mira

    SOMA.SE em VBA

    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?
  4. 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!
  5. 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
  6. 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.
  7. 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
  8. 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.
  9. 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
  10. 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
  11. 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.
  12. 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?
  13. fabiomaxdoce

    Problema com o Reporting do VBA

    Saudações Caríssimos. Estou pronto a terminar um projecto de Sistema de Facturação, e Gestão Empresarial, e estou tendo problemas ao adicionar um rdlc que é a uma extensão do Visual Studio, para relatórios e impressão. Eu não tenho instalado ele, eu apenas tenho a extensão crystal report, mais não trabalhar com ele... Agradeço desde já, eu não acho a extensão a lugar algum para a versão do Visual Studio 2010 Ultimate ou Express. Obrigado
  14. Tenho o código abaixo que acessa a página da InfoMoney e seleciona a opção Todos do botão para retornar todos os resultados. O problema é que só seleciona, mas não clica para retornar todas as cotações. Sub GetHtmlDocument() Dim IE As New SHDocVw.InternetExplorer Dim HTMLDoc As MSHTML.HTMLDocument Dim HTMLOptions As MSHTML.IHTMLElementCollection Dim HTMLOption As MSHTML.IHTMLElement IE.Visible = True IE.navigate "https://www.infomoney.com.br/ibovespa" Do While IE.ReadyState <> READYSTATE_COMPLETE Loop Set HTMLDoc = IE.Document Set HTMLOptions = HTMLDoc.getElementsByTagName("option") 'É um botão For Each HTMLOption In HTMLOptions If HTMLOption.innerText = "Todos" Then HTMLOption.Selected = True Exit Sub End If Next HTMLOption End Sub
  15. Boas gostaria de criar um vba onde classifica os slides de um powerpoint em ordem alfabética de acordo com o shape(1) de cada slide. Pensei em exportar as Shapes(1) para um arquivo em excel na coluna A e na coluna B numerar de acordo com os slides classificar a coluna A e após isso, reorganizar os slides do powerpoint de acordo com essa lista. Alguem pode me ajudar.
  16. Bom dia. Numa planilha tenho uma macro, a qual quero que corra apenas se a célula ativa se encontrar numa determinada coluna (a coluna "E"). Caso contrário, irá devolver-me uma msgbox. No entanto, ao correr a macro, recebo sempre o erro "run-time error 438". O código que estou a inserir é o seguinte: Sub Macro3() If ActiveCell.Columm <> 5 Then MsgBox "Por favor selecione apenas células da coluna 'Saída'" Exit Sub Else ActiveCell.Offset(0, -1) = ActiveCell.Offset(0, -1) - ActiveCell ActiveCell = 0 End If End Sub Será que alguém me consegue ajudar e dizer o que estou a fazer mal? Muito obrigado, Abraços, Miguel Martins
  17. JCarlos Batista

    Help me !!!

    Boa noite companheiros, Recorro a vocês no sentido de me ajudarem, porque devido ao cansaço já não consigo raciocinar. O assunto é o seguinte, tenho uma tabela de materiais, e depois uma tabela linha de materais. Acontece que para preencher as mesmas, tenho um form, e um sub form (continuo) para a das linhas. O problema é que no subform na combo ondo escolho o material que devera ir para a requisição, depois coloco a qtd, e gostaria de à frente desta me fosse mostrado o stock disponível, numa texbox que irá ler na tabela das linhas, sendo filtrado o stock do que anteriormente escolhemos na combo. Este código deverá ser colocado no evento da combo "after update". Mas emperrei por já levo umas horas boas disto, o meu código até agora não funciona, mas julgo estar próximo. Deixo à vossa apreciação e critica. <>Private Sub Material_AfterUpdate() <>Dim rs As Recordset, s As Long <>Set rs = CurrentDb.OpenRecordset("select Sum(Qtd_Movimentada) AS s from [T_Linhas_EPI]" & _ <> " where material='" & Me.Parent.SF_Linhas_EPI.Material & "';") <>Me.Stock = s <>End Sub Sempre que escolho o material na combo dá run-time error 2465. Abraço a todos e bem hajam
  18. Bom dia , estou a trabalhar num projeto no qual preciso de receber informação de diferentes ESP8266 e através de uma aplicação trabalhar esses dados . Estou a pensar em fazer utilizando Sockets ,ja procurei bastante e tenho um código fucnional , mas que apenas recebe informação de um cliente.E queria saber se alguem me pode ajudar a saber que alteração posso fazer a este código de forma a receber dados de mais de uma ESP. O código base da comunicação é o seguinte: Imports System.Net Imports System.Net.Sockets Imports System.IO Imports System.Text Imports System.Threading Public Class Form1 Dim TCPServer As Socket Dim TCPListener As TcpListener Dim ip As String 'Public ipserver As IPAddress = IPAddress.Parse("127.0.0.1") Public IsListening As Boolean = True Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load TCPListener = New TcpListener(IPAddress.Any, 80) 'esp TCPListener.Start() TCPServer = TCPListener.AcceptSocket TCPServer.Blocking = False Timer1.Enabled = True End Sub Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick Try Dim Rcvbytes(TCPServer.ReceiveBufferSize) As Byte TCPServer.Receive(Rcvbytes) TextBox2.Text = (System.Text.Encoding.ASCII.GetString(Rcvbytes)) Catch ex As Exception End Try End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click Dim sendbytes() As Byte = (System.Text.Encoding.ASCII.GetBytes(TextBox1.Text)) TCPServer.Send(sendbytes) TextBox1.Clear() End Sub End Class Obrigado;)
  19. Como consigo programar estes botões que são criados dinamicamente ? Ou informação sobre criação de botões dinâmicos Private Sub compra_Load(sender As Object, e As EventArgs) Handles MyBase.Load Me.Width = pagina_inicial.Width - 1 Me.Height = pagina_inicial.Height - 1 Dim objConexao As SqlClient.SqlConnection objConexao = New SqlClient.SqlConnection() objConexao.Open() '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Dim num_total_pedidos As Integer Dim sql As New SqlCommand("SELECT count (*) FROM tbl_pedidos", objConexao) num_total_pedidos = sql.ExecuteScalar() Dim i, k, x, y As Integer x = 63 y = 20 For i = 1 To num_total_pedidos ' For k = 1 To 4 Dim btn As New Button ' btn.Location = New Point(x, y) btn.Width = 100 btn.Height = 100 btn.Text = "" btn.Visible = True FlowLayoutPanel1.Controls.Add(btn) btn.Name = "btn" & i MsgBox("btn" & i) ' x = x + 150 ' Next ' x = 63 ' y = 150 Next objConexao.Close() End Sub
  20. Boa tarde amigos, gostava de saber o que e como faço para que o excel envie um e-mail quando estiver a 5 dias de atingir a data de validade do meu produto. Não consigo achar tutoriais na internet. O meu programa avisa quando faltam 5 dias para a inspeção de uma viatura. Mas gostava que ele avisasse por e-mail. http://www.mediafire.com/file/3ca2f4s4e2phtk2/Alerta_de_Inspe%C3%A7%C3%B5es.xlsm/file
  21. Boa noite, Estou a começar a mexer no VBA, contudo não tenho qualquer tipo de bases. E neste momento pelo pouco que entendo, estou a precisar de criar uma macro que a sua linha de codigo faça com que ao clicar no botao criado a numeraçao seja automatica aumentado um numero ao numero que ja la estava. Sendo mais especifico, criei um documento(fatura) e precisava de fazer um botao que ao clicar limpa-se o documento escrito e aumenta-se o numero da fatura, para escrever a fatura seguinte. Deste modo, precisar de programar algo que me fizesse isso da numeraçao automatica e da gravação, o problema é que não entendo nada do assunto e tudo que procurei não me serviu de muito. Obrigado pela atenção, Vitor Costa
  22. Boa Tarde, Estou tentando criar um código que, ao colar um nome na coluna D, percorra a coluna D e procura esse valor nas celulas anteriores, depois copie os valores das celulas da mesma linha da celula encontrada para a linha que está o nome que eu colei inicialmente. Por exemplo, eu digito o nome "João" na celula D100, o programa procura o nome da celula D1 até a ultima celula. Supondo que ele encontrou o nome na celula D35, ele copia a celula I35 e P35 e cola nas celulas I100 e P100 Aqui está o que eu tentei, mas não tive sucesso: Dim UltCel As Range Dim lastcel As Range Dim Nome As String Dim Area As String Dim Nome2 As String Range("A37").Select Selection.End(xlUp).Select 'Loop principal 'percorrer os nomes Do While ActiveCell.Value <> "CLIENTE" 'guardar o nome Nome = ActiveCell.Value Set UltCel = ActiveCell Range("A1").Select 'repetição Do While ActiveCell <> "CLIENTE" Nome2 = ActiveCell.Value Set lastcel = ActiveCell If Nome2 = Nome Then 'If ActiveCell.Offset(0, 1).Value <> "" Then ActiveCell.Offset(0, 2) = Nome 'End If End If ActiveCell.Offset(1, 0).Select Loop Exit Do UltCel.Offset(-1, 0).Select Loop
  23. Boa tarde, Estou a ter este erro mas não sei a razão: Private Sub btn_abredesenhos_Click(sender As System.Object, e As System.EventArgs) Handles btn_abredesenhos.Click Dim doc = XDocument.Load("cl.xml") Dim folderToFind = "ov" + TextBox_ov.Text Dim paths = doc.Descendants("dir").Where(Function(dir) String.Equals(folderToFind, CStr(dir.Attribute("name")), StringComparison.OrdinalIgnoreCase)).[Select](Function(dir) dir.AncestorsAndSelf().[Select](Function(el) CStr(el.Attribute("name"))).Reverse().Aggregate(String.Empty, Path.Combine)) For Each path As String In paths Process.Start(New ProcessStartInfo With { .FileName = path, .UseShellExecute = True, .Verb = "open" }) Next End Sub Error 1 Overload resolution failed because no accessible 'Select' can be called with these arguments: Extension method 'Public Function Select(Of TResult)(selector As System.Func(Of System.Xml.Linq.XElement, Integer, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)' defined in 'System.Linq.Enumerable': Nested function does not have a signature that is compatible with delegate 'System.Func(Of System.Xml.Linq.XElement, Integer, TResult)'. Extension method 'Public Function Select(Of TResult)(selector As System.Func(Of System.Xml.Linq.XElement, Integer, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)' defined in 'System.Linq.Enumerable': Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. Extension method 'Public Function Select(Of TResult)(selector As System.Func(Of System.Xml.Linq.XElement, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)' defined in 'System.Linq.Enumerable': Data type(s) of the type parameter(s) in extension method 'Public Function Aggregate(Of TAccumulate)(seed As TAccumulate, func As System.Func(Of TAccumulate, String, TAccumulate)) As TAccumulate' defined in 'System.Linq.Enumerable' cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. Extension method 'Public Function Select(Of TResult)(selector As System.Func(Of System.Xml.Linq.XElement, TResult)) As System.Collections.Generic.IEnumerable(Of TResult)' defined in 'System.Linq.Enumerable': Data type(s) of the type parameter(s) cannot be inferred from these arguments. Specifying the data type(s) explicitly might correct this error. Alguém sabe a razão? Obrigado
  24. Elabore um algoritmo que dado um número de três algarismos n=CDU (C é o algarismo das centenas, D das dezenas e U das unidades), retorne um número m constituído pelos algarismos de n em ordem inversa, isto é, m=UDC. Por exemplo, para n=123, m=321. Alguem me pode ajudar a realizar este exercicio ?
  25. Boa Tarde, Eu tenho o seguinte código, onde crio 5 botões através de um ciclo e queria saber como é que consigo programa-los, eu tentei com o AddHandler mas ao tentar correr o programa dá-me os erros "Expression Expected" e "Charapter is not valid" nessa mesma linha de código "AddHandler b.Click, AddressOf HandleDynamicButtonclick". Dim b As New Button For i = 1 To 5 b.Name = "btn" & i b.Text = "btn" & i AddHandler b.Click, AddressOf HandleDynamicButtonclick b.Width = 79 b.Height = 50 MsgBox("ola butão" & i) b.Font = New Font("Perpetua", 12) FlowLayoutPanel1.Controls.Add(b) Next Private Sub HandleDynamicButtonclick(ByVal sender As Object, ByVal e As EventArgs) Dim btn As Button = DirectCast(sender, Button) If btn.Name = "botão1" Then MsgBox("Btn1 clicked") ElseIf btn.Name = "botão2" Then MsgBox("Btn2 Clicked") End If End Sub Podem me ajudar no que falta ou o que esta errado.
×
×
  • 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.