第45回 Excelのテーブル仕様書からCREATE TABLE文を生成するマクロ

Sub create_table_vba()
 '---------------------------------------------------------
 'CREATE TABLEになる文を作成
 '---------------------------------------------------------
 statment = "CREATE TABLE ○○" & vbNewLine & "("
 
 
 '---------------------------------------------------------
 '列名と列の型の対応
 '---------------------------------------------------------
 Set hash = CreateObject("Scripting.Dictionary")
 hash.Add "c", "CHAR(256)"
 hash.Add "i", "INTEGER"
 
 '---------------------------------------------------------
 '選択範囲を処理
 '---------------------------------------------------------
 For Each cell In Selection
   '-------------------------------------------------------
   '列の型を取得
   '-------------------------------------------------------
   data_type = Split(cell, "_")
   data_type = data_type(0)
   data_type = hash(data_type)
   
   '-------------------------------------------------------
   '列を宣言
   '-------------------------------------------------------
   statment = statment & vbNewLine
   statment = statment & "    " & cell.Value & "   " & data_type
 Next
 
 statment = statment & vbNewLine & ")"
 
 Range("A1").Value = statment

End Sub