-
Posts
16 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Livros
Cursos
Análises
Fórum
Tudo que Rayane Parreira Resende postou
-
Excel MACRO ENVIAR E-MAIL - vba
Rayane Parreira Resende postou um tópico em Microsoft Office e similares
Ei, Pessoal! Tenho código que envia e-mails, mas estou com dificuldade de atribuir valores nesta parte. Define o corpo do e-mail strbody = "Prezado (a) " & ws.Range("H2").Value & "," & "<br><br>" & _ "No dia " & ws.Range("F2").Value & " você receberá os profissionais abaixo no seu time. " & "<br><br>" & _ "Prepara-se para dar as boas-vindas e contribuir para a ambientação do novo colaborador. " & "<br><br>" & _ & "<br><br>" & _ strbody Hoje esta com a células fixadas, mas eu precisava que percorre nas colunas do excel para ir acompanhando. Vocês conseguem me ajudar ? Segue o código. Sub EnviarEmail() Dim OutlookApp As Object Dim OutlookMail As Object Dim strbody As String Dim ws As Worksheet Dim lastrow As Long Dim i As Long Dim dict As Object Set OutlookApp = CreateObject("Outlook.Application") Set ws = ThisWorkbook.Sheets("Planilha1") lastrow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row ' Última linha com dados na coluna A Set dict = CreateObject("Scripting.Dictionary") For i = 2 To lastrow ' Inicia do segundo registro, presumindo que a linha 1 é o cabeçalho dict(ws.Range("J" & i).Value) = dict(ws.Range("J" & i).Value) & ";" & ws.Range("K" & i).Value ' Adiciona o valor da coluna J ao dicionário com a cópia para a BP Next i For Each key In dict ' Loop pelos valores exclusivos da coluna J Set OutlookMail = OutlookApp.CreateItem(0) OutlookMail.To = key ' Define o destinatário principal do e-mail OutlookMail.CC = dict(key) ' Define o destinatário em cópia do e-mail strbody = "" ' Cria uma tabela com o cabeçalho e os dados das colunas A a I strbody = "<table border='1' style='border-collapse:collapse'><tr>" For j = 1 To 9 strbody = strbody & "<th>" & ws.Cells(1, j).Value & "</th>" Next j strbody = strbody & "</tr>" For i = 2 To lastrow ' Loop pelos dados que correspondem ao valor exclusivo da coluna J If ws.Range("J" & i).Value = key Then strbody = strbody & "<tr>" For j = 1 To 9 strbody = strbody & "<td>" & ws.Cells(i, j).Value & "</td>" Next j strbody = strbody & "</tr>" End If Next i strbody = strbody & "</table>" ' Define o assunto do e-mail OutlookMail.Subject = "Novo colaborador" 'Define a segunda parte do e-mail strbody1 = " <br><br> Em anexo, " ' Define o corpo do e-mail strbody = "Prezado (a) " & ws.Range("H2").Value & "," & "<br><br>" & _ "No dia " & ws.Range("F2").Value & " você receberá os profissionais abaixo no seu time. " & "<br><br>" & _ "Prepara-se para dar as boas-vindas e contribuir para a ambientação do novo colaborador. " & "<br><br>" & _ & "<br><br>" & _ strbody ' Adiciona a segunda parte do corpo do e-mail strbody = strbody & strbody1 ' Adiciona o anexo PDF OutlookMail.Attachments.Add "C:\Users\loren\Desktop\guia.pdf" OutlookMail.HTMLBody = strbody ' Envia o e-mail OutlookMail.Send Set OutlookMail = Nothing ' Libera memória Next key Set OutlookApp = Nothing ' Libera memória Set dict = Nothing ' Libera memória End Sub -
Excel importar dados de outras planilhas com valiador
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
@Wendell Menezes Olá! Na verdade todas as planilhas são idênticas são os mesmos dados, porém tem uma informação que é colocada depois de alguns dias. Objetivo que eu queria ajustar o macro é o seguinte quando eu for importar novamente com essa informação nova em vez de acrescentar uma linha na planilha o código iria ver que já existe essa linha e só atualizasse com essa informação nova. Obrigada por me responder! -
Excel importar dados de outras planilhas com valiador
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
@Wendell Menezes Olá! O exemplo de arquivo que a macro importa é essa planilha mesmo terá uma planilha "central" que vai importar de outras planilhas iguais ( é o mesmo modelo não muda nada ) o objetivo é centralizar as informações. Para considerar se é duplicado é olhar toda a linha não tem uma coluna chave. Estou com dificuldade em montar o código nessa parte, porque eu preciso que ele olhe para linha toda se for repetida atualiza senão incluir um linha nova. -
Excel importar dados de outras planilhas com valiador
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
@Wendell Menezes oi -
Excel importar dados de outras planilhas com valiador
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
Olá! Seria assim eu importo alguns dados e depois preciso complementar essa informação o que o código faz ele acrescenta uma linha eu precisava tipo uma validador do tipo se tal célula é repetida eu substituo a informação e não acrescento outra linha de importação de dado. CONTROLE REMESSA PAGAMENTOS - COD.zip -
Excel importar dados de outras planilhas com valiador
Rayane Parreira Resende postou um tópico em Microsoft Office e similares
Olá, pessoal! Vejam se consegue me ajudar. Tenho um código que importa dados de outras planilhas, mas queria que existisse um validador do tipo na hora de importar ele verificasse que existe um registro repetido que atualizasse. Por exemplo, importei uma planilha, mais de um tempo incluir mais uma informação ele iria ler que já possui os dados e com dado novo que inserir iria "sobressair" a informação já inserida. Sub Importar_Dados() On Error GoTo Erro Application.ScreenUpdating = False Dim Guia As Object Dim Planilha As Workbook Dim EnderecoPlan As String Dim Coluna As Double, Linha As Double, ColDestino As Double Dim ColInicial As Double, ColFinal As Double, LinOrigem As Double EnderecoPlan = Application.GetOpenFilename(FileFilter:="file,*.xls*") If EnderecoPlan <> Empty And EnderecoPlan <> "Falso" Then Set Planilha = Application.Workbooks.Open(EnderecoPlan) Else Application.ScreenUpdating = True Exit Sub End If Set Guia = Planilha.Worksheets(1) Windows(Planilha.Name).Visible = False Coluna = 1 Linha = 1 Inicio: Do Linha = Linha + 1 If Guia.Cells(Linha, Coluna).Value <> Empty Then LinOrigem = Linha ColInicial = Coluna Do Coluna = Coluna + 1 Loop Until Guia.Cells(Linha, Coluna).Value = Empty ColFinal = Coluna - 1 Exit Do End If If Coluna = 100 Then Msgbox "Não encontrado cabeçalho!", vbExclamation, "IMPORTAR" Exit Sub End If Loop Until Linha = 10 If LinOrigem = Empty Then Coluna = Coluna + 1 Linha = 1 GoTo Inicio: End If Coluna = ColInicial ColDestino = 1 Linha = WorksheetFunction.CountA(Planilha2.Range("A:A")) + 2 With Planilha2 Do LinOrigem = LinOrigem + 1 For Coluna = ColInicial To ColFinal .Cells(Linha, ColDestino).Value = Guia.Cells(LinOrigem, Coluna).Value ColDestino = ColDestino + 1 Next Coluna ColDestino = 1 Linha = Linha + 1 Loop Until Guia.Cells(LinOrigem, ColInicial).Value = Empty End With Windows(Planilha.Name).Visible = True Application.DisplayAlerts = False Windows(Planilha.Name).Close Application.DisplayAlerts = True Set Planilha = Nothing Set Guia = Nothing Application.ScreenUpdating = True Exit Sub Erro: Msgbox "Erro!", vbCritical, "IMPORTAR" End Sub -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
Oi! @basole Poderia me ajudar, por gentileza. Quando eu gero as cartas mostra uma tela do word e ai preciso ficar clicando várias vezes em não salvar o documento da mala direta em formato word, por mais que eu esteja gerando eles em pdf. Você consegue me ajudar ? Vou fazer uma mala para mais de 1000 documentos. -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
@BasoleSalvou viu! Obrigadãooo. -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
Nossa salvooou! O que eu altero no código para gerar em pdf os documentos ? @Basole Conseguir gerar eles em pdf nossa muito obrigadoooooooo! Uma pergunta: Nesse trecho nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("NOME_").Value nomearquivouniorg = ActiveDocument.MailMerge.DataSource.DataFields("LOCALIDADE_"). Na segunda linha precisa colocar o nome da ultima coluna do banco de dados para funcionar? -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
@BasoleEu coloquei um exemplo bem tranquilo. Basicamente eu gostaria que os arquivos gerados separados da mala direta saísse com os nomes. Porém aquele erro sempre persiste já tentei de tudo. Desktop.zip -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
Eu consegui um código de gerar os arquivos, mas queria que eles saíssem com o nome que está no Excel. As vezes gero 50 arquivos e preciso ficar renomeando isso. -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em Microsoft Office e similares
Eu já faço isso e continua mostrando o erro -
Word Erro '5852' vba para mala direta
Rayane Parreira Resende postou um tópico em Microsoft Office e similares
Olá, Galera! Eu tenho código VBA que faz gerar vários pdf separados de uma mala direta, mas aparece esse erro em tempo de execução '5852' Poderia me ajudar, por favor. Sub salvamaladireta() Application.ScreenUpdating = False Dim qtde As Integer Dim nomeArquivo As String Dim registro As Integer Dim nomearquivouniorg As String ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord qtde = ActiveDocument.MailMerge.DataSource.RecordCount For registro = 1 To qtde nomeArquivo = ActiveDocument.MailMerge.DataSource.DataFields("NOME").Value 'no lugar de NAME voce colona o nome da coluna da sua base de dados' nomearquivouniorg = ActiveDocument.MailMerge.DataSource.DataFields("NOME").Value 'no luga de Uniorg voce colona o nome da coluna da sua base de dados' With ActiveDocument.MailMerge .Destination = wdSendToNewDocument .SuppressBlankLines = True With .DataSource .FirstRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord .LastRecord = ActiveDocument.MailMerge.DataSource.ActiveRecord End With .Execute Pause:=False End With ActiveDocument.SaveAs2 FileName:="C:\Users\loren\Desktop\", FileFormat:= _ wdFormatXMLDocument, LockComments:=False, Password:="", AddToRecentFiles _ :=True, WritePassword:="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts _ :=False, SaveNativePictureFormat:=False, SaveFormsData:=False, _ SaveAsAOCELetter:=False, CompatibilityMode:=15 'O trecho C:\Users\Thiago_2\Desktop\Example Merge Document\TERMO ADITIVO DE CONTRATO - voce deve substituir pelo diretorio da sua pasta onde ira salvar os arquivos. A parte TERMO ADITIVO DE CONTRATO o inicio do nome do documento. Um inicio fixo que sera igual para todos' ActiveWindow.Close ActiveDocument.MailMerge.DataSource.ActiveRecord = wdNextRecord Next registro Application.ScreenUpdating = True End Sub O erro aparece nessa linha ActiveDocument.MailMerge.DataSource.ActiveRecord = wdFirstRecord POR FAVOR! -
Oi gente! Você poderiam me ajudar em um exercício. Faça uma função que receba os endereços de memória de três números inteiros X, Y e Z e troque os seus valores de forma que, ao retornar, o valor em X seja o menor, o valor em Y seja o intermediário e o valor em Z seja o maior dos três. Faça também uma função main para testar a sua função. A função não esta funcionando o que tem de errado? #include<stdio.h> int troca (int *X, int *Y, int *Z){ int *maior, *menor; if(*X > *Y){ *maior = *X; }else{ *maior = *Y; } if(*Z > *maior){ *maior = *Z; } if(*X < *Y){ *menor = *X; } else{ *menor = *Y; } if(*Z < *menor){ *menor = *Z; } printf("Resultado: x=%d y=%d z=%d", *X, *Y, *Z); return(0); } main ( ) { int X,Y,Z; printf("Entre com três números:"); scanf("%d %d %d", &X, &Y, &Z); printf("Você entrou com os seguintes numeros: x=%d, y=%d, z=%d\n",X,Y,Z); troca(X,Y,Z); }
-
C O programa compila mas não executa
Rayane Parreira Resende respondeu ao tópico de Rayane Parreira Resende em C/C#/C++
@devair1010 Olá! Desculpa minha ignorância estou tentando aprender sozinha programação em C. O que significa essa parte ? int main ( ){ setlocale(LC_ALL,"portuguese"); dados_bancarios conta ; cadastrar( ); imprime ( ); return 32768 ; } -
Oi gente! Alguém pode me ajudar nesse programa. Faça um programa modularizado utilizando registro que leia apenas uma conta bancária com as seguintes informações: número da conta, nome do cliente e saldo. Apresente esses dados na tela. Ele compila mas não executa. #include<stdio.h> typedef struct dados_bancarios { int numero; char nome; float saldo; }dados_bancarios; dados_bancarios conta; void cadastrar( ); void imprime( ); void cadastrar( ) { printf("\n\n--------------CADASTRO DOS DADOS BANCARIOS----------\n\n"); printf("Informe o número da conta: "); scanf("%d",&conta.numero); printf("Informe o nome: "); scanf("%s",&conta.nome); printf("Informe o saldo da conta: "); scanf("%f",&conta.saldo); } void imprime ( ) { printf("\n\n------------Dados bancarios-------------\n\n"); printf("\n O número da conta: %d",conta.numero); printf("\n O nome: %s",conta.nome); printf("\n O saldo da conta: %2.f",conta.saldo); } int main () { dados_bancarios conta; void imprime (); void cadastrar(); }
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