【Excel VBA】在宅の副業で収入を得る【レベルや案件の獲得方法を紹介】
Excel VBAを使った在宅でできる副業について、ご紹介します。実際に依頼されている案件について、簡単なVBAコードを作成して、必要なスキルについて解説していきます。案件を受注するには、クラウドソーシングを使う方法がありますので、併せてご紹介します。
はじめに
この記事では、Excel VBAを使った在宅でできる副業について、ご紹介します。
実際に依頼されているExcel VBAを作成する案件を見てみると、初級から中級、上級の内容があります。
それぞれの案件で、簡単にExcelのVBAコードを紹介していきます。
在宅で案件を受注するには、クラウドソーシングを使う方法があります。
クラウドソーシングは、クラウドワークスやランサーズ、ココナラといったサイトがあって、案件を受注することができます。
では、Excel VBAを使った在宅でできる副業について、解説していきます。
この記事で紹介すること
- Excel VBAを使った副業のレベル
- 案件を獲得する方法
目次
Excel VBAを作成する在宅の副業とは
Excel VBAは、Excelで操作する作業を、自動化することができることができます。
さらに、Excel内で操作できる内容だけでなく、他のアプリケーションと連携して、操作を自動化することができます。
Excel VBAで作成する内容は、このような作業を自動するツールを作成することになります。
Excel VBAでできること
簡単に、Excel VBAでできることについて、ご紹介します。
例えば、
- データベースからの帳票を自動で作成
- 請求書を自動で作成
- 分析用のグラフを自動で作成
- レポート作成を自動化する
といった、Excelで作業する内容を自動化できます。
さらに、Excel内での作業を自動化するだけでなく、
- フォルダの一覧表を作成して自動で操作する
- PowerPointと連携して自動で資料作成をする
- Accessと連携してデータベースの管理をする
- OutLookと連携してメールの送信を自動化
- Googleをスクレイピングする
- Webサイトから情報を自動で収集する
のように、Excel以外のアプリケーションとも連携して、自動化することができます。
Excel VBAの副業のレベル
では、Excel VBAの副業のレベルについて、ご紹介します。
Excel VBAで副業する際にどのぐらいのレベルが必要かがわかります。
実際に、クラウドソーシングのサイトで発注されている案件を、みてみましょう。
初級の案件
Excel VBAを使って、Excelにて領収書を作成して、PDFへ出力する、という仕事の依頼です。
クラウドワークスにて依頼されていた内容です。
初級の案件
手順としては、
- データベースから領収書のフォームにデータを転記
- ExcelをPDFに変換して保存
という流れを、Excel VBAで自動化するという感じです。
ボリュームとしては、2時間あれば、作成できそうな印象です。
金額は、おそらく2~3,000円程度でしょう。
簡単にVBAを作成
この仕事の依頼を簡単に作ってみるとこんな感じになります。
Sub TEST1() '請求書No.取得 Dim No No = Worksheets("請求書").Cells(4, "H") Dim DB, A Set DB = Worksheets("DB") Set A = Worksheets("請求書") '最終行 Dim LastRow LastRow = DB.Cells(Rows.Count, "A").End(xlUp).Row 'データ貼り付け For i = 1 To LastRow If DB.Cells(i, 1) = No Then For j = 1 To 6 A.Cells(j, "L") = DB.Cells(i, j + 1) Next Exit For End If Next 'PDFに変換 Dim FilePathPDF FilePathPDF = ThisWorkbook.Path & "\領収書.pdf" 'PDFへ変換 ThisWorkbook.ExportAsFixedFormat 0, FilePathPDF End Sub
領収書に記載する情報がまとめられたデータベースがあります。
領収を作成して、PDFに変換します。
領収書のフォームです。
作成したい領収書のNo.を記載して、ボタンをクリックします。
これで、領収書が作成されて、作成された領収書がPDFに出力されました。
という依頼内容です。
こちらは依頼の大枠について、記載しています。
実際は、依頼主の要望する仕様を加えると、もう少しVBAコードが増えてきます。
でも、ざっくりとした内容は理解できるかと思います。
中級の案件
中級の案件としては、次のようなもので、1つのExcelブックだけで完結する内容ではなく、別ブックを操作する必要があります。
中級の案件
内容としては、Excelブックの複数シートから取得したデータを、別ブックのExcelに転記して、保存していくといった内容です。
手順としては、
- ①Excel内の複数シートからデータを取得
- ②別ブックに転記して保存する
- ③複数ブックに①と②の手順を繰り返す
といった感じです。
こちらは、3時間程度かかりそうなイメージです。
金額は、おそらく10,000円程度でしょう。
簡単にVBAを作成
ちなみ仕様の大枠の部分を、VBAコードで記載すると、次のようになります。
Sub TEST2() Dim A, DB ReDim DB(1 To 12, 1 To 8) As Variant 'データを取得 For i = 1 To 12 Set A = Worksheets(i & "月") For j = 1 To 8 DB(i, j) = A.Cells(j + 1, "B") Next Next '商品名を取得 Dim Pr With Worksheets("1月") Pr = .Range("A1").Resize(7).Offset(1, 0) End With Dim B Set B = Worksheets("集計") 'ファイルパス名 Dim FilePath 'データを集計して別ブック保存 For i = 1 To UBound(Pr, 1) B.Range("B1") = Pr(i, 1) For j = 1 To UBound(DB, 1) B.Range("B3").Offset(j, 0) = DB(j, i) Next '別ブック保存 B.Copy FilePath = ThisWorkbook.Path & "\商品:" & Pr(i, 1) & ".xlsx" ActiveWorkbook.SaveAs FilePath ActiveWorkbook.Close Next End Sub
ちょっと作成した内容をみていきます。
Excel内に複数シートを用意しました。
これらの複数シートからデータを取得して、一つのシートにデータをまとめます。
取得したら、別ブックに転記して、別ブックで保存していきます。
この手順を、商品A~商品Gで繰り返します。
別ブックにExcelのデータを保存できました。
といった感じですね。
こちらも、依頼主から要望のある仕様を加えると、もう少しVBAコードを書く必要があります。
Excel VBAで別ブックの操作ができるスキルがあれば、作成できる内容です。
上級の案件
上級案件としては、Excel VBAでのスクレイピングです。
Excel VBAでの案件で多いのが、このスクレイピングです。
スクレイピングは、Web上のサービスに自動でログインしたり、Web上のデータを自動で取得したりする技術のことです。
メルカリやAmazon、楽天サイトの情報を、自動で取得したいといった依頼が多いです。
スクレイピングの依頼としては、10,000~50,000円で発注されることが多いです。
クラウドワークスに依頼のあったスクレイピングの案件です。
上級案件
ブラウザにキーワードを入力して、検索結果から特定サイトのURLを取得する、というものです。
この依頼のExcel VBAを作成すると、作成する時間としては、5時間ぐらいかかりました。
手順としては、
- ブラウザを起動
- ブラウザの検索欄にキーワードを入力
- 検索結果から特定サイトのURLを取得
といった感じです。
簡単にVBAを作成
こちらの内容を、Excel VBAで作ってみました。
SeleniumBasicをインストールして、作成しています。
Sub TEST3() Dim Driver As New Selenium.WebDriver Dim SKey As New Selenium.Keys Dim Elm As Selenium.WebElement Dim Elms As Selenium.WebElements Dim Search As Selenium.WebElement Driver.AddArgument "--incognito" 'シークレットモード Driver.Start "chrome", "https://www.yahoo.co.jp/" Driver.Get "/" Dim SiteURL SiteURL = "https://www.mercari.com/" 'URL Dim ReURL With Worksheets("取得").Range("A1").CurrentRegion KeyWords = .Resize(.Rows.Count - 1, 1).Offset(1, 0) End With For k = 1 To UBound(KeyWords, 1) ReURL = "" If k = 1 Then '1回目の検索 Set Search = Driver.FindElementByXPath("//*[@id=""ContentWrapper""]/header/section[1]/div/form/fieldset/span/input") Search.Clear Search.SendKeys KeyWords(k, 1) Search.SendKeys SKey.Enter Else '2回目以降の検索 Driver.FindElementByCss("#header > div.Header__wrap > div > div.Header__innerItem > div.SearchBox.SearchBox--north.js-SearchBox--north > form > div.SearchBox__searchInputWrap > button").Click On Error Resume Next Set Search = Driver.FindElementByXPath("//*[@id=""header""]/div[1]/div/div[2]/div[1]/form/div[1]/input[1]") If Err.Number <> 0 Then Set Search = Driver.FindElementByXPath("//*[@id=""header""]/div[1]/div/div[1]/div[1]/form/div[1]/input[1]") End If Search.SendKeys KeyWords(k, 1) Search.SendKeys SKey.Enter End If '検索した結果の全体を取得 Set Elm = Driver.FindElementByClass("Contents__innerGroupBody") '全体の記事をオブジェクトに格納 Set Elms = Elm.FindElementsByClass("sw-CardBase") ' '1記事ずつループ For Each Elm In Elms Set Elm = Elm.FindElementByTag("a") If InStr(Elm.Attribute("href"), SiteURL) > 0 Then ReURL = Elm.Attribute("href") 'URL Exit For End If Next 'セルにURLを入力 With Worksheets("取得") .Cells(k + 1, "B") = ReURL End With Next Driver.Close Set Driver = Nothing End Sub
Excelのシートにあらかじめ、キーワードを入力しておきました。
では、実行してみます。
ブラウザにキーワードが入力されて、検索結果が表示されます。
ブラウザの特定サイトを探して、URLを取得します。
取得したURLが、Excelのシートに入力されます。
これを繰り返して、全てのキーワードで、検索結果からURLを取得できます。
すべてのキーワードで、URLを取得できました。
といった感じの案件ですね。
スクレイピングの場合は、Web上のデータを取得するので、ちょっとしたHTMLの知識も必要です。
今回紹介した内容は、SeleniumBasicでのスクレイピングでした。
ただ、スクレイピングでの依頼では、IEでWeb操作できるように、という依頼内容が多いですね。
IEでのWeb操作だと、特定のソフトをインストールすることなく、Web操作を自動化できますので、依頼主としては作成物を扱いやすいですからね。
こんな感じで、Excel VBAの案件があります。
在宅でできる副業の案件を獲得する方法
在宅でできる副業の案件を獲得する方法は、クラウドソーシングで受注するという方法があります。
クラウドソーシングのサイトは、複数ありますので、Excel VBAの案件を受注したいという場合は、いくつか登録しておくとよいでしょう
クラウドソーシングができるサイト
クラウドソーシングの主なサイトとして、次のサイトがあります。
クラウドソーシングのサイト
この辺りが有名で市場規模も大きいです。
案件を受注する手順として、大きく2パターンあります。
- ①クライアントが案件を登録して、ワーカーが受注する
- ②ワーカーに、クライアントが案件を依頼する
という2パターンです。
クラウドワークスやランサーズは、①の方で、クライアントが案件を登録して、ワーカーが受注するという手順です。
反対に、ココナラは、ワーカーがサイトに登録して、クライアントが案件を依頼するという②の方です。
初級の案件から実績を積む
案件を受注するには、実績が必要になってきます。
実際に、案件の依頼条件に、「実績のある方」などの条件があったりします。
なので、案件の登録があるクラウドワークスやランサーズで、初級の案件でまずは実績を積むのが良いでしょう。
実績ができてきて、徐々に、中級や上級の案件に挑戦していけば、案件を受注しやすくなります。
おわりに
この記事では、Excel VBAを使った在宅でできる副業について、ご紹介しました。
在宅で副業する案件を受注するには、クラウドソーシングを使う方法があります。
クラウドソーシングには、次の3つのサイトがありました。
クラウドワークスやランサーズには、Excel VBAを使った案件が複数あって、実際に依頼されている案件をみることができます。
依頼されている案件には、初級の案件や、中級、上級とさまざまな案件があります。
案件を受注するには、実績が必要になってきますので、まずは、初級の案件からスタートしていくのがベターですね。
実績を積んでいくと、中級や上級の案件が獲得しやすくなっていきます。
参考になればと思います。最後までご覧くださいまして、ありがとうございました。
関連する記事から探す