誰も教えてくれない、Excelマクロ/VBAの使い方 先生:田中亨(Office TANAKA)

  • View
    3.080

  • Download
    0

  • Category

    Business

Preview:

Citation preview

誰も教えてくれない

Excelのマクロ(VBA)

一般社団法人 実践ワークシート協会

代表理事 田中 亨(Office  TANAKA)

今日のテーマ

1. VBAの学び方

2. マクロの作り方

まず初めに

マクロは

Excelが持つ機能

の名前

VBAは

プログラミング言語

の名前

マクロ記録は

操作を記録する

機能の名前

マクロ=記録すること

VBA=手入力すること

マクロ=記録すること

VBA=手入力することではない!!

マクロ

Excelを自動実行する機能

VBA マクロで使うプログラミング言語

1. VBAの学び方

2. マクロの作り方

VBAをマスターできない

3つの理由

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている

マクロ(VBA)の学習マクロ(VBA)の習得には2つの学習が必要

マクロ(VBA)の学習マクロ(VBA)の習得には2つの学習が必要

1. 素材についての学習  

2. 素材を組み合わせるトレーニング

食材

食材 調味料

食材 調味料 器具

食材 調味料 器具

食材 調味料 器具

食材 調味料 器具オブジェクト

食材 調味料 器具オブジェクト

If  Then  Else  For  Next  Do  Loop  ReDim  Preserve

構文

食材 調味料 器具オブジェクト

If  Then  Else  For  Next  Do  Loop  ReDim  Preserve

構文 VBE

食材 調味料 器具オブジェクト

If  Then  Else  For  Next  Do  Loop  ReDim  Preserve

構文 VBE

Sub  Sample()          Dim  buf  As  String,  tmp  As  Variant          buf  =  Replace(Range(“A1”),”-­‐”,””)          tmp  =  Split(buf,  vbCr)          For  i  =  0  To  Ubound(tmp)                  Debug.Print  tmp(i)          Next  i  End  Sub

食材 調味料 器具オブジェクト

If  Then  Else  For  Next  Do  Loop  ReDim  Preserve

構文 VBE

Sub  Sample()          Dim  buf  As  String,  tmp  As  Variant          buf  =  Replace(Range(“A1”),”-­‐”,””)          tmp  =  Split(buf,  vbCr)          For  i  =  0  To  Ubound(tmp)                  Debug.Print  tmp(i)          Next  i  End  Sub

VBAに関する知識・技術

食材 調味料 器具オブジェクト

If  Then  Else  For  Next  Do  Loop  ReDim  Preserve

構文 VBE

Sub  Sample()          Dim  buf  As  String,  tmp  As  Variant          buf  =  Replace(Range(“A1”),”-­‐”,””)          tmp  =  Split(buf,  vbCr)          For  i  =  0  To  Ubound(tmp)                  Debug.Print  tmp(i)          Next  i  End  Sub

VBAに関する知識・技術

知識・技術を組み合わせて  

マクロを作り上げる  

構成力・発想力・イメージ力

VBAでマクロを・・・作れるようになるには?

読めるようになるには?

VBAでマクロを・・・作れるようになるには?   作る練習をしなくてはならない!

読めるようになるには?

VBAでマクロを・・・作れるようになるには?   作る練習をしなくてはならない!   しかし、VBAのドリルはない!読めるようになるには?

VBAでマクロを・・・作れるようになるには?   作る練習をしなくてはならない!   しかし、VBAのドリルはない!読めるようになるには?   基礎を学習しなくてはならない!

VBAでマクロを・・・作れるようになるには?   作る練習をしなくてはならない!   しかし、VBAのドリルはない!読めるようになるには?   基礎を学習しなくてはならない!   しかし、誰も教えてくれない!

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている

マクロ記録で作りましょう!

まずマクロ記録しましょう!

マクロ記録で作りましょう!

まずマクロ記録しましょう!無理

マクロ記録では

マクロを作れない!

マクロ記録は

作る機能じゃない!

マクロ記録は

調べる機能だ!

マクロの作り方

マクロの作り方• マクロは、最初から手入力して作る

マクロの作り方• マクロは、最初から手入力して作る• 分からないことは、マクロ記録で調べる

マクロの作り方• マクロは、最初から手入力して作る• 分からないことは、マクロ記録で調べる• マクロ記録は、作る機能ではなく分からないことを調べる機能

マクロの作り方• マクロは、最初から手入力して作る• 分からないことは、マクロ記録で調べる• マクロ記録は、作る機能ではなく分からないことを調べる機能

なぜ、マクロ記録ではマクロを作れないのか?

記録したコードを

ちょっと直しましょう

ومسألة التحقيق ترسل التفاصيل في وقت الحق. لكم الهتمامكم، وشكرا لكم.

VBAの基礎が

分からなかったら

ちょっと直せない

まずマクロ記録

ではなく

まず基礎を学ぶ

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている

インターネットとは

誰でも簡単に

情報を発信できる場

シロウトでも

VBAのことを語れる

てゆーか

ほとんどシロウト

• VBAのシロウト   VBできるからVBAもできる(みたいな)

• VBAのシロウト   VBできるからVBAもできる(みたいな)

• Excelのシロウト   ワークシート関数や機能は詳しくない

• VBAのシロウト   VBできるからVBAもできる(みたいな)

• Excelのシロウト   ワークシート関数や機能は詳しくない

• 教えることのシロウト

  自分ができる、ということと

  他人をできるようにする、ということは   まったく別の話

でも・・・ネットに書いてる人って  

(何も知らない)自分より  

(少しは)詳しいだろうから・・・

でも・・・ネットに書いてる人って  

(何も知らない)自分より  

(少しは)詳しいだろうから・・・

他人に何かを教えるときは  

「少し」詳しいだけではダメ!

マクロを作るとき

最も重要なこと

どうすればできるか

どうすればできるかなぜ、そうするのか

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている

1. 学習のしかたが間違っている

2. マクロ記録で作ろうとしている

3. ネットの情報に頼っている基礎を学べ

1. VBAの学び方

2. マクロの作り方

Excelのマクロは

実務で使う道具

道具は

引き継がれる

他の人が

使えない道具は

意味がない

他の人が

読めないマクロは

意味がない

後任者に

マクロを

引き継ぐには

1. 自分が理解している

2. 可読性を高める

1. 自分が理解している

2. 可読性を高める基礎を学べ

サイバーエージェントさんのご協力で

無料講演をやります

6月3日(火)20:00-22:30

渋谷マークシティウエスト

17Fセミナールーム

http://qixil-­‐tanaka.peatix.com

Recommended