Jump to content

Search the Community

Showing results for tags 'vba'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • 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 e Automação Industrial
    • Matemática
    • Software de Contabilidade e Finanças
    • Dúvidas e Discussão de Programação
  • Outras Áreas
    • Notícias de Tecnologia
    • 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...

  1. mmcosta

    excel ultrapassar erro vba

    Boas a todos como consigo ultrapassar este erro no excell 2016 obrigado pelas dicas
  2. manuel antonio

    Definir um "SEARCH_PATH"

    Através da seleção de um "OptionButton", pretendo criar um caminho para uma pasta, cujo nome é a "Caption" do "OptionButton", para depois serem listados os nomes dos ficheiros e visualizadas as imagens. Os botões de opção estão numerados de 65 a 87 e de acordo com o botão selecionado, fará a leitura dos ficheiros dentro da respetiva pasta. Pretendo qualquer coisa do género: for x=65 to 87 if Me.Controls("OptionButton" & x).value=true then SEARCH_PATH=ThisWorkBook_Path & "\FOTOS\" & (("OptionButton" & x).caption) & "\" iDir=Dir(SEARCH_PATH & ListBox2.text & "-*.jp*g") Desta forma não teria que introduzir código em todos os botões de opção. Qual a sintaxe correta para a variável "SEARCH_PATH? Agradecido.
  3. Como criar um formulário onde tenha um Combobox de cargos... em que ele abre uma ListBox com os nomes dos Cargos... podendo clicar em várias linhas (ao mesmo tempo) da ListBox para excluir alguns cargos e apagar na Planilha?
  4. Ao exibir uma Listbox, preciso que o Mouse selecione uma linha do ListBox. Ao selecionar essa linha do ListBox, queria que um botão ("Apagar") pudesse deletar (ou editar) apenas um Célula da planilha, e não toda a linha. Ou seja, não pretendo deletar toda a linha, apenas deletar (ou editar) uma célula que stá nessa linha. Como faço?
  5. pedro_mexico

    Erro conexão Base dados

    boa tarde forum, á uns tempos tomei o gosto por criar um formulário excel vba , com ajuda da net, la consegui criar um ficheiro com formulário excel vba, mas agora queria me aventurar no ficheiro mas com Base dados Access. ja vi vários filmes, procurei na net e ate ja fiz download de alguns ficheiros com base de dados para tentar adaptar os códigos ao meu formulário, mas estou com erros que me estão a dar dores de cabeça passo a explicar: tinha uma conexão ao banco de dados simples, mas os vários ficheiros que fazia download vinham com outro código para conexão, por isso como não conseguia adaptar os códigos á minha conexão, decidi substituir os códigos de conexão. o estranho é que colando os codigos de um exemplo ou outro ficheiro no meu formulário e trocando nomes das combobox, textboxs, tabelas Banco de dados, dá sempre erro. neste momento diz me sempre que "erro de correspondência entre tipos" Alguém me podia dar umas luzes ou ajuda com o código para perceber o que está mal? os meus códigos sao estes: '################################### 'CLASSE PARA CONEXÃO COM BANCO DE 'DADOS ACCESS , este codigo esta numa CLASS MODULE '################################### Public Conn As New ADODB.Connection 'DECLARAÇÃO DA VARIÁVEL DE CONEXÃO Public Sub Conectar() '***************************' 'VARIÁVEL STRING QUE INDICA ' 'PROVEDOR E LOCAL DO BANCO ' 'DE DADOS ACCESS ' '***************************' Dim nConectar As String nConectar = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb" Conn.ConnectionString = nConectar Conn.Open 'CONEXÃO ABERTA MsgBox "banco aberto" End Sub Public Sub Desconectar() Conn.Close 'CONEXÃO FECHADA End Sub ' e depois fiz um codigo que tentava preencher as comboboxs com dados da tabela, isto colando o codigo do exemplo que tirei da net e adaptando ao meu formulario Sub CarregaDados_Manutencoes() 'Variável de Conexão e Armazenamento Dim Cx As New ClasseConexao Dim Rs As ADODB.Recordset Dim sql, sql2, sql3, sql4, sql5, sql6 As String Dim Rs2 As ADODB.Recordset ' 'Visualizar página 1 ao abrir formulário ' Me.MultiPage1.Value = 0 sql = "SELECT Estado FROM Dados" Set Rs = New ADODB.Recordset Cx.Conectar Rs.Open sql, Cx.Conn 'Loop para carregar combobox ESTADO Do Until Rs.EOF UserForm_Menu.ComboBoxEstado.AddItem Rs!Estado Rs.MoveNext Loop sql2 = "SELECT Matriculas FROM Dados" Set Rs2 = New ADODB.Recordset Rs2.Open sql2, Cx.Conn 'Loop para carregar combobox MATRICULAS Do Until Rs2.EOF UserForm_Menu.ComboBoxMatriculas.AddItem Rs2!Matriculas Rs2.MoveNext Loop 'Liberar Memória Set Rs = Nothing Set Rs = Nothing Cx.Desconectar End Sub o erro é na parte "UserForm_Menu.ComboBoxEstado.AddItem Rs!Estado " aqui é que faz geral o erro de conexão. Alguém consegue dar uma ideia do que se passa? estes sao os codigos originais do formulario que corre correctamente '################################### 'CLASSE PARA CONEXÃO COM BANCO DE 'DADOS ACCESS '################################### Public Conn As New ADODB.Connection 'DECLARAÇÃO DA VARIÁVEL DE CONEXÃO Public Sub Conectar() '***************************' 'VARIÁVEL STRING QUE INDICA ' 'PROVEDOR E LOCAL DO BANCO ' 'DE DADOS ACCESS ' '***************************' Dim nConectar As String nConectar = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & ThisWorkbook.Path & "\Base_dados_Mapa_Viaturas.mdb" Conn.ConnectionString = nConectar Conn.Open 'CONEXÃO ABERTA MsgBox "banco aberto" End Sub Public Sub Desconectar() Conn.Close 'CONEXÃO FECHADA MsgBox "banco fechado" End Sub ' 'Variável de Conexão e Armazenamento Dim cx As New ClasseConexao Dim banco As ADODB.Recordset Dim sql, sql2 As String Dim banco2 As ADODB.Recordset 'Visualizar página 1 ao abrir formulário Me.MultiPage1.Value = 0 sql = "SELECT cargo FROM cargo" sql = sql & " ORDER BY cargo" 'Ordenar coluna Set banco = New ADODB.Recordset cx.Conectar banco.Open sql, cx.Conn 'Loop para carregar combobox dos cargos Do While Not banco.EOF Me.ComboBox2.AddItem banco!cargo Me.ComboBox4.AddItem banco!cargo Me.ComboBox5.AddItem banco!cargo Me.ComboBox7.AddItem banco!cargo banco.MoveNext Loop sql2 = "SELECT setor FROM setor" sql2 = sql2 & " ORDER BY setor" Set banco2 = New ADODB.Recordset banco2.Open sql2, cx.Conn 'Loop para carregar combobox dos setores Do While Not banco2.EOF Me.ComboBox1.AddItem banco2!setor Me.ComboBox3.AddItem banco2!setor Me.ComboBox6.AddItem banco2!setor Me.ComboBox8.AddItem banco2!setor banco2.MoveNext Loop 'Liberar Memória Set banco = Nothing Set banco2 = Nothing cx.Desconectar End Sub Fico a aguardar alguma ajuda. Obrigado
  6. thiago costa de jesus

    progressão geometrica

    Exercício Escreva um algoritmo que leia um valor inicial A e uma razão R e imprima uma sequência em P.G. contendo n termos
  7. Sou estudante de Programação e nunca tinha usado VBA e tenho de entregar um trabalho, mas nunca tive formação nesta linguagem, e estou a ter problemas no programa na parte de Pesquisar registros com filtros, já tentei ao máximo fazer seguindo tutoriais na internet, vídeo aulas e fórum mas está sempre a dar erro e não consigo resolver. Fico muito agradecido se alguém me conseguir ajudar. Link do Programa: https://drive.google.com/file/d/1qBprlBRX8eg8wRoK2_Yy_UZ3pfisrzWj/view?usp=sharing
  8. Bom dia. Estou a desenvolver um programa em Visual Basic 2019 com ligação a uma base de dados MySQL. Em fase de testes a base de dados é local e no código uso a seguinte linha: Public con As New MySqlConnection("server=localhost; userid=root; password=; database=vasco_gil; port=;") Na altura de entregar ao cliente, foi-me pedido para que os dados do servidor não podem ser introduzidos no código (por motivos de segurança), mas sim através de uma opção no ecrâ principal com uma área para definir os parâmetros de servidor, utilizador e password. Alguém pode ajudar-me com uma solução para esta questão? Obrigado. Rui Gomes
  9. Boa tarde, Gostaria de ajuda a obrigar que um utilizador quando preenche uma determinada célula tem que obrigatoriamente preencher outra. Exemplo: Se o utilizador disser que está inscrito tem que obrigatoriamente preencher a célula que corresponde à data de inscrição. Obrigado. Cumps
  10. Olá tenho uma tarefa, de macro em Excel, para resolver que me ocupa a cabeça já há vários dias... Já fiz e refiz , até achei um código nesta plataforma que me auxiliou muito. Porém, estou com um problema em uma estrutura de repetição nesse código. Vou deixar aqui o exercício, bem como a minha tentativa , na esperança que alguém me possa direcionar no caminho, sinto que estou perto mas alguma coisa falha.. //Exercício Fazer uma macro que possa garantir o preenchimento automático de um dado específico na planilha. Esse dado, que será preenchido automaticamente, depende de outros dados específicos do preenchimento da planilha mas que estão correlacionados à ele. //Código feito Private Sub tbx2_Change() 'Dentro do campo anterior, do dado a ser preenchido automaticamente, comecei o código e chamei a macro relacionada que executará o programa principal. If cx1.Value = "Novo" Then 'Ele terá a opção de não ser "novo", por isso tem esse If. If cx2.Value = "PNM" Then 'Ele terá a opção de não ser "PNM", por isso tem esse If. If tbx2.Value = "001" Then 'Ele terá a opção de não ser "PNM", por isso tem esse If. Call Comparacao 'Chamando a macro End If End If End If End Sub //Macro Sub Comparacao() Dim L As Range For Each L In Range("D5:D100") 'D5:D100 será o tamanho da coluna que a estrutura For Each terá que ler If L.Value <> "001A" Then 'Estou com dificuldades para fazer a estrutura If, pois preciso garantir a fidelidade de que não entre novamente no mesmo If 'quando sair e entrar no formulário para novo cadastro, pois não poderá repetir os valores de preenchimento automático (Valores 'para preenchimento automático serão: 001A, 002A, 003A... UserForm1.tbx3.Value = "001A" ElseIf L.Value <> 002A Then UserForm1.tbx3.Value = "002A" ElseIf L.Value <> 003A Then UserForm1.tbx3.Value = "003A" ElseIf L.Value <>"004A" Then UserForm1.tbx3.Value = "004A" Else: UserForm1.tbx3.Value = "001A" End If Exit Sub Next End Sub //Dificuldades encontrada: Toda que entro no formulário para o preenchimento, o dado a ser preenchido automaticamente, é preenchido com valor repetido. Pois como a estrutura de repetição lê as linhas em vazio ela interpretará como valor diferente. Atenciosamente, Ariane. Fico no aguardo, de uma possível ajuda. Obrigada!
  11. Olá, programadores em Excel VBA. Minha dúvida é como formatar uma célula ativa, sem que seja necessário escolher um período inteiro. A fórmula abaixo mostra isso, mas eu não quero um período inteiro fixo [A1:A10]. Eu preciso apenas que esse comando seja feito somente na célula ativa, independente onde a seleção esteja. Esse é o comando que preciso mudar: For Each cell In [A1:A10] If cell > "" Then numero = Str(cell.Value) cell.Activate ActiveCell.FormulaR1C1 = numero Else End If Next E aí? Tem como tirar a seleção [A1:A10] e trocar por algo do tipo [Selection]... etc. Por favor, me ajudem.
  12. Conforme a tabela abaixo, preciso Filtrar em ordem alfabética AZ a Coluna DATA. Mas o TxtBoxData sempre lança nas células datas em formato de texto e assim fica impossível o Excel filtrar a partir da data mais recente até a mais antiga. Não adianta formatar "dd/mm/yyyy" por que depois que são lançadas pelo TxtBoxData se transformam em texto (nunca em número). Como resolver esse problema? DATA 02/01/2001 05/04/2000 22/02/2002 22/08/1892 12/12/1500
  13. Boas pessoal, eu sou novo nestas andanças e precisava da vossa ajuda. Precisava de uma macro que me fizesse o copiar e o colar de uma zona defenida, copiar os valores do modulo 1 até ao modulo 2 e assim sucessivamente até ao modulo 6. eu ja consegui fazer uma macro que me consegue copiar e colar, so que ja defeni essa zona, se houver colocação de mais uma linha altera me tudo. A 1 modulo 1 2 1564 3 235 4 3468 5 modulo 2 6 567 7 809 cumprimentos Fabio Sá
  14. Sou autodidata e curiosa por natureza, estou criando uma planilha de controle de estoque e movimentação porém toda com formulário, pois minha intenção é que a planilha fique invisível no final. Ela já está praticamente pronta, porém está acontecendo um problema que estou quebrando a cabeça, mas não consigo identificar o porque dele. Quando eu preencho o rowsource da ListBox de pesquisa de produtos. E vou rodar o Formulário Inicial de Estoque e Movimentação, ao clicar em Movimentar Estoque, acontece um erro de tempo de execução '-2147467259 (800004005)': Erro não especificado. Ao clicar em Depurar, Sou jogada para o código do formulário de movimentação (que não tem nada haver com o de produtos), e aparece indicado que o código abaixo está errado, porém quando eu não coloco o rowsource da ListBox de pesquisa de produtos, os formulários funcionam perfeitamente. Sub CMDMOVEST_Click() FMOV.Show End Sub Alguém pode me ajudar com isso? Obrigada!
  15. Olá, num file excel, estou a criar uma macro para abrir um file word. Porém, o file word é um relatório que utiliza dados do excel e tem uma macro que é executada no início e que vai gerar um relatório por aluno. Quando executo o file word, a macro gera os relatórios, mas quando o inicio a partir do excel, ele não importa os dados para gerar os relatórios. O código que estou a utilizar é este (com pesquisa aqui no fórum): Sub word() Set wordapp = CreateObject("word.Application") wordapp.documents.Open "D:\\autoaval_sem_new_new.docm" wordapp.Visible = True End Sub Uma ajuda seria muito bem vinda ... obrigado
  16. Antonio Augusto Crovador

    Imprimir dados da listview

    boa tarde amigos, estou tentando imprimir mais não estou tendo exito, alguem pode ajudar-me ? Function Imprimir() If lv.ListItems.Count = 0 Then MsgBox "Não há dados para ser impresso.", vbInformation, "AVISO" Else Dim i%, LVWidth%, NewTab%, j% Dim itmX As ListItem Dim ContaLinha% LVWidth = 0 For i = 1 To lv.ColumnHeaders.Count LVWidth = LVWidth + lv.ColumnHeaders(i).Width Next NewTab = 0 'imprime o cabeçalho For i = 1 To lv.ColumnHeaders.Count NewTab = NewTab + CInt(lv.ColumnHeaders(i).Width * Printer.ScaleWidth / LVWidth) Printer.Print lv.ColumnHeaders(i).Text; Printer.CurrentX = NewTab Next 'imprime uma linha de separação Printer.Print 'imprime_linha Printer.Print 'se o numero de linhas do ListView for maior que o de linhas a 'a imprimir então imprime o conteúdo total de Listview If Lines < lv.ListItems.Count And Lines <> 0 Then ContaLinha = Lines Else ContaLinha = lv.ListItems.Count End If 'imprime os itens e subitens For i = 1 To ContaLinha NewTab = 0 Set itmX = lv.ListItems(i) Printer.Print itmX.Text; For j = 1 To lv.ColumnHeaders.Count - 1 NewTab = NewTab + CInt(lv.ColumnHeaders(j).Width * Printer.ScaleWidth / LVWidth) Printer.CurrentX = NewTab Printer.Print itmX.SubItems(j); Next Printer.Print Next 'envia os dados para impressora Printer.EndDoc MsgBox "Dados impresso com sucesso.", vbInformation, "Aviso" End If End Function
  17. Boa tarde, Tenho 1 tabela em access na qual tem 2 campos, num tem o ID e no outro nomes ID Nomes 1 Ana 2 Maria 1 Silvia 2 Cristina Queria que ficasse assim ID Nomes 1 Ana, Silvia 2 Maria, Cristina Alguém pode-me ajudar arranjar q solução. Podem dar-me informação de quais campos deveriam constar? Public Function ConcatRelated(strField As String, _ strTable As String, _ Optional strWhere As String, _ Optional strOrderBy As String, _ Optional strSeparator = ", ") As Variant On Error GoTo Err_Handler 'Purpose: Generate a concatenated string of related records. 'Return: String variant, or Null if no matches. 'Arguments: strField = name of field to get results from and concatenate. ' strTable = name of a table or query. ' strWhere = WHERE clause to choose the right values. ' strOrderBy = ORDER BY clause, for sorting the values. ' strSeparator = characters to use between the concatenated values. Obrigada
  18. Olá! Pretendo que ao colar um valor na célula A2 a célula A3 assuma a data do sistema, e assim sucessivamente ao longo de todas as duas colunas. Ao tentar colocar este pequeno código numa folha de Excel: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row >= 2 Then Cells(Target.Row, 2) = Data End If End Sub Surge-me sempre o erro de: Run-Time Error -2147417848 (80010108) Uma das soluções indicadas que descobri é o "congelar/fixar" umas linhas, mas não resultou. Obrigado desde já. (URL Imagem/erro:https://www.dropbox.com/s/nsklvqw1yuekg19/autodate_error.jpeg?dl=0 )
  19. No Excel faço uma conexão SQL em uma pasta de trabalho com outra pasta de trabalho, conforme código abaixo. Antes verifico se o arquivo existe ou se está aberto em rede. Minha pergunta é: como e onde utilizo as propriedades ConnectionTimeout e CommandTimeout? Se a conexão cair antes do tempo, como faço para verificar e onde insiro a verificação? E se preciso verificar, antes de abrir a conexão, se a mesma está em aberto, pois outras pastas de trabalho também retornam via SQL os dados da mesma pasta de trabalho de origem: fiquei na dúvida se a conexão para os dados de origem é exclusiva da minha pasta de trabalho, ou se dá erro se outra pasta de trabalho também abriu ao mesmo tempo uma conexão com o mesmo arquivo de origem. Obs.: o retorno de dados está funcionando perfeitamente. 'RETORNA OS DADOS 'Instrução SQL stSQL = "Select * From [" & stNomePLan & "$]" stSQL = stSQL & "Where " & stNomeColOrigem & " =" & lgCodAlugueis stSQL = stSQL & "And Data Between #" & Format(dtDataInicio, "MM/DD/YYYY") & "#" stSQL = stSQL & "And #" & Format(dtDataFinal, "MM/DD/YYYY") & "#" 'Cria a conexão Call EstabeleceConexao 'Abre a conexão On Error Resume Next grsConsulta.Open stSQL, gcnConexaoPlan, adOpenKeyset, adLockOptimistic 'gcnConexaoPlan.CommandTimeout 30 'Verifica se houve erro If Err.Number <> 0 Then MsgBox "ERRO!" On Error GoTo 0 GoTo EncerraMacro End If On Error GoTo 0 'Verifica se tem registros na planilha de origem If grsConsulta.RecordCount = 0 Then MsgBox "Operação cancelada! Não há dados a retornar!", vbCritical + vbOKOnly, "ERRO!" GoTo EncerraMacro End If 'Limpa a planilha PlanLíquida gwsPlanLiquida.Cells.Clear 'Insere os títulos das colunas For lgCols = 0 To grsConsulta.Fields.Count - 1 gwsPlanLiquida.Cells(1, lgCols + 1).Value = grsConsulta.Fields(lgCols).Name Next lgCols 'Insere os registros gwsPlanLiquida.Range("A2").CopyFromRecordset grsConsulta 'Acerta a largura das colunas gwsPlanLiquida.Columns.AutoFit lgUltCol = gwsPlanLiquida.Cells(1, Columns.Count).End(xlToLeft).Column If lgUltCol > 1 Then For lgLoopCol = 1 To lgUltCol With gwsPlanLiquida .Columns(lgLoopCol).ColumnWidth = .Columns(lgLoopCol).ColumnWidth + 2 End With Next lgLoopCol End If 'Mensagem de encerramento MsgBox "Operação concluída com sucesso!", vbInformation + vbOKOnly, "OK" Em outro módulo: Public gcnConexaoPlan As ADODB.Connection 'Variável de conexão Public grsConsulta As ADODB.Recordset 'Variável de Recordset Public gstNomeCaminho As String Public gstNomeArquivo As String Sub EstabeleceConexao() Set gcnConexaoPlan = New ADODB.Connection Set grsConsulta = New ADODB.Recordset With gwsApoio gstNomeCaminho = .Range("B5").Value gstNomeArquivo = .Range("B4").Value End With With gcnConexaoPlan .Provider = "Microsoft.ACE.OLEDB.12.0" .ConnectionString = "Data Source=" & gstNomeCaminho & Application.PathSeparator & gstNomeArquivo & _ ";Extended Properties=Excel 12.0" .Open End With End Sub Sub EncerraConexao() gstNomeCaminho = "" gstNomeArquivo = "" If Not (grsConsulta Is Nothing) Then If (grsConsulta.State And adStateOpen) = adStateOpen Then grsConsulta.Close Set grsConsulta = Nothing End If If Not (gcnConexaoPlan Is Nothing) Then If (gcnConexaoPlan.State And adStateOpen) = adStateOpen Then gcnConexaoPlan.Close Set gcnConexaoPlan = Nothing End If End Sub
  20. Ola, alguém me poderia ajudar estou a passar um programa de visual Basic 2019 para Visual Basic 2010 Criei uma class e coloquei la dentro um modulo e está me a dar erro no seguinte codigo: Dim bs As New BindingSource bs.DataSource = dtFATURA bs.Filter = "ID_ENTREGA =" & FATURA xlivro.Range("B5").Value = FATURA xlivro.Range("B6").Value = DATA xlivro.Range("B8").Value = CLIENTE xlivro.Range("B7").Value = MORADA For Each view As DataRowView In bs Dim row = view.Row CODIGO = row("CODIGO") PRODUTO = row("PRODUTO") QUANTIDADE = row("QUANTIDADE") PESO = row("PESO") TOTAL = row("TOTAL") xlivro.Range("A" & RANGO).Value = CODIGO xlivro.Range("B" & RANGO).Value = PRODUTO xlivro.Range("C" & RANGO).Value = QUANTIDADE xlivro.Range("D" & RANGO).Value = PESO xlivro.Range("E" & RANGO).Value = TOTAL xlivro.Range("F" & RANGO).Value = QUANTIDADE * TOTAL TotalFacturado = TotalFacturado + (QUANTIDADE * TOTAL) RANGO += 1 Next No "for Each view as DataRowView In bs " Da o seguinte erro "Error 1 Expression is of type 'Reportes.BindingSource', which is not a collection type."
  21. Boa noite, Tenho ficheiros Excel com macros que acedem a ficheiros DBF para obter informação. Para isso utilizo o OLEDB do Visual Fox Pro. Mas não funciona nas versões 64 bits. E ainda não arranjei solução. Alguém sabe como posso, a partir de um Excel, ligar a ficheiros DBF em 64 bits?
  22. Caros Colegas, Desde já parabéns pelo vosso excelente forum. Preciso de uma ajuda de excel se for possível sff. - Tenho um Excel que tem uma Lista de Nomes + 12 Células com Números, do lado direito tem mais uma tabela com os números que saem por semana. https://ibb.co/7gvn5Nv 1º A Ideia aqui, era, sempre que eu introduzisse na tabela direita determinados números, a tabela do lado esquerdo vai ficando colorida se em cada linha tiver o número correspondente. 2º Numa coluna ao lado dos 12 Número chamada "Contagem", ter a contagem das células que estão a cor, ou seja, se essa linha acertar em 2 / 3 /4 numeros etc da tabela do lado direito, com a primeira função como já está colorida, esta célula vai dizer a quantidade de "acertos" que tem em cada linha, quando chegasse aos 12 Número ficava com algo do tipo "GANHOU" ou algo do gênero. Já tentei diversos tutoriais que encontrei na WEB mas a questão da cor da sempre problemas. Agradeço a vossa ajuda. Obrigado
  23. Bom dia! Pessoal, preciso de ajudar nesse formato de carregamento. as linha 11, 12 e 13 preciso que seja no formato de número, porem está carregando como texto o que impede de formulas, alguém consegue ajudar? .Cells(linha, 1) = Format(Sheets(I).Cells(Lin, 1), "DD/MM/YYYY") .Cells(linha, 2) = Sheets(I).Cells(Lin, 2) .Cells(linha, 3) = Sheets(I).Cells(Lin, 3) .Cells(linha, 4) = Sheets(I).Cells(Lin, 4) .Cells(linha, 5) = Sheets(I).Cells(Lin, 5) .Cells(linha, 6) = Sheets(I).Cells(Lin, 6) .Cells(linha, 7) = Sheets(I).Cells(Lin, 7) .Cells(linha, 8) = Sheets(I).Cells(Lin, 8) .Cells(linha, 9) = Sheets(I).Cells(Lin, 9) .Cells(linha, 10) = Sheets(I).Cells(Lin, 10) .Cells(linha, 11) = Format(Sheets(I).Cells(Lin, 11), "#,##0.00") .Cells(linha, 12) = Format(Sheets(I).Cells(Lin, 12), "#,##0.00") .Cells(linha, 13) = Format(Sheets(I).Cells(Lin, 13), "#,##0.00") .Cells(linha, 14) = Sheets(I).Cells(Lin, 14) .Cells(linha, 15) = Sheets(I).Cells(Lin, 15) .Cells(linha, 16) = Sheets(I).Cells(Lin, 16) Fico no aguardo e agradeço. Rubenaldo
  24. Bom dia, Estou a tentar criar um botão num documento do Word, que me possibilite enviar esse mesmo documento como anexo através do Outlook. Tenho conseguido indicar o assunto, remetente e destinatário através de um código que tenho utilizado, mas não consigo anexar o documento Word. Tenho até conseguido colocar no corpo da mensagem o conteúdo do ficheiro, mas o que pretendo mesmo é que o ficheiro Word seja remetido em anexo. Agradeço a vossa ajuda Private Sub CommandButton1_Click() Dim Email_Assunto As String Dim Email_Enviado_De As String Dim Email_Enviado_Para As String Dim Email_Cc As String Dim Email_Bcc As String Dim Email_Corpo As String Dim Email_Anexo As Object Dim Mail_Objecto As Variant Dim Mail As Variant Email_Assunto = "Envio dos dados" Email_Enviado_De = "aaa@aaa.pt" Email_Enviado_Para = "aaa@aaa.pt" 'Email_Cc = "aaa@aaa.pt" 'Email_Bcc = "aaa@aaa.pt" MsgBox "E-mail enviado para aaa@aaa.pt", vbInformation, "OK" On Error GoTo debugs Set Mail_Objecto = CreateObject("Outlook.Application") Set Mail = Mail_Objecto.CreateItem(0) Mail.Subject = Email_Assunto Mail.to = Email_Enviado_Para Mail.cc = Email_Cc Mail.BCC = Email_Bcc Mail.Body = ActiveDocument.Content Mail_Anexo = ActiveDocument 'Mail_Single.Body = Email_Body Mail.Send debugs: If Err.Description <> "" Then MsgBox Err.Description End Sub
  25. Boa tarde, Tenho uma tabela onde existem peças,com prazos de entrega diferentes. Cada peça necessita de matéria prima para ser feita. Tenho uma macro que me diz quais têm matéria e quais não têm. O problema é que ao preencher as células existem peças com prazo mais pequeno de entrega onde me diz que não tenho matéria prima, e mais a frente tenho peças com mais validade onde já acusa ter matéria prima. O que eu pretendia fazer era: Ele verificava onde não tinha e iria substituir, mas retirando matéria as peças com prazo maior. Alguém me consegue dar uma luz de como posso fazer isso ? Já estou de roda disto a uma semana mas ainda não consegui lá chegar. Obrigado, Afonso Mira
×
×
  • 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.