SlideShare a Scribd company logo
1 of 15
イルカになりたい
Tokyo.R #63
@wonder_zone
本スライドでの発言は所属している
組織の意見ではありません
一般の方が言うパソコンができる人
= Excelマスター
VBAの実行が遅い!!!
▪ めっちゃわかる
▪ 初心者だとマクロの記録で作る人が多いから
仕方ない
▪ あなたもそんな時代があったはず
▪ 私もあった
▪ Excel VBAが猛威を振るう業界なので、添付ファイル
がxlsmでも抵抗感なくす
1. 描画を殺す
▪ 昔から言われてる常套手段
▪ でも誰もやらない
▪ いちいち描画したりしてるからほんとに遅い
Private Sub KirimaSyaro()
Application.ScreenUpdating = False
'hoge
Application.ScreenUpdating = True
End Sub
1. 描画を殺す
▪ 昔から言われてる常套手段
▪ でも誰もやらない
▪ いちいち描画したりしてるからほんとに遅い
Private Sub KirimaSyaro()
Application.ScreenUpdating = False
'hoge
Application.ScreenUpdating = True
End Sub
2. 変数の適切な型宣言
▪ ヒヨコ期脱出後あるある事案
▪ 頼むからやってくれ
▪ メモリバカ食い、シンクライアントがフリーズする原因
はだいたいこいつのせい
Dim Suji ‘Variant型:これマジでやめて
Dim Suji As Long ‘Long型:Integer型は16bitのためスルー
2. 変数の適切な型宣言
▪ ヒヨコ期脱出後あるある事案
▪ 頼むからやってくれ
▪ メモリバカ食い、シンクライアントがフリーズする原因
はだいたいこいつのせい
Dim Suji ‘Variant型:これマジでやめて
Dim Suji As Long ‘Long型:Integer型は16bitのためスルー
3. 配列・連想配列
▪ 信じられないかもしれないけどある
▪ ていうかこっち使うほうが高速
▪ 積極的に使って欲しい
▪ 頼むからセルに書き込みとかやめて
Dim CellRange As Range
Set CellRange = ActiveSheet.Range("A1:AZ156")
Dim CellArray As Variant
CellArray = CellRange
3. 配列・連想配列
▪ ハッシュテーブル(連想配列)
Dim data As Object
Set data = CreateObject("Scripting.Dictionary")
data.Add "gepuro", 174
data.Add "cancolle", 172
data.Add "teramonagi", 181
Set obj = Nothing
4. イベントを発生させない
▪ プログラムの内容によっては弊害が生じるらしい
▪ でもやっておくとめっちゃ速い
Private Sub HotoCocoa()
Application.EnableEvents = False
'hoge
Application.EnableEvents = True
End Sub
4. イベントを発生させない
▪ プログラムの内容によっては弊害が生じるらしい
▪ でもやっておくとめっちゃ速い
Private Sub HotoCocoa()
Application.EnableEvents = False
'hoge
Application.EnableEvents = True
End Sub
5. 計算を手動化
▪ プログラムの内容にもよるけど、計算をガシガシするような
ものじゃなければ手動化したほうが良い
▪ ここまでのテクニックをwith文で囲ったりする人もいるけど、
一時的な解除とか考えるとめんどくさいのでそれぞれ宣言
させたほうが良いかもしれない
Private Sub KafuChino()
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
End Sub
5. 計算を手動化
▪ プログラムの内容にもよるけど、計算をガシガシするような
ものじゃなければ手動化したほうが良い
▪ ここまでのテクニックをwith文で囲ったりする人もいるけど、
一時的な解除とか考えるとめんどくさいのでそれぞれ宣言
させたほうが良いかもしれない
Private Sub KafuChino()
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomatic
End Sub
Enjoy!

More Related Content

What's hot

Dark vol4 for_slideshare
Dark vol4 for_slideshareDark vol4 for_slideshare
Dark vol4 for_slideshareara_ta3
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!Masato Noguchi
 
Scalaはじめました!
Scalaはじめました!Scalaはじめました!
Scalaはじめました!Asami Abe
 
Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界Takafumi Yoshida
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたしRyunosuke SATO
 
inside 2012新卒説明会
inside 2012新卒説明会inside 2012新卒説明会
inside 2012新卒説明会Taiyoh Tanaka
 
20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要Seiji Akatsuka
 
クラウドネイティブ世代がインフラに触れるということ
クラウドネイティブ世代がインフラに触れるということクラウドネイティブ世代がインフラに触れるということ
クラウドネイティブ世代がインフラに触れるということmist_dev
 
もちょブログ解析入門
もちょブログ解析入門もちょブログ解析入門
もちょブログ解析入門sudosan
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたいMasato Noguchi
 
AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、Tsuyoshi Yamamoto
 
2011 06-11.koga.osc lt
2011 06-11.koga.osc lt2011 06-11.koga.osc lt
2011 06-11.koga.osc ltShin-ya Koga
 
ヤマムギ vol.3 kintone 入門ハンズオン
ヤマムギ vol.3 kintone 入門ハンズオンヤマムギ vol.3 kintone 入門ハンズオン
ヤマムギ vol.3 kintone 入門ハンズオンR3 institute
 
ヤマムギ vol.4 kintone 入門ハンズオン
ヤマムギ vol.4 kintone 入門ハンズオンヤマムギ vol.4 kintone 入門ハンズオン
ヤマムギ vol.4 kintone 入門ハンズオンR3 institute
 
ミニマムswfエンジン for iOS
ミニマムswfエンジン for iOSミニマムswfエンジン for iOS
ミニマムswfエンジン for iOSflare phoenix
 
PHP Application E2E with Capybara
PHP Application E2E with CapybaraPHP Application E2E with Capybara
PHP Application E2E with CapybaraYoshiaki Yoshida
 

What's hot (20)

Dark vol4 for_slideshare
Dark vol4 for_slideshareDark vol4 for_slideshare
Dark vol4 for_slideshare
 
Sass less
Sass lessSass less
Sass less
 
僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!僕はどうしてもLibsassが使いたかったんだ!
僕はどうしてもLibsassが使いたかったんだ!
 
Scalaはじめました!
Scalaはじめました!Scalaはじめました!
Scalaはじめました!
 
Javaから見たRubyの世界
Javaから見たRubyの世界Javaから見たRubyの世界
Javaから見たRubyの世界
 
Ember コミュニティとわたし
Ember コミュニティとわたしEmber コミュニティとわたし
Ember コミュニティとわたし
 
inside 2012新卒説明会
inside 2012新卒説明会inside 2012新卒説明会
inside 2012新卒説明会
 
20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要20141017 あなたのword pressに捧げる3つの法要
20141017 あなたのword pressに捧げる3つの法要
 
クラウドネイティブ世代がインフラに触れるということ
クラウドネイティブ世代がインフラに触れるということクラウドネイティブ世代がインフラに触れるということ
クラウドネイティブ世代がインフラに触れるということ
 
もちょブログ解析入門
もちょブログ解析入門もちょブログ解析入門
もちょブログ解析入門
 
VimM#3
VimM#3VimM#3
VimM#3
 
Sprocketsを捨てたい
Sprocketsを捨てたいSprocketsを捨てたい
Sprocketsを捨てたい
 
さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版
 
AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、AWS Amplify XRを動かしてみたら、、、
AWS Amplify XRを動かしてみたら、、、
 
2011 06-11.koga.osc lt
2011 06-11.koga.osc lt2011 06-11.koga.osc lt
2011 06-11.koga.osc lt
 
ヤマムギ vol.3 kintone 入門ハンズオン
ヤマムギ vol.3 kintone 入門ハンズオンヤマムギ vol.3 kintone 入門ハンズオン
ヤマムギ vol.3 kintone 入門ハンズオン
 
ヤマムギ vol.4 kintone 入門ハンズオン
ヤマムギ vol.4 kintone 入門ハンズオンヤマムギ vol.4 kintone 入門ハンズオン
ヤマムギ vol.4 kintone 入門ハンズオン
 
エディタ戦争
エディタ戦争エディタ戦争
エディタ戦争
 
ミニマムswfエンジン for iOS
ミニマムswfエンジン for iOSミニマムswfエンジン for iOS
ミニマムswfエンジン for iOS
 
PHP Application E2E with Capybara
PHP Application E2E with CapybaraPHP Application E2E with Capybara
PHP Application E2E with Capybara
 

More from cancolle

データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87
データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87
データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87cancolle
 
東京駅から”114,514”な 場所を探す
東京駅から”114,514”な 場所を探す東京駅から”114,514”な 場所を探す
東京駅から”114,514”な 場所を探すcancolle
 
てかLINEやってる? (Japan.R 2016 LT) #JapanR
てかLINEやってる? (Japan.R 2016 LT) #JapanRてかLINEやってる? (Japan.R 2016 LT) #JapanR
てかLINEやってる? (Japan.R 2016 LT) #JapanRcancolle
 
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目cancolle
 
みんな何使ってるの(Japan.R 2015 LT)
みんな何使ってるの(Japan.R 2015 LT)みんな何使ってるの(Japan.R 2015 LT)
みんな何使ってるの(Japan.R 2015 LT)cancolle
 
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)非リアの僕がリア充に勝つ話 (TokyoR #50 LT)
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)cancolle
 
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)cancolle
 
分析で好みの娘をぶっこぬく (TokyoR #45 LT)
分析で好みの娘をぶっこぬく (TokyoR #45 LT)分析で好みの娘をぶっこぬく (TokyoR #45 LT)
分析で好みの娘をぶっこぬく (TokyoR #45 LT)cancolle
 
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)cancolle
 

More from cancolle (9)

データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87
データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87
データ菜園ティストもできるドッカーンとdocker入門 #TokyoR #87
 
東京駅から”114,514”な 場所を探す
東京駅から”114,514”な 場所を探す東京駅から”114,514”な 場所を探す
東京駅から”114,514”な 場所を探す
 
てかLINEやってる? (Japan.R 2016 LT) #JapanR
てかLINEやってる? (Japan.R 2016 LT) #JapanRてかLINEやってる? (Japan.R 2016 LT) #JapanR
てかLINEやってる? (Japan.R 2016 LT) #JapanR
 
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目
機械学習するな機会学習しろ - データサイエンスLT祭り 2夜目
 
みんな何使ってるの(Japan.R 2015 LT)
みんな何使ってるの(Japan.R 2015 LT)みんな何使ってるの(Japan.R 2015 LT)
みんな何使ってるの(Japan.R 2015 LT)
 
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)非リアの僕がリア充に勝つ話 (TokyoR #50 LT)
非リアの僕がリア充に勝つ話 (TokyoR #50 LT)
 
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)
JKがJKのツイートを分析してほんとにJKかどうかを判断する(プロ生#33 LT)
 
分析で好みの娘をぶっこぬく (TokyoR #45 LT)
分析で好みの娘をぶっこぬく (TokyoR #45 LT)分析で好みの娘をぶっこぬく (TokyoR #45 LT)
分析で好みの娘をぶっこぬく (TokyoR #45 LT)
 
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)
コミュ障の俺が、自分と近い特徴のヤツを探す(プロ生#32 LT)
 

イルカになりたい(TokyoR #63 LT)