質問: Excelで作成したデータをAccessにインポートしたいのですが、セルの内容によって処理を判定しながら入れたいのでVBAを使って入れようかと思っています。 VBA初心者 Excel 2010 Access 2003 です。 ...というか、Excelで日付を入力している列があって、Access側でも日付/時刻型でフィールドを設定しているのですが、Excelで空欄のところがAccessでインポート時(TransferSpreadsheet acImport)に引っかかって内容が入ってきません。 Excelの空欄は入力がないのではなく、式が入っていて、特定のセルが空ならばここも空にする(=if(isblank(a1),"",a1)という感じ)になっています。 最初から空欄のときはインポートされていてるので、これが良くないんだと思うんですが、Excelでnullの設定ができないのでAccessで取り込み時に判定しながら空だったらnullにする、ということができればと思っております。 方法をご教示、または参考になる記述などありましたら教えていただければと思います。 よろしくお願いします。
回答: この質問は取り下げられるようですが、後にこの質問を見た人のための参考までに。 エクスポート前にセルの値を変更してよいのであれば、以下のような方法があります。 ``` '選択範囲の文字長0のセルをBLANKセルに変更 Sub EmptyToBlank() Dim c As Range, i As Long For Each c In Selection If Len(c) = 0 Then c.ClearContents Next c End Sub ``` エクスポート前にBLANK化したいセル範囲を選択してマクロ実行。 その後エクスポートの流れになります。