tiagolpf
Membro Júnior-
Posts
12 -
Cadastrado em
-
Última visita
Reputação
0-
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Legal, entendi. É uma ótima solução mesmo quando a planilha não é exclusivamente de banco de dados. Vi que acrescentou duas linhas novas também que no outro não tinha. Set mrs2 = New ADODB.Recordset SQL2 = "SELECT [HH Real] FROM [tbProgramacao]" Está funcionando sem estas duas linhas, mas para que servem? -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Consegui, finalmente tudo funcionando. Muito obrigado pela grande ajuda! SQL = "UPDATE [Programação$]" & _ " SET [Op] =" & ws.Range("e" & i).Value & _ ", [Estado] = '" & ws.Range("k" & i).Value & "'" & _ ", [HH Real] = '" & ws.Range("l" & i).Value & "'" & _ ", [sAP] = '" & ws.Range("m" & i).Value & "'" & _ ", [Obs] = '" & ws.Range("n" & i).Value & "'" & _ " WHERE [OM] =" & ws.Range("d" & i).Value i = i + 1 -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Funcionando! Muito obrigado, Basole! Estou tentando acrescentar dados de mais colunas para serem transferidas, mas não estou conseguindo. Por exemplo, como faço para transferir a coluna L também? Acredito que seja aqui: SQL = "UPDATE [Programação$]" & _ " SET [Op] =" & ws.Range("e" & i).Value & _ ", [Estado] = '" & ws.Range("k" & i).Value & "'" & _ " WHERE [OM] =" & ws.Range("d" & i).Value i = i + 1 -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Basole, não sei mais o que fazer além de te enviar os arquivos originais. Já estou me sentindo constrangido. rsrs https://drive.google.com/file/d/0Bzwg1pakNeIDNlNhWVMyUHJQODQ/view?usp=sharing -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Ah, certo. Mas agora deu outro erro. Desculpe tantas perguntas, mas não entendo de programação. Erro em tempo de execução '-2147217900 (80040e14)': [Microsoft][Driver ODBC Excel] Erro de sintaxe (operador faltando) na expressão de consulta '1006', [status] = 'Concluído' WHERE = 10'. Como já disse, não entendo de programação, mas tem uma coisa que achei estranho na macro... Como as colunas de OM, Sub, etc são diferentes no BD e no formulário, não seria preciso especificar na macro onde elas ficam? Pelo que notei, só estão especificadas as do formulário (d, e, k). -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Perfeito, funcionou! Porém, quando alterei os dados para os arquivos originais, deu o erro "Erro de compilação: O tipo definido pelo usuário não foi definido" Também fiquei com muitas dúvidas quando fiz as alterações. Poderia me ajudar? Obrigado! Sub transfere() ' *** Habilitar a ref. microsoft activeX data objects x.xx library Dim Conn As New ADODB.Connection 'Aqui está sendo destacado o erro. Dim mrs As New ADODB.Recordset Dim DBPath As String, sconnect As String Dim ws As Worksheet: Set ws = ActiveSheet Dim SQL As String Dim i As Long: i = 4 'Alterei para 4 porque os dados no banco começam na linha 4. DBPath = "D:\Programação\Semana XX.xlsm" 'Redirecionei para o banco de dados. While ws.Range("d" & i).Value <> "" 'Alterei para "d" porque é a coluna das OM no formulário. sconnect = "Provider=MSDASQL.1;DSN=Excel Files;DBQ=" & DBPath & ";HDR=Yes;" Conn.Open sconnect SQL = "UPDATE [Programação$]" & _ 'Esta é a planilha do banco de dados. " SET [OM] = '" & ws.Range("d" & i).Value & "'" & _ 'Alterei para D porque é a coluna das OM no formulário (planilha ativa). Ou deveria ser a do banco de dados? No banco de dados a coluna das OM é a B. ", [status] = '" & ws.Range("k" & i).Value & "'" & _ 'Mesma coisa aqui, o Status está na coluna k do formulário. " WHERE [Sub] =" & ws.Range("e" & i).Value & _ ' "Sub" é referente ao BD ou ao formulário? O "e" é referente ao formulário, certo? " And [Descrição] = '" & ws.Range("g" & i).Value & "';" 'A Descrição está sendo comparada? A comparação poderia ser só pela OM e Sub? Porque a Descrição as vezes pode se repetir em OM e Sub diferentes. Debug.Print SQL i = i + 1 'Set mrs = New ADODB.Recordset mrs.Open SQL, Conn Set mrs = Nothing Conn.Close Wend MsgBox "Dados atualizadono BD com sucesso!", 0, " SUCESSO" End Sub -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Exato! Na coluna A alguns números se repentem, e o que diferencia um item do outro é a coluna B. Trazendo para a realidade, isso é referente a Ordems de Manutenção (OM), e estas ordens tem Sub Operações (Sub). Ex: OM 1001 - Revisão de motor elétrico Sub 10 - Desconexão elétrica Sub 20 - Desacoplamento Sub 30 - Manutenção Sub 40 - Acoplamento Sub 50 - Conexão elétrica Então, ao atualizar um status, a macro precisa encontrar a OM e a Sub correspondente. -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Muito legal, obrigado! Só tem um detalhe, ao atualizar os dados no BD, é preciso que a macro compare a coluna A e B. Pelos testes que fiz, está comparando apenas a A. -
Exportar valor para outro arquivo Excel fazendo busca da linha certa
tiagolpf respondeu ao tópico de tiagolpf em Microsoft Office e similares
Form1 e Form2 são outros arquivos de Excel, são como formulários que atualizarão o banco de dados. Cada formulário será aberto por diferentes pessoas ao mesmo tempo, por isso não pode ser um arquivo só. Fiz um exemplo para download: https://drive.google.com/file/d/0Bzwg1pakNeIDNVhNbFZ4YUcxWnc/view?usp=sharing -
Boa noite! Tenho um arquivo de banco de dados (BD) e outros arquivos de formulário (Form1, Form2...), conforme abaixo: BD A-------B--C 1001--10--ok 1001--20--nao 1002--15--ok Form1 A-------B--C 1001--20--ok Como mostra o exemplo, o produto da linha 1 do Form1 é o mesmo da linha 2 do BD (1001-20). No Form1 o valor da coluna C foi atualizado para "ok", então preciso que uma macro faça uma busca no BD pela linha que tenha valores iguais nas colunas A e B, e então substitua o valor da coluna C (de "nao" para "ok"). Desde já, obrigado!
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais