【Excel】横の表定義からINSERT文作成

横向けになっている表定義からINSERT文を作成します。
前提条件はコメントに記載の通り。
※DATE型に対するTO_DATEは手動。

Sub SqlInsertCreate()
'
' SqlInsertCreate Macro
'
' テーブル名、項目名、値からINSERT文を自動生成します。
'
' A1:テーブル名
' A2~C2:項目名
' A3~C3:値
' 上記状態の時にE2を選択し、マクロを実行する。

    '//=====項目用INSERT文作成===============================
    'セルをアクティブにする。
    ActiveCell.Offset(0, 0).Select

    'アクティブセル列数を取得する。
    Dim activCellNoCol As Long
    activCellNoCol = ActiveCell.Column

    'ループで利用する変数を宣言する。
    Dim i As Long
    Dim tmpStrCol As String

    'アクティブセル列数-2から列数が2になるまで繰り返す
    For i = activCellNoCol - 2 To 2 Step -1
        tmpStrCol = tmpStrCol & "RC[-" & i & "]&"",""&"
    Next i

    '項目用INSERT文を作成する。
    Dim tmpInsertCol As String
    tmpInsertCol = "=" & Left(tmpStrCol, Len(tmpStrCol) - 5) & "&"") VALUES ("""
    ActiveCell.Formula = tmpInsertCol



    '//=====値用INSERT文作成===============================
    'セルをアクティブにする。
    ActiveCell.Offset(1, 0).Select

    'アクティブセル列数を取得する。
    Dim activCellNoVal As Long
    activCellNoVal = ActiveCell.Column

    'ループで利用する変数を宣言する。
    Dim j As Long
    Dim tmpStrVal As String

    'アクティブセル列数-2から列数が2になるまで繰り返す
    For j = activCellNoVal - 2 To 2 Step -1
        tmpStrVal = tmpStrVal & "RC[-" & j & "]&""','""&"
    Next j

    '値用INSERT文を作成する。
    Dim tmpInsertVal As String
    tmpInsertVal = "=""'""&" & Left(tmpStrVal, Len(tmpStrVal) - 7) & "&""');"""
    ActiveCell.Formula = tmpInsertVal


    '//=====テーブル用INSERT文作成===============================
    'セルをアクティブにする。
    ActiveCell.Offset(-2, 0).Select

    'アクティブセル列数を取得する。
    Dim activCellNoTbl As Long
    activCellNoTbl = ActiveCell.Column

    'テーブル名の位置を求める。
    Dim tblNameNo As String
    tblNameNo = activCellNoTbl - 2

    Dim tmpInsertTbl As String
    tmpInsertTbl = "=""INSERT INTO ""&RC[-" & tblNameNo & "]&"" ("""
    ActiveCell.Formula = tmpInsertTbl


    'セルを初期値に戻す。
    ActiveCell.Offset(1, 0).Select
End Sub