DataNumen CRM — бесплатная система управления взаимоотношениями с клиентами в вашем Excel

Поделись сейчас:

Довольных клиентов очень трудно заполучить и удержать. Если вы изо всех сил пытаетесь поддерживать базу данных своих клиентов, с помощью этого инструмента вы можете легко добавить новую информацию о клиенте, отредактировать или удалить существующую информацию о клиенте и быстро получить ее.

Скачать сейчас

Если вы хотите сtart использовать программное обеспечение как можно скорее, то вы можете:

Загрузите программное обеспечение сейчас

В противном случае, если вы хотите сделать своими руками, вы можете прочитать содержимое ниже.

Давайте подготовим графический интерфейс

Создайте 3 листа и назовите их «Запись», «Клиент» и «Последующие действия». На листе «Вход» создайте поля, заголовки и кнопки.Ввод листа

Листовой клиент

Лист

Давайте сделаем его функциональным

Скопируйте макрос в новую книгу с поддержкой макросов и добавьте его в новый модуль. Прикрепите макрос «Add_Client» к кнопке «Добавить». Макрос «Upldate_Client» должен быть прикреплен к кнопке «Обновить», а макрос «Follow_Up» — к кнопке «Отправить».

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

Скопируйте этот макрос в модуль рабочего листа листа «Запись».

Private Sub Worksheet_Change (ByVal Tarполучить как диапазон) Если Target.Address = "$H$6", затем диапазон ("H9").Value = Application.WorksheetFunction.VLookup(Target.Value, client.Range("A1:E1000"), 2, False) Range("H12").Value = Application.WorksheetFunction.VLookup(Target.Value, client.Range("A1:E1000"), 3, False) Range("H15").Value = Application.WorksheetFunction.VLookup(Target.Value, client.Range("A1:E1000"), 4, False) Range("H18").Value = Application.WorksheetFunction.VLookup(Target.Value, client.Range("A1:E1000"), 5, False) End If End Sub

Как это работает?

Макрос «Add_Client» идентифицирует последнюю строку в листе «Клиент» и добавляет данные клиентов из листа «Запись». С помощью макроса «Update_Client» вы можете обновить данные вашего клиента. Макрос Follow_up поможет вам отслеживать ваши встречи с вашим Клиентом. Однако, если Повреждение Excel происходит, выпадающие списки могут не работать. В таком случае просто удалите поврежденный диапазон, снова добавьте проверку данных.

Об авторе:

Ник Випонд — эксперт по восстановлению данных в DataNumen, Inc., которая является мировым лидером в области технологий восстановления данных, включая слово коррупция и программные продукты для восстановления Outlook. Для получения дополнительной информации посетите www.datanumen.com.

Поделись сейчас:

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *