Mensagens

A mostrar mensagens com a etiqueta Funções/ Macro / VBA

VBA- Identificar ultima linha e coluna da folha de calculo

Imagem
  Uma rotina que sempre precisamos recorrer nos nossos códigos e macros é aquela onde podemos recuperar a  última linha e coluna  que estão escritas na nossa folha de cálculo.Em diversas situações torna-se necessário utilizar esta informação, como por exemplo, quando precisamos percorrer todas as linhas da nossa folha de cálculo que possuam dados, seja uma lista de nomes, de produtos, de telefones ou qualquer outro tipo de lista.  Neste artigo vou explicar como obter esta informação em qualquer folha de cálculo, automaticamente.  O código aqui apresentado, serve para utilizar em qualquer folha de cálculo. Já utilizei este código várias vezes, inclusive em exemplos já disponibilizados aqui no site. Um exemplo deste uso pode ser encontrado no artigo onde ensino a  macro para enviar emails para sua lista  ou neste outro no qual mostro  como exibir uma barra de progresso para controlar o andamento do processamento da macro . Este código é um exemplo e...

Enviar email quando Data de Envio for igual a Data Actual

Imagem
Pretende-se com este código que quando a Data de Envio for igual a data em que nos encontramos é enviado um email ao destinatário. O código pesquisa todos os registos e envia para cada email onde a condição da data for a data actual. Código: Public ws As Worksheet Public iCount As Integer    ' String used to count exist records Public lastrow As Long      ' String used to detect last used row to add next record Private Sub cmdAdd_Click() Dim TClientID As Integer           iCount = Application.WorksheetFunction.CountIf(Range("A1:A10000"), "C*")         With ws.UsedRange         lastrow = .Rows(.Rows.Count).Row     End With          TClientID = ws.Range("A" & lastrow).Value          'Select new row to add record     ws.Range("A" & lastrow + 1).Select      ...

Codigo VBA - Verifica se Outlook esta aberto e devolve respectiva mensagem

Imagem
Codigo VBA - Verifica se Outlook esta aberto e devolve respectiva mensagem experimente . VBA Code - See if Outlook is running and give a message, try it

Conhece a Função Rank, Ordem?

Imagem
Conhece a Função Rank, Ordem?

Exportar Ficheiro Excel para PDF (VBA)

Imagem
Código/Macro VBA: Exportar o ficheiro para PDF de forma automática. Neste caso a exportação para PDF não contempla os links nem indices, o Excel na exportação para PDF não funciona como o Microsoft Word. Para poder exportar com links tem de se ter o Acrobat Pro instalado e o ADD IN adicionado. O ficheiro é guardado na pasta de documentos do utilizador que estiver com login no momento.

Uso da Função DateDiff

Imagem
Calcule o número de dias, meses ou anos entre duas datas.

Criar um Backup de Ficheiro Excel de Forma Automática

Imagem
Cria um ficheiro de backup, com a data do mesmo e guarda no directório/pasta do ficheiro original. Exemplo:  Original: Backup.xlsm Cópia:  Cópia_28-05-2017Backup.xlsm Pode correr a macro/código pelo separador Programador e depois opção Macro, como se mostra a seguir. Ou pode adicionar, personalizar um botão  na barra e personalizar o mesmo, como se mostra a seguir.

Enviar Emails quando estiver na Data Actual (VBA)

Imagem
Pretende-se com este código que quando a Data de Envio for igual a data em que nos encontramos é enviado um email ao destinatário. O código pesquisa todos os registos e envia para cada email onde a condição da data for a data actual. VBA Code/Macro: Sub SendEmail() Dim ws As Worksheet Dim oApp As Object, MailApp As Object, SendMail As Object Dim strbody As String Dim deldate As Variant Dim email As Variant Dim i As Integer Set ws = Worksheets("sheet1") ws.Select 'Set numrows = number of rows of data. NumRows = Range("A2", Range("A2").End(xlDown)).Rows.Count ' Select cell A2 Range("A2").Select 'Get Delivery date lin = 2 col = 4 deldate = ws.Cells(lin, col).Value 'Get email lin = 2 col = 7 email = ws.Cells(lin, col).Value ' -1 because sheet have header For i = 1 To NumRows - 1 If deldate = Date Then 'Create Email Set MailApp = CreateObject("Outlook.Application") ...

Ordenar Folhas Excel de forma Automatizada (Macro)

Imagem
Pretende-se com esta macro Ordenar as Folhas de um livro de Excel de forma ascendente. Video que mostra como fazer: Código: Option Explicit Sub OrdenarFolhas() 'Esta rotina coloca as folhas de Excel por ordem ascendente Dim NomeFolhas() As String Dim ContarFolhas As Long Dim i As Long Dim AntigaFolhaActiva As Object 'Se não houver folha activa If ActiveWorkbook Is Nothing Then Exit Sub 'Verifica se a estrutura do livro esta protegida, se sim, não consegue ordenar e 'devolve uma mensagem ao utilizador If ActiveWorkbook.ProtectStructure Then MsgBox ActiveWorkbook.Name & " está protegida, ", vbCritical, "Não é possivel ordenar as folas. " Exit Sub End If 'Verifica se o utilizador quer mesmo fazer a ordenação If MsgBox("Pretende ordenar as folhas deste livro de Excel?", vbQuestion + vbOKCancel) <> vbOK Then Exit Sub 'Desactiva o CTRL+BREAK (opção cancelar) Application.EnableCancelKey = xlDisabl...

Excluir Linhas Duplicadas VBA

Imagem
Public Sub DeleteDuplicatedLines() '*************************************** '*** Code to Remove Duplicated Lines *** '***** E-Mail: clico.tech@gmail.com  ****** '*************************************** Dim r As Long Dim C As Range Dim N As Long Dim V As Variant Dim Rng As Range On Error GoTo Erro Application.ScreenUpdating = False Application.Calculation = xlCalculationManual If Selection.Rows.Count > 1 Then Set Rng = Selection Else Set Rng = ActiveSheet.UsedRange.Rows End If N = 0 For r = Rng.Rows.Count To 1 Step -1 V = Rng.Cells(r, 1).Value If Application.WorksheetFunction.CountIf(Rng.Columns(1), V) > 1 Then Rng.Rows(r).EntireRow.Delete N = N + 1 End If Next r Erro: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub

Criar ListBox Excel VBA

Imagem
Criar uma List Box em Excel usando o Editor VBA, experimente :) Creating a Listbox using Excel VBA Editor, try it :)

Hiperlinks VBA Excel

Imagem
Criar Hiperlinks com VBA Excel: 1. Abra uma folha de Excel 2. Carregue em Alt+F11 para abrir o editor de VBA 3. Insira um novo módulo 4. Copie o código que se segue e cole na janela de codigo 5. Carregue em F5 para executar 6. Verifique que o link foi adicionado a célula A4 Create Hiperlinks with Excel VBA; 1. Open an excel workbook 2. Press Alt+F11 to open VBA Editor 3. Insert a New Module 4. Copy the above code and Paste in the code window 5. Press F5 to execute it 6. You can see a new hyperlink is added at A4 Sub CreateHyperLink() ActiveSheet.Hyperlinks.Add Range("A4"), "https://clicotech.blogspot.pt/" End Sub

Função ARRED - Arredondamento

Imagem
Função ARRED - Arredondamento Conhece?

Macro/Função para Formatar Datas

Imagem
Macro/Função para Formatar Datas.