ほんのすこしの僕のExcelマクロ                               中尾光輝                           2012-02-17   DatabaseCuration勉強会1 「Excelのある...
マクロを知らない                で苦しんでいる人                向けにちょっとし                たマクロの使い方                を紹介します2012年2月17日金曜日       ...
データ取り出しに難儀している人向けに、      CSVに書き出さないでファイルの中の      データを取得する方法を紹介します2012年2月17日金曜日               3
心に留めておく事2012年2月17日金曜日              4
CSVはRFC4180に仕様があるの         だが、それ以前に独自実装が先行         していたので、ソフトウェア間で         のファイル互換性に乏しい。2012年2月17日金曜日                 5
は 人生はあま りにも短い。 何 かを憎むに2012年2月17日金曜日                    6
現状を愛す。2012年2月17日金曜日            7
とても大事な                   キミの想いは                  無駄にならない                     世界は廻る                (中田ヤスタカ 2007)2012年2月17日金...
先行研究       • デフォルトデータフォーマット変換による遺伝子名            などの日付化と指数化、その公共DBへの波及2012年2月17日金曜日                       9
マクロ2012年2月17日金曜日   10
VBの編集と実行                • 開発メニュー                • エディター                • マクロの記録2012年2月17日金曜日                11
セルの指定        Sub	  セルの値を取得するセルに値をセットする()        	  	  	  	  MsgBox	  (Cells(1,	  "A").Value)        	  	  	  	  Cells(1,	 ...
文字列の置換         Sub 初期値()                                               Sub セル内改行を消す()           Cells(1, "A").Value = "ATT...
くりかえし、For文                Sub	  くりかえし()                	  	  	  	  Dim	  i	  As	  Integer                	  	  	  	  For	 ...
IF文、論理式                Sub	  IF文()                	  	  	  	  Dim	  i	  As	  Integer                	  	  	  	  For	  i	  ...
応用1:SQL文を作成する     Sub	  INSERT文生成()     	  	  	  	  Dim	  i	  As	  Integer     	  	  	  	  For	  i	  =	  1	  To	  5     	 ...
応用2:リンク集をつくる                • https://github.com/nakao/vb/blob/                  master/KazusaAnnotation/                 ...
スクリプティング2012年2月17日金曜日           18
MacRubyでExcel.appを操る2012年2月17日金曜日                          19
RubyでExcelを操る                • require spreadsheet                • くわしくは、ruby excel spreadsheet                 でGoogle検索...
1. xlsファイルを開く                2. セルの値を取得する                3. セルに値をセットする                4. セルの値を検証する2012年2月17日金曜日           ...
phpでExcelを操る                • php COMクラス2012年2月17日金曜日                   22
Java から POI で Excel を操る2012年2月17日金曜日                             23
まとめ                • ほんのすこしのVBマクロで世界がひら                 ける。                • すべてのCSVを生まれる前に消し去りた                 い、を実現するため...
Upcoming SlideShare
Loading in …5
×

ほんのすこしの僕のExcelマクロ

1,932 views

Published on

https://sites.google.com/site/databasecuration/ibento/wuti でのプレゼン資料です。

トーク録画は http://www.ustream.tv/recorded/20501187 です。

コードはGithubに後ほど上げます。

CC-BY Mitsuteru Nakao

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,932
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

ほんのすこしの僕のExcelマクロ

  1. 1. ほんのすこしの僕のExcelマクロ 中尾光輝 2012-02-17 DatabaseCuration勉強会1 「Excelのあるくらし」 http://www.dbcuration.info/ibento/2012年2月17日金曜日 1
  2. 2. マクロを知らない で苦しんでいる人 向けにちょっとし たマクロの使い方 を紹介します2012年2月17日金曜日 2
  3. 3. データ取り出しに難儀している人向けに、 CSVに書き出さないでファイルの中の データを取得する方法を紹介します2012年2月17日金曜日 3
  4. 4. 心に留めておく事2012年2月17日金曜日 4
  5. 5. CSVはRFC4180に仕様があるの だが、それ以前に独自実装が先行 していたので、ソフトウェア間で のファイル互換性に乏しい。2012年2月17日金曜日 5
  6. 6. は 人生はあま りにも短い。 何 かを憎むに2012年2月17日金曜日 6
  7. 7. 現状を愛す。2012年2月17日金曜日 7
  8. 8. とても大事な キミの想いは 無駄にならない  世界は廻る (中田ヤスタカ 2007)2012年2月17日金曜日 8
  9. 9. 先行研究 • デフォルトデータフォーマット変換による遺伝子名 などの日付化と指数化、その公共DBへの波及2012年2月17日金曜日 9
  10. 10. マクロ2012年2月17日金曜日 10
  11. 11. VBの編集と実行 • 開発メニュー • エディター • マクロの記録2012年2月17日金曜日 11
  12. 12. セルの指定 Sub  セルの値を取得するセルに値をセットする()        MsgBox  (Cells(1,  "A").Value)        Cells(1,  "A").Value  =  Cells(1,  "A").Value  *  2 End  Sub Sub  型エラー()        MsgBox  (Cells(1,  "C").Value  +  "["  +  Cells(1,  "A").Value  +  "]") End  Sub Sub  数値を文字列に変換する、文字列を結合する()        MsgBox  (Cells(1,  "C").Value  +  "["  +  CStr(Cells(1,  "A").Value)  +  "]")        Cells(1,  "D").Value  =  Cells(1,  "C").Value  +  "["  +  CStr(Cells(1,  "A").Value)  +  "]" End  Sub Sub  数式をつかう()        Cells(1,  "E").Formula  =  "=B1  -­‐  A1" End  Sub2012年2月17日金曜日 12
  13. 13. 文字列の置換 Sub 初期値() Sub セル内改行を消す() Cells(1, "A").Value = "ATTATTA" Dim str As String End Sub str = Cells(3, "A").Value Cells(3, "A").Value = Replace(str, vbCr, " ") Sub 置換() End Sub Dim str As String str = Cells(1, "A").Value Sub LFはセル内改行しない() MsgBox (str) Dim str As String Cells(2, "A").Value = Replace(str, "A", "a") str = Cells(1, "A").Value End Sub MsgBox (str & vbLf & str) Cells(3, "A").Value = str & vbLf & str Sub タブ文字列() End Sub Dim str As String str = Cells(1, "A").Value Sub CRLF() MsgBox (str & vbTab & str) Dim str As String End Sub str = Cells(1, "A").Value MsgBox (str & vbCrLf & str) Sub CRとセル内改行() Cells(3, "A").Value = str & vbCrLf & str Dim str As String End Sub str = Cells(1, "A").Value Cells(3, "A").Value = str & vbCr & str & vbCr & str End Sub2012年2月17日金曜日 13
  14. 14. くりかえし、For文 Sub  くりかえし()        Dim  i  As  Integer        For  i  =  1  To  10                Cells(i,  "A")  =  i                Cells(i,  "B")  =  i  *  i                Cells(i,  "C")  =  i  +  i        Next  i End  Sub2012年2月17日金曜日 14
  15. 15. IF文、論理式 Sub  IF文()        Dim  i  As  Integer        For  i  =  1  To  10                If  (Cells(i,  "A").Value  Mod  2)  =  0  Then                        Cells(i,  "D").Value  =  "偶数"                End  If        Next  i End  Sub2012年2月17日金曜日 15
  16. 16. 応用1:SQL文を作成する Sub  INSERT文生成()        Dim  i  As  Integer        For  i  =  1  To  5                Cells(i,  "G").Value  =  "INSERT  INTO  genes  VALUES  ("  &  _                                                                                Cells(i,  "A").Value  &  ",  "  &  _                                                                                Cells(i,  "B").Value  &  ",  "  &  _                                                                                Cells(i,  "C").Value  &  ",  "  &  _                                                                                ""  &  Cells(i,  "D").Value  &  ",  "  &  _                                                                                Cells(i,  "E").Value  &  ",  "  &  _                                                                                ""  &  Cells(i,  "F").Value  &  ")"        Next  i End  Sub2012年2月17日金曜日 16
  17. 17. 応用2:リンク集をつくる • https://github.com/nakao/vb/blob/ master/KazusaAnnotation/ annotationHelper.vb2012年2月17日金曜日 17
  18. 18. スクリプティング2012年2月17日金曜日 18
  19. 19. MacRubyでExcel.appを操る2012年2月17日金曜日 19
  20. 20. RubyでExcelを操る • require spreadsheet • くわしくは、ruby excel spreadsheet でGoogle検索2012年2月17日金曜日 20
  21. 21. 1. xlsファイルを開く 2. セルの値を取得する 3. セルに値をセットする 4. セルの値を検証する2012年2月17日金曜日 21
  22. 22. phpでExcelを操る • php COMクラス2012年2月17日金曜日 22
  23. 23. Java から POI で Excel を操る2012年2月17日金曜日 23
  24. 24. まとめ • ほんのすこしのVBマクロで世界がひら ける。 • すべてのCSVを生まれる前に消し去りた い、を実現するためのスクリプティング を紹介した。2012年2月17日金曜日 24

×