No5のSQL文でF14とするところがF4になっていたので、
それも含めて少し修正と追加します。
Private Sub CommandButton1_Click()
Const adOpenKeyset = 1
Const adLockReadOnly = 1
Dim cn As Object
Dim rs As Object
Dim strSQL As String
Dim partSQL As String
Dim sDay As Date
Dim eDay As Date
Dim targetDay As String "Sheet1の日付が入力されている列
Set cn = CreateObject("ADODB.Connection")
Set rs = CreateObject("ADODB.Recordset")
cn.Provider = "Microsoft.ACE.OLEDB.12.0"
cn.Properties("Extended Properties") = "Excel 12.0;HDR=NO"
cn.Open ThisWorkbook.Path & "\myBook.xls"
'以下の期間設定に日付はどちらが早い日付でもかまいません
'質問のSheet2に期間を入力する場合
sDay = CDate(Sheets("sheet2").Cells(2, "A").Value)
eDay = CDate(Sheets("sheet2").Cells(2, "B").Value)
'日付が入力されている列の設定
targetDay = "F14"
''フォームにTextBox1とTextBox2をおいてそれぞれに抽出する期間を入力する場合
'sDay = CDate(TextBox1)
'eDay = CDate(TextBox2)
'不要な列はNULLに設定
partSQL = "F1,F2,F3,F4,F5,F6,F7,F8=NULL,F9=NULL,F10=NULL,F11=NULL,F12=NULL,F13=NULL,F14"
''もし、不要な列は空列として表示しない、ということであれば、以下を使用
''この場合は列のA,Bなどがずれます。
'partSQL = "F1,F2,F3,F4,F5,F6,F7,F14"
strSQL = "select " & partSQL & " from [Sheet1$] where " & targetDay & " between #" & sDay & "# and #" & eDay & "#"
rs.Open strSQL, cn, adOpenKeyset, adLockReadOnly
Sheet2.Cells(7, 1).CopyFromRecordset rs
'締めくくりの行儀作法
rs.Close: Set rs = Nothing
cn.Close: Set cn = Nothing
'データのない列を非表示にする場合は以下を使用
'Call cmdA
End Syb
Private Sub cmdB()
Dim i As Long
For i = 8 To 13
Sheet2.Columns(i).Hidden = True
Next i
End Sub