DataNumen CRM – Um sistema gratuito de gerenciamento de relacionamento com o cliente em seu Excel

Compartilhe agora:

Um cliente feliz é muito difícil de alcançar e reter. Se você está lutando para manter o banco de dados de seus clientes, com esta ferramenta você pode facilmente adicionar novas informações de clientes, editar ou excluir informações de clientes existentes e recuperá-las rapidamente.

Faça o download

Se você quiser start para usar o software o mais rápido possível, então você pode:

Baixe o software agora

Caso contrário, se você quiser DIY, pode ler o conteúdo abaixo.

Vamos preparar a GUI

Crie 3 planilhas e nomeie como “Entrada”, “Cliente” e “Acompanhamento”. Na planilha “Entrada” crie campos, cabeçalhos e botões.Folha de entrada

Cliente de Planilha

Folha de acompanhamento

Vamos torná-lo funcional

Copie a macro para uma nova pasta de trabalho habilitada para macro e adicione-a a um novo módulo. Anexe a macro “Add_Client” ao botão “Add”. A macro “Upldate_Client” deve ser anexada ao botão “Update” e a macro “Follow_Up” ao botão “Submit”

Sub Add_client()
    Dim lr As Long
    Dim r As Long
    lr = client.Range("A" & Rows.Count).End(xlUp).Row + 1
    client.Range("A" & lr).Value = entry.Range("B6").Value
    client.Range("B" & lr).Value = entry.Range("B9").Value
    client.Range("C" & lr).Value = entry.Range("B12").Value
    client.Range("D" & lr).Value = entry.Range("B15").Value
    client.Range("E" & lr).Value = entry.Range("B18").Value
    Call Module1.Clear_Add_Client
End Sub

Sub Clear_Add_Client()
    Range("B6:F6,B9:F9,B12:F12,B15:F15,B18:F18").Select
    Range("B18").Activate
    Selection.ClearContents
    Range("B6:F6").Select
End Sub

Sub p_client_dropdown()
    On Error Resume Next
    Sheets("Temp").Delete
    Sheets.Add.Name = "Temp"
    On Error GoTo 0
    client.Select
    client.Columns("A:A").Select
    Selection.Copy
    Sheets("Temp").Select
    Sheets("Temp").Paste
    Application.CutCopyMode = False
    Sheets("Temp").Range("$A$1:$A$10000").RemoveDuplicates Columns:=1, Header:=xlYes
    Dim lr As Long
    Dim r As Long
    lr = Sheets("Temp").Range("A" & Rows.Count).End(xlUp).Row
    Dim prodlist As String
    For r = 2 To lr
        If prodlist = "" Then
            prodlist = Sheets("Temp").Range("A" & r).Value
        Else
            prodlist = prodlist & "," & Sheets("Temp").Range("A" & r).Value
        End If
        Next r
        With entry.Range("H6").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=prodlist
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
        With entry.Range("N6").Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:=prodlist
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
End Sub
    
Sub Update_Client()
    Dim lr As Long
    lr = client.Range("A" & Rows.Count).End(xlUp).Row
    For r = 2 To lr
        If client.Range("A" & r).Value = entry.Range("H6").Value Then
            client.Range("B" & r).Value = entry.Range("H9").Value
            client.Range("C" & r).Value = entry.Range("H12").Value
            client.Range("D" & r).Value = entry.Range("H15").Value
            client.Range("E" & r).Value = entry.Range("H18").Value
            Exit For
        End If
        Next r
End Sub

Sub Follow_up()
    Dim lr As Long
    lr = fup.Range("A" & Rows.Count).End(xlUp).Row + 1
    fup.Range("A" & lr).Value = entry.Range("N6").Value
    fup.Range("B" & lr).Value = entry.Range("N9").Value
    fup.Range("C" & lr).Value = entry.Range("N12").Value
End Sub

Copie esta macro para o módulo de planilha da planilha “Entrada”

Subplanilha Privada_Change(ByVal Tarobter como intervalo) Se Target.Address = "$H$6" Then Range("H9").Value = Application.WorksheetFunction.VLookup(Target.Value, cliente.Range("A1:E1000"), 2, False) Range("H12").Value = Application.WorksheetFunction.VLookup(Target.Value, cliente.Range("A1:E1000"), 3, False) Range("H15").Value = Application.WorksheetFunction.VLookup(Target.Value, cliente.Range("A1:E1000"), 4, False) Range("H18").Value = Application.WorksheetFunction.VLookup(Target.Value, cliente.Range("A1:E1000"), 5, False) End If End Sub

Como funciona?

A macro “Add_Client” identifica a última linha da planilha “Client” e anexa os dados dos clientes da planilha “Entry”. Com a macro “Update_Client” pode atualizar os dados do seu Cliente. A macro Follow_up ajudará você a acompanhar suas reuniões com seu cliente. No entanto, se um Corrupção do Excel ocorrer, os menus suspensos podem não funcionar. Nesse caso, basta remover o intervalo corrompido e adicionar a validação de dados novamente.

Introdução do autor:

Nick Vipond é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo palavra corrupção e produtos de software de recuperação do Outlook. Para mais informações visite www.datanumen.com.

Compartilhe agora:

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *