マクロでエクセル内のテキスト加工(SQL文生成)
SQL文をエクセルマクロで生成したいのですが、この質問にはSQLの知識は全く不要と思います。
検索対象のデータベースからある項目が検索キーワードにヒットするものだけ、
指定の項目を抽出するSelect文を書いて作業しているのですが、
キーワードが多数あるため、手作業で書くのが大変なので、マクロで自動生成したいです。
Sheet1内に以下の内容を記述
・データベース名
・検索対象の項目名
・抽出する項目名を以下のように縦に列挙(個数は変動)
・1行のSQL文に含めるキーワード数(後述)
項目名1
項目名2
項目名3
項目名4
項目名5
・
・
・
Sheet2には検索キーワードが以下のように縦に列挙(個数は変動)
キーワード1
キーワード2
キーワード3
キーワード4
キーワード5
・
・
・
Sheet1、Sheet2の内容から、Sheet3に以下のSQL文を生成したいのです。
Select 要素1, 要素2, 要素3, 要素4, 要素5 FROM データベース名 WHERE 項目名 = 'キーワード1' OR 検索対象の項目名 = 'キーワード2' OR 項目名 = 'キーワード3'
ただし、キーワードの数が数千になることもあるため、
前述のSheet1で指定した数値の数毎に次の行にしたいです。
例えばこんな感じ
Select 要素1 FROM データベース名 WHERE 項目名 = 'キーワード1' OR 検索対象の項目名 = 'キーワード2' OR 項目名 = 'キーワード3'
Select 要素1 FROM データベース名 WHERE 項目名 = 'キーワード4' OR 検索対象の項目名 = 'キーワード5' OR 項目名 = 'キーワード6'
・
・
・
Select 要素1 FROM データベース名 WHERE 項目名 = 'キーワード1000' OR 検索対象の項目名 = 'キーワード1001'
ご存知の方いたらご教授ください。