MW211 EXIT

devlog
ExcelVBA/CopyFromRecordsetは便利だが
2015年04月21日
「.CopyFromRecordset」だとあらかじめ設定していた書式が効かない。

仕方がないので、別途以下みたいな感じで値の貼り付けを行う必要がある。
┌──────────────────────────────────────┐
│With .Columns(1)                                                            │
│    .Value = .Value                                                         │
│    .AutoFit                                                                │
│End With                                                                    │
└──────────────────────────────────────┘

ただ、根本的に解決するには、以下の様に一件ずつ読み込む方式に
変更してしまうのがいいだろう。
┌──────────────────────────────────────┐
│Dim テーブル As New ADODB.Recordset                                         │
├──────────────────────────────────────┤
│Cells(2, 1).CopyFromRecordset テーブル                                      │
└──────────────────────────────────────┘
  ↓
┌──────────────────────────────────────┐
│Dim テーブル As New ADODB.Recordset                                         │
├──────────────────────────────────────┤
│y = 2                                                                       │
│Do Until テーブル.EOF                                                       │
│    For x = 1 To テーブル.Fields.Count                                      │
│        Cells(y, x).Value = テーブル.Fields(x - 1).Value                    │
│    Next x                                                                  │
│    y = y + 1                                                               │
│    テーブル.MoveNext                                                       │
│Loop                                                                        │
└──────────────────────────────────────┘
分類:ExcelVBA