パソコンスキルの教科書

パソコンスキルの教科書

東京大学大学院卒。博士課程に進学を志すも、担当教授と折が合わず、無職になる。医者を目指すも結局断念。田舎で派遣社員として働く。「スキルがなければ、仕事ももらえない」と悟り、ビジネススキルを学ぶ。プログラミング、英語を学び、一部上場企業へ転職。年間100時間以上の業務効率化を行い、社内講師に抜擢。海外の案件を担当し、数億円のプロジェクトに携わる。個人の事業でも、月売上100万を達成。現在は、自分の価値を高めるためのスキル向上支援を行う

エクセル(Excel)VBAのプログラミングとは?事例や勉強法から開発方法まで

f:id:gene320:20180327011106j:plain

エクセルにはプログラミングを行う環境が準備されています。そのため、エクセルを使えるパソコンであれば、誰でもプログラミングを行うことが可能です。しかも、無料で簡単に利用できます。

しかし、エクセル初心者はプログラミングを使って「何ができるのか?」や「どのようなメリットがあるのか?」について知る機会は多くありません。

また、プログラミング言語のやり方や開発方法に触れるチャンスも少ないのが現状です。

ただ、エクセルでプログラミングを使いこなせるようになれば、仕事をボタン一つで終わらせたり、ミスなく仕事を処理できるようなったりします

そこで、エクセルのプログラミングについて初心者でも理解できるように、使い方(開発・編集)から勉強方法(本・講座)まで詳しく解説していきます。

エクセルVBAを事例で紹介


エクセルマクロVBAとは?「請求書PDF自動作成」や「メール自動送信」の事例で紹介

まずエクセルのプログラミングについてイメージを掴んでもらうために、動画を用意しました。

この動画はエクセルに記入された取引データから取引先ごとに請求書PDFを作成するマクロVBA(プログラミングで作成したツール)を紹介しています。

他にもVBAを使って出来ることを知りたい人は以下の記事で解説をしていますので、ご覧ください。

エクセルVBAで出来ることって何? 動画を使って解説します www.fastclassinfo.com

エクセルのプログラミング言語とは?マクロVBA

エクセルで使えるプログラミングと聞くと、マクロ、VBAといった聞きなれない言葉が出てきます。

そこで、エクセルのプログラミングで使用される単語について、簡単に解説をします。

エクセルのプログラミングで使われる単語

エクセルのプログラミングでは、マクロ、VBA、VBといった単語をよく聞きます。そこで、プログラミング初心者の人のために、エクセルのプログラミングでよく使われる単語を整理しておきました。

単語 意味
マクロ 複雑なパソコン操作を自動化する機能
VBA(Visual Basic Application) マクロを実行するためのツール
VB(Visual Basic) エクセル、ワード、パワポ、アウトルックで使用されるプログラミング言語

ここでは、単語の意味や定義を紹介はしました。しかし、これらを詳しく理解しておく必要はありません。

なぜなら、理解していなくても、プログラミングを行うことはできるからです。

例えば、スポーツでも道具の正式名称を知らなくても、競技を行うことは可能です。

プログラミングも同じです。これらの単語の意味や定義を深く理解する必要はありません

それよりも、プログラミングを通じて「何ができるのか?」や「どのように使うのか?」を理解する方が重要です。

エクセルマクロVBAでプログラミングを行うメリット

エクセルでプログラミングを行うにはいくつかのメリットがあります。簡単に言うと、以下の3つです。

●エクセルでプログラミングを行うメリット

メリット1|エクセルやワードの仕事を自動で処理できる

メリット2|誰でも無料で始めることができる

メリット3|エクセルのプログラム情報はウェブで簡単に入手できる

それでは一つずつ紹介していきます。

メリット1|エクセルやワードの仕事を自動で処理できる

VBAを使ってプログラミングを行えば、エクセルやワードなどの仕事を自動化できます。

例えば、以下の動画で紹介しているのはシート転記作業の自動化です。

このような定型業務はプログラミングで自動化しやすいです。


エクセルマクロVBAでデータ項目別にシート作成して転記

この事例は、以前ウェブで相談をいただいた人に作成したツールです。

このような転記作業は意外と多いので、ボタン一つで終わらせることができるようにプログラムを作成しておくとラクです

また、作業を自動化することで、パソコンの転記ミスがなくなります。ミスが減らせるため、仕事を正確にこなせます、

さらに、レベルが上がれば、自動化の範囲はエクセルに限りません。ワードでの資料作成やメール送信からウェブ調査まで幅広い作業を自動化できます。

メリット2|誰でも無料で始めることができる

誰でも簡単に無料で始めることができます。

例えば、Javaと呼ばれるプログラミング言語をパソコンで利用するには、JAVAの開発環境であるJDK(Java SE Development Kit)をダウンロードする必要があります。

しかし、エクセルを使えることができるパソコンであれば、すぐにプログラミングを始めることができます。

何かダウンロードをする必要はないのです。

特に企業に勤務していると、社外の情報をダウンロードする手間がないメリットは大きいです。

なぜなら、上司や他部署への許可を申請する必要がないからです。

このように、簡単に気軽に、しかも無料で始めることができるのはメリットが大きいです。

メリット3|エクセルのプログラム情報はウェブで簡単に入手できる

エクセルのプログラム情報については、Googleで検索すれば、誰でも簡単に無料で勉強ができます。

実際に、このサイトの記事でもプログラムを公開しています。

また、それだけでなく、エクセルをダウンロードしてすぐに使えるようにもしています。以下の記事で紹介しているので、ぜひご活用ください。

www.fastclassinfo.com

エクセルマクロVBAでプログラミングを行うデメリット

もちろん、デメリットもあります。以下の3つは覚えておくといいでしょう。

●エクセルでプログラミングを行うデメリット

デメリット1|プログラムを書く必要がある

デメリット2|学習方法が多いため、何から学べば良いのかわからない

デメリット3|エクセルのプログラミングの活用方法が分からない

以下で詳しく紹介していきます。

デメリット1|プログラムを書く必要がある

エクセルでプログラミングを行えば、請求書のような仕事は自動化することが可能です。

しかし、エクセル仕事を自動化するには、以下のようなプログラムを書く必要があります。

f:id:gene320:20161231140651j:plain

このプログラムは2,3日で勉強して、すぐにできるようなものではありません

また、正しく学ばないと、「勉強したのに、全然分からない」となってしまいます。

実際に、2年勉強したのに、まったく習得できなかった人もいます。

もし、これからプログラミングを学ぶなら、効率的に学べるような教材を選ぶことをお勧めします。

プログラムの書き方については、この記事の後半で詳しく紹介しています。

デメリット2|学習方法が多いため、何から学べば良いのかわからない

エクセルのプログラミングの情報は、本やインターネットで簡単に入手可能です。

しかし、情報が多すぎて、何から勉強すればいいか見極めるのが難しい状態とも言えます。

とくに入門者や初心者は、自分のレベルにあわせて情報を選ぶ必要があります。

学習方法は、この記事の後半で詳しく紹介しています。ぜひ、このまま読み進めていってください。

デメリット3|エクセルのプログラミングの活用方法が分からない

これからプログラミングを学ぶ人に多いのは、実務で「どのように活用すればいいのか」イメージがつかないことです。

そのため、プログラミング習得をしようと思えないのです。そこで、プログラミングの重要性を理解してもらえるように、動画を準備しました。


エクセルマクロVBAを使ってPDFを読み込みテキストを抽出

エクセルのプログラミングで「できること」を事例で紹介していますので、あなたの実務との関連をイメージしながら、動画を閲覧してみてください。

エクセルのプログラミング習得の難易度や必要期間

ここまでエクセルでのプログラミングについて、紹介をしてきました。

しかし、できることは分かっても、「どのくらい勉強すればいいのか?」や「習得の難易度はどの程度か?」といった疑問をもつはずです。

もちろん、1,2日で上記の動画で解説したようなスキルを習得するのは簡単ではありません。

実際、私の場合は上記の動画で紹介したレベルに到達するには、数か月かかりました。

また、そこから先のレベルを習得して、ウェブやアウトルックから情報を取得することができるようになるまでに10ヵ月学習を行いました。

具体的に、どのように学習したのかはこちらの記事で解説しています。興味があれば、ぜひ合わせて読んでみて下さい。

www.fastclassinfo.com

エクセルのプログラミングのやり方から編集方法まで

エクセルのプログラミングでできることについて紹介してきました。しかし、何ができるか分かるだけでは不十分です。

なぜなら、どのようにすれば使えるかを理解する必要があるからです。

例えば、英語を学習するとき、英語習得のメリットを理解してもあまり意味はありません。

英語を使えるようになりたいなら、文法や単語を理解して、旅行や仕事で英語を使えるようになる必要があります。

プログラミングも同じです。プログラミングで出来ることやメリット知るだけで満足するには早いです。

それよりも、プログラミングを使い方・やり方を知る方が重要です。

ここでは、エクセルのプログラミングを実際に行う方法を紹介していきます。

方法1|簡単に始めるには、マクロの自動記録を使う

エクセルでプログラミングを利用するとき、もっとも簡単に始めることができるのがマクロの自動記録という機能です。これを利用すれば、カンタンに作業の自動化を行うことが可能です。

例えば、エクセルのセルA1~A15まで順に数字を入れていく作業があるとします。

f:id:gene320:20170514085414p:plain

この作業は、マクロの自動記録を行うと、エクセルが自動でプログラムを作成してくれます。以下の2の部分がプログラムです。

f:id:gene320:20170514085520p:plain

しかし、マクロの自動記録には、デメリットがあります。それは、自動記録されたプログラムが、初心者には難しくて解読しにくい場合があることです。

たとえば、以下はマクロの自動記録で作成したプログラムです。

エクセルシートのセルC4に「q」を記入し、セルB5の色を変えて、B7からC11までを選択する

という作業を自動化しています。この作業をマクロの自動記録でプログラムで記録すると、以下のようになります。

 Sub Macro1()
 '
 ' Macro1 Macro
 '

'
     Range("C4").Select
     ActiveCell.FormulaR1C1 = "q"
     Range("B5").Select
     ActiveWindow.SmallScroll Down:=-9
     With Selection.Interior
         .Pattern = xlSolid
         .PatternColorIndex = xlAutomatic
         .Color = 65535
         .TintAndShade = 0
         .PatternTintAndShade = 0
     End With
     Range("B7:C11").Select
     Range("B11").Activate
 End Sub

正直、初心者には何が書いてあるのか分かりません。なぜなら、自動記録ではただでさえややこしいプログラムをさらにややこしく表現してしまうからです。

たとえば、不必要に.Selectが記録されますが、これは不要です。むしろ、プログラムが遅くなるためあるだけ邪魔です。

また、無駄な処理も記録されてしまいます。たとえば、マウスのスクロールも記録されてしまいます。そのため、さらに読みづらさが増します。

こういったデメリットが自動記録の使いづらさを増長しているのです。

マクロの自動記録については、こちらの記事で解説しています。使い方からデメリットまで紹介しています。

www.fastclassinfo.com

方法2|劇的な効率化・自動化には、自分で編集する

マクロの自動記録を使えば、プログラミング初心者でもコードを作成することができます。

しかし、自動記録だけではプログラミングの本来の力を発揮できません。それは上記の通りのデメリットがあるからです。

そこで、お勧めしたいのが自分でプログラムを編集する力を付けることです。

自分で編集できるようになることで、自動記録では作成できないプログラムを作ることができるようになります。

例えば、動画で紹介しているプログラムはほぼ手書きでプログラムを作成しています。

手書きでプログラミングをすることができれば、最終行を自動で読み込んで最終行までを自動処理できるように作成することが可能です。

これは、自動記録ではできません。このように、手書きで編集できるようになると、プログラミングの本来の力を発揮できるようになるのです。

手書きでプログラミングができるようになることを薦める理由について以下で詳しく紹介しています。

興味があれば、こちらの記事を読んでみて下さい。

www.fastclassinfo.com

さて、他にも手書き編集できれば以下のようなことができるようになります。

・ウェブから情報を自動で取得する
・エクセルの情報をワードに流し込む
・アウトルックのメールを自動で送信する

手書きで編集できるようになる方法は、以下の動画で紹介をしています。


入門エクセルマクロの使い方|マクロ作成から実行までを徹底解説

動画が苦手な人は以下の記事でも手書き編集の方法を記載しています。

合わせて読んでみてください。

www.fastclassinfo.com

補足|セキュリティの設定には注意する

エクセルでプログラミングができるようになると、作業を自動化できるようになります。しかし、セキュリティには注意が必要です。

なぜなら、マクロウイルスの危険性があるからです。マクロウイルスとは、エクセルのPCウイルスです。

プログラミング上級者であれば、「エクセルを開いた瞬間に、パソコンの中の重要なファイルを破壊する」というプログラムを作成することも可能です

そのため、セキュリティには注意が必要です。設定方法についてはこちらで詳しく解説しています。ぜひ読んでみてください。

www.fastclassinfo.com

作業自動化による効率化は魅力的ですが、セキュリティ設定を怠らないようにしましょう。

エクセルを使ったプログラム開発に大切なコツ

エクセル仕事を自動化するには、プログラムを開発する必要があります。

そして、手書きで編集できるようになると、エクセルに限らず、ワードやパワポの仕事まで自動化できるようになります。

しかし、このようなレベルで仕事を効率化できるようになるには、仕事の流れを俯瞰する力が必要になってきます

なぜなら、自分一人で仕事をしているわけではないからです。

例えば、自分一人の仕事ではなく、仕事全体を見通してより効率化を行うようにプログラムを構成する必要があります。

また、プログラムで仕事を効率化するなら、上司やチームメンバーに提案して協力を要請する必要が生じます。

そのためプログラミングスキルだけでなく仕事を全体最適する力や提案力も必要になるのです。

残念ながら、多くの本やウェブの情報では、プログラミングのやり方しか伝えていません。

しかし、自分以外の誰かと仕事を進めるのであれば、プログラミングに加えて全体最適化のスキルも必要になってくるのです。

以下の記事は、エクセルを使ったプログラム開発を行うときに大切なコツを紹介しています。

プログラミングでは、仕事全体を俯瞰できるほど効果の大きな効率化が可能 www.fastclassinfo.com

プログラミングを行って仕事を効率化するとなると、チームメンバーへの協力をお願いする必要があります。場合によっては、他部署へ仕事を依頼することもあり得ます。

こういったとき、提案力があるかないかで実現するかどうかが決まります。この記事では、その提案力について紹介しています。

www.fastclassinfo.com

さて、タイピング速度が早いほどプログラミングを習得が早くなります。

このようなプログラミング習得をする前にやっておきたいことをまとめました。

マクロを覚える前にやっておきたいこと www.fastclassinfo.com

エクセルのプログラミング勉強法|本・テキストから講座まで

エクセルでのプログラミングを勉強する方法はいくつかあります。とくに、本・テキストや講座は多くの人が利用しています。

しかし、情報が多いため、何から選べばいいのか迷ってしまうことも少なくありません。そこで、プログラミングの学習方法をまとめました。

エクセルマクロVBAを勉強できる本・テキスト

アマゾンにアクセスしたり、大型書店に行ったりすればプログラミングを学ぶ本やテキストは数多く見つかります。

しかし、プログラミングにもレベルがあります。初心者であればマンガから入った方がわかりやすいです。

一方で、ある程度スキルに自信がある人なら、興味のある分野から始めるといいでしょう。

以下の記事ではエクセルのプログラミングを勉強するときの書籍に関して紹介しています。ぜひ合わせて読んでみてください。

www.fastclassinfo.com

エクセルマクロVBAを勉強できる講座

エクセルのプログラミングを学習するとき、もっとも手っとり早いのはプロから直接教えてもらうことです。

特に、エクセルのプログラミングであれば、マクロVBAセミナーと題して数多くの講座が開催されています。詳しくはこちらの記事で解説しています。

www.fastclassinfo.com

ただし、講座に参加する前にマクロVBAセミナーには注意点があります。

例えば、まったくプログラミングを触ったことのない状態で参加すると、講座についていくことができないことがあります。

そのため、講座に参加する前に事前学習をしておくことをお勧めします。そうすることで、講座での学ぶを最大化することができます。

そのような講座の注意点に関しては、こちらの記事で解説しています。合わせて読んでみてください。

www.fastclassinfo.com

ここまでセミナー講座に関して紹介していきました。

しかし、地方に住んでいると大都市に行かないとセミナーに参加できないことも少なくありません。

そこで、オンラインで学習できる講座もお勧めです。

こちらの記事でオンラインで学べる講座について解説しています。ぜひ合わせて読んでみてください。

www.fastclassinfo.com

エクセルマクロVBAの基礎を無料で簡単に勉強する方法

エクセルでのプログラミングを基礎から学ぶには、本や講座に参加しなくても可能です。

特に、マクロの自動記録を使って作業を自動化するまでなら、無料の講座で十分に学ぶことができます。

ただ、プログラミングの初心者であれば、こちらの無料オンライン講座をお勧めします。

なぜなら、説明が初心者向けで分かりやすいからです。

例えば、プログラミング初心者にとって、プログラムを作成することで、「パソコンの中で何が起こっているのか?」を理解するのは簡単ではありません。

プログラムが何なのかを全く理解していない状態で、VBAだとかマクロだとかいう単語を聞いても分かるはずもありません。

しかし、多くのプログラミングの教科書や講座は、このような本当のプログラミング初心者にやさしい教え方をしていません。

ただこちらの無料オンライン動画であれば非常に丁寧に分かりやすく教えています。

実際、私も学んだことがありますが、プログラミング未経験の40代や50代の人でも仕事で使えるエクセルVBAのスキルを習得できるような説明がされています。

ぜひ、勉強するならこちらの無料オンライン講座から始めることをお勧めします。

エクセルのプログラミングを実務で使えるようになるには実践が重要

エクセルのプログラミングについて、お伝えしてきました。ここまで読んでくれたあなたには、ぜひ情報をインプットするところで終わってほしくないと思います。

なぜなら、プログラミングスキルの習得には実践が必須だからです

。例えば、野球でも本を読んだりテレビで観戦したりするだけでは上手にプレーできるようにはなりません。

個人練習や練習試合を通じて、少しずつ上達していきます。

そのため、この記事を読むだけで終わらず、ぜひ行動し実践してほしい。

そのために、この記事を活用していただければ幸いです。