見出し画像

誰にだってできるSales-Tech入門 Vol01.

 当社はITと美容の会社です。そんな当社が最近力を入れている領域は『クロステック』です。

 クロステックとは既存の産業とIoT、ビッグデータ、AIなどの先端テクノロジーを融合して誕生した新しい製品やサービス、およびその取り組みを指します。と小難しい話が続いておりますが、要は最新のテクノロジーを使って新しいサービスを作りましょうということです。

 そんなクロステックを頑張る当社ですが、そもそも論として「これまでの業務にほんの少しのテクノロジーを導入するだけでも画期的に仕事が捗る」ということにも注目しています。

 そこで本日は営業とテクノとジーを掛け合わせた Sales-Tech 入門ということで、Excel VBAを用いた業務効率化の話をnoteにまとめてみたいと思っています。

 なお、このnoteの内容自体は当社のYoutubeチャンネル Grow-up IoTチャンネルでも取り上げており今回は二つのサイトをみることで理解が深まるというコンセプトでお送りしております。
 つきましては第0章の序章(Youtube動画)もみていただけますと幸いです。

第0章 序章(Youtube動画)

 ますはコチラの動画をご覧ください。


第1章 営業のお仕事について

営業のお仕事

 営業のお仕事って何があるでしょうか?
・訪問営業(飛び込み)
・電話営業(テレアポ)
・メール営業
・レター営業(手紙/ダイレクトメール)
・HP営業(問い合わせフォーム)
など様々な営業手法がありますが、今回はその中でもメール営業に特化して話を進めていきたいと思います。

第2章 メール営業の効果について

メール営業の効果

 メール営業の効果ってどの程度かご存知ですか?実はメール営業の返信率は0.1%〜2.0%程度であると言われています。
 1000通送ってやっと1〜20通の返信があるレベルです。仮に1通のメールを送るのに1分かかったとすると、単純計算でも1000分=16.7時間=約2営業日もの工数がかかって1〜20社。(実際は同一速度で実施するのも難しくなりますのでその5倍以上はかかると言われています。)
 この数字をみると非常に効率的ではないと言えます。そんなメール営業ですが、以下の方法で効果を高めることが可能です。

メール営業の効果をあげる策

1.返信率の向上
 メールの内容を工夫することで返信率は高くなります。開きたくなるメール。返信したくなるメールなどを意識していくことで返信率を1%でも高めようと努力することで大幅な業務改善を見込むことができます。

2.メールを効率的に送る
 もしメールが自動に送信することができれば、2営業日〜10営業日で1000通だったものが、1時間で1000通というようなことも可能になってきます。(実際にはメールサーバーの問題で分割して送信しないといけない場合も存在します。それでも実作業時間はかなり軽減されます。)

 今回のnoteでは、このメールを効率的に送るという部分にフォーカスをあて、テクノロジーを用いて解決してみようと思っています。

第3章 Excel VBAについて

Excel VBAって知ってましたか?

 みなさんご存知のMicrosoft Excelの中にはExcel VBAというプログラムをかける場所があります。このExcel VBAを用いるとこれまでExcelで作業していた内容を自動することが可能になります。
 またExcelの外で起きることも自動化することができますので、今回のようにメールを送信するという作業も自動化することができるというわけです。

第4章 実際のプログラムについて

実際のプログラムを以下に表記します。下記の内容を標準モジュールにCopy&Pasetしてください。

Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal ms As Long)
Public Sub send_email_tool()
    Dim i As Integer            '整数型の変数 i
    Dim d_comp As String        '文字型の変数 d_comp 企業名
    Dim d_addr As String        '文字型の変数 d_addr メールアドレス
    Dim d_myoj As String        '文字型の変数 d_myoj 差出人の苗字
    Dim d_name As String        '文字型の変数 d_name 差出人の名前
    
    Dim m_titl As String        '文字型の変数 m_titl メールタイトル
    Dim m_body As String        '文字型の変数 m_body メール本文
    
    Dim w_mail As Worksheet     'ワークシート型変数 w_mail メール内容が記載しているシート
    Dim w_list As Worksheet     'ワークシート型変数 w_list メールリストがまとめられているシート
    
    Dim p_atta As String        '文字型の変数 p_atta 添付ファイル
    
    p_atta = "C:¥******¥*****¥*******¥******.jpg" '添付ファイルの場所を指定しています

    On Error GoTo ErrHandler

    Set w_mail = ThisWorkbook.Sheets("Mail")    'メール内容が記載しているシート名を指定します
    Set w_list = ThisWorkbook.Sheets("List")    'メールリストが記載しているシート名を指定します
        
    Dim objOutlook As Object
    Set objOutlook = CreateObject("Outlook.Application")
    
    'Application.ScreenUpdating = False     '処理する数が多い場合はこの最初の ' を外してください
    
    '変数の初期化をします(無くても基本動作できますが念のため)
    d_comp = ""
    d_addr = ""
    d_name = ""
    d_myoj = ""
    
    'メール内容を文字変数に代入します
    m_titl = w_mail.Cells(4, 1)         'メールタイトルは該当シートの 4行目の1列目 にあるという意味です
    m_body = w_mail.Cells(5, 1)         'メール本文は該当シートの 5行目の1列目 にあるという意味です
    
    
    For i = 2 To 1000 Step 1            '変数i を2から1000まで1刻みで変化させます(Next iと記載している間の処理)
        d_comp = w_list.Cells(i, 1)     'd_comp の値は i行1列
        d_addr = w_list.Cells(i, 2)     'd_addr の値は i行2列
        d_name = w_list.Cells(i, 3)     'd_myoj の値は i行3列
        d_myoj = w_list.Cells(i, 4)     'd_name の値は i行4列
        If (Cells(i, 1) <> "") Then     'もし会社名のセルに文字が入っていれば IF〜EndIfまでの間の処理をします
        Dim objEmail As Object
        Set objEmail = objOutlook.CreateItem(olMailItem)
            objEmail.To = d_addr                                                                'メールの宛先には d_addr の値を設定します
            objEmail.Subject = "【" & d_myoj & "様】" & m_titl                                       'メールのタイトルには 【送付先の相手の苗字+様】メールタイトル が入ります。
            objEmail.Body = d_comp & vbCrLf & d_myoj & " " & d_name & "様" & vbCrLf & m_body    'メールの本文には 会社名(改行)担当者の苗字+名前+様(改行)メール本文 が入ります。
            objEmail.Attachments.Add (p_atta)                                                   '添付したいファイルを添付します                                           '
            objEmail.Display                                                                    'メールを表示して
            objEmail.Send                                                                       'メールを送ります
            Sleep 1000                                                                          '待ち時間 1,000msec(=1sec) ←動作が不安定だったら少し数字を増やした方がいいです。
        End If
        '変数の初期化します(これは入れといた方がいいです)
        d_comp = ""
        d_addr = ""
        d_myoj = ""
        d_name = ""
    Next i
    'Application.ScreenUpdating = True     '処理する数が多い場合はこの最初の ' を外してください
    
    Set objEmail = Nothing
    Set objOutlook = Nothing
        
ErrHandler:
End Sub

 どうしてこのプログラムで動くのか。その話を聞きたい場合は、別途第5章に記載しているSNSアカウントまで連絡ください。個別に説明いたします。
 またこのExcel VBAを動かすためのExcelシートの構成に関しては第0章に掲載したYoutubeの動画をご覧くださいませ。

第5章 連絡先

 今回のnoteではYoutube動画とのコラボ作品となっています。そのためnoteだけ、youtubeだけでは全貌がみえないように作っております。その点に関してわかりにくくなっており申し訳ございません。ぜひ、このめんどくさい世界を楽しんでいただけますと幸いです。

 本noteに関するお問い合わせや、執筆者と話してみたい等々のご要望がある場合は以下のSNSまで連絡ください。

執筆者:
 株式会社システムデバイステクノロジー
 代表取締役  本田 稔
 Twitter : https://twitter.com/MinoruHonda2


この記事が気に入ったらサポートをしてみませんか?