質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

2回答

7099閲覧

VBAでExcelからAccessにデータをインポートする方法

melpo

総合スコア24

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2016/05/19 05:27

Excelで作成したデータをAccessにインポートしたいのですが、セルの内容によって処理を判定しながら入れたいのでVBAを使って入れようかと思っています。

VBA初心者
Excel 2010
Access 2003 です。

…というか、Excelで日付を入力している列があって、Access側でも日付/時刻型でフィールドを設定しているのですが、Excelで空欄のところがAccessでインポート時(TransferSpreadsheet acImport)に引っかかって内容が入ってきません。

Excelの空欄は入力がないのではなく、式が入っていて、特定のセルが空ならばここも空にする(=if(isblank(a1),"",a1)という感じ)になっています。
最初から空欄のときはインポートされていてるので、これが良くないんだと思うんですが、Excelでnullの設定ができないのでAccessで取り込み時に判定しながら空だったらnullにする、ということができればと思っております。

方法をご教示、または参考になる記述などありましたら教えていただければと思います。

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

この質問は取り下げられるようですが、後にこの質問を見た人のための参考までに。

エクスポート前にセルの値を変更してよいのであれば、以下のような方法があります。

VBA

1'選択範囲の文字長0のセルをBLANKセルに変更 2Sub EmptyToBlank() 3 Dim c As Range, i As Long 4 For Each c In Selection 5 If Len(c) = 0 Then c.ClearContents 6 Next c 7End Sub

エクスポート前にBLANK化したいセル範囲を選択してマクロ実行。
その後エクスポートの流れになります。

投稿2016/05/19 06:34

jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

melpo

2016/05/19 06:36

jawa様 ありがとうございます! ちょっといまだと内容がちっとも分からないですが、大いに参考にさせていただきます! 進展してまた問題にぶち当たると思うのでまた質問します! ありがとうございます。
jawa

2016/05/19 08:07

提示したマクロは、簡単に言うと空文字列("")が入力されているセルを未入力(Blank)セルに変換するマクロです。 今回の内容に沿って説明すると、セルに入力された式で「参照先がIsBlankなので""が入力されたセル」を「Blankなセル」に書き換えてあげようというものです。 使い方は、EXPORTの際に問題となるセル範囲を選択し、提示したマクロを実行することで、選択範囲内で""なセルは式が消されて未入力のセルになります。 この状態でエクスポートすればエラーにならないのでは?という提案でした。 わかりにくかったようで、すみませんm(__)m がんばってください。
guest

0

ちょっと根本的に違うことになりそうなので一旦質問を取りやめます。見てくださった方々ごめんなさい

投稿2016/05/19 06:04

melpo

総合スコア24

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問