1行目もデータとして取り込む
Sub 先頭行をデータとして取り込む() Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String Dim myRS2 As New ADODB.Recordset FileName = ThisWorkbook.Path & "\xls\4-7フィールド見出しチェック用" '接続文字列 With myCon .Provider = "Microsoft.Jet.OLEDB.4.0;" .Properties("Extended Properties") = "Excel 8.0;HDR=NO" .Open FileName End With '「数値データあり」シートの内容を読み込む myRS.Open "[数値データあり$]", myCon 'A1番地を基点にデータ転記 Range("A1").CopyFromRecordset myRS '「文字列データのみ列」シートの内容を読み込む myRS2.Open "[文字列データのみ$]", myCon 'G1番地を基点にデータ転記 Range("G1").CopyFromRecordset myRS2 myRS.Close: Set myRS = Nothing myRS2.Close: Set myRS2 = Nothing myCon.Close: Set myCon = Nothing End Sub
「数値データあり」シート
「文字列データのみ」シート
実行結果
Excelブックを読み込む場合、1行目は「フィールド見出し」と判断され、転記されるデータには含まれない。
1行目からデータとして読み込ませるには、「Extended Properties」に指定する値に「HDR=NO」を付け加える。
ただし、フィールドデータが文字列型以外の場合には、空欄として転記される。
(そのフィールドのデータ型として整合性がとれないため。)
「HDR=NO」の設定は、あくまでも「1行目もデータとして扱いたい場合」だけの設定である。