20〜30代の若手向け|営業職特化型エージェント

コミュ力が、
最強の武器
になる。

「話すのが好き」「人が好き」そのコミュ力は高く売れる。
元・年収1000万円超え営業のエージェントが全力サポート。

+350万〜
平均年収UP
※インセンティブ反映後
3,200+
営業職
非公開求人
30
平均
内定期間
IT系営業× SaaS営業× 不動産投資営業× 住宅営業× メーカー営業× 法人営業× ルート営業× 再生エネルギー営業×
Free Registration

まずは登録

転職を決めていなくてもOK。まずは市場価値を確認しましょう。

完全無料
現職にバレない
1営業日以内に連絡
しつこい連絡なし
カンタン登録フォーム
1 / -

個人情報は適切に管理し、第三者への提供は一切しません。

ACCESS VBAでExcelへのデータエクスポート:在庫計算データを正確に貼り付ける方法

ACCESS VBAでExcelへのデータエクスポート:在庫計算データを正確に貼り付ける方法

ACCESS VBAでEXCELにエクスポートについて フォームを作成し「在庫計算をエクセルにエクスポート」というボタンを作り、ボタンをクリックすると クエリで抽出されたデータが指定したexcelのシート及び指定したセルに貼り付けたいです。 「excelのファイルはデスクトップに存在し・平成24年度,aaaのエクセルのファイルを指定し ・在庫計算のシートを選択し・Aの5段目に貼り付けたい(1~4段目は既存のデータあり、DEFの列には計算式があります)」 下記の様にVBAを作成したのですが動作しません。 Private Sub コマンド7_Click() Call [“在庫計算”] Private Sub ExportExcel_DAO() Dim DB As Database Dim rst As Recordset Dim objExcel As Excel.Application Set DB = OpenDatabase(“C:******Desktop平成24年度,aaa.xlsx”) Set rst = DB.OpenRecordset(“在庫計算”, dbOpenTable) Set objExcel = New Excel.Application objExcel.Workbooks.Open (“平成24年度,aaa.xls”) objExcel.Worksheets(“在庫計算”).Select ‘RecordSetオブジェクトをExcelシートにコピー objExcel.Cells(A,5).CopyFromRecordset rst Set DB = Nothing Set rst = Nothing Set objExcel = Nothing MsgBox “終了” End Sub 上記のコードを作成してみたのですが、ボタンをクリックしても何も動作しません。 見よう見まねで作ったので私では解決に至りませんでした。 解決させたいのでお願い致します。 エクスポートするデータは値だけ出力したいです。まぁexcelの計算式に影響与えなければ関係無いですが。

この記事では、ACCESS VBAを用いてExcelファイルに在庫計算データをエクスポートする方法について解説します。具体的には、フォームにボタンを作成し、クリックすることでクエリで抽出されたデータを、指定したExcelファイルのシートとセルに貼り付ける方法を、具体的なコード例と修正ポイントを交えながらご説明します。Excelファイルへのデータ書き込み、VBAプログラミング、Accessデータベース操作といったキーワードに関連する知識が得られます。

問題点の分析と修正

ご提示いただいたコードにはいくつか問題点があります。まず、`OpenDatabase`関数のファイルパスが間違っている可能性があります。「C:******Desktop平成24年度,aaa.xlsx」の部分は、実際のファイルパスに修正する必要があります。ファイル名は「平成24年度,aaa.xlsx」とカンマが含まれているため、ファイルパス全体をダブルクォーテーションで囲む必要があります。また、`.xls`と`.xlsx`の拡張子の違いにも注意が必要です。Access 2010以降では、Excel 2007以降のファイル形式である`.xlsx`を使用する必要があります。

さらに、`objExcel.Cells(A,5).CopyFromRecordset rst`の部分も問題があります。`A`は変数として認識されず、エラーとなります。セル番号を指定するには、数値を直接入力する必要があります。例えば、A5セルに貼り付ける場合は`objExcel.Cells(5, 1).CopyFromRecordset rst`と記述します。

最後に、`コマンド7_Click`サブルーチンで`Call [“在庫計算”]`とありますが、これは正しくありません。「在庫計算」という名前の別のサブルーチンを呼び出そうとしているようですが、そのサブルーチンが定義されていないか、名前が間違っている可能性があります。この行は削除するか、適切なサブルーチンを呼び出すように修正する必要があります。

修正後のコード

以下は修正後のコードです。ファイルパスはご自身の環境に合わせて修正してください。また、エラー処理を追加することで、より堅牢なコードになっています。

Private Sub コマンド7_Click()
Call ExportExcel
End Sub

Private Sub ExportExcel()
Dim DB As Database
Dim rst As DAO.Recordset
Dim objExcel As Object
Dim strFilePath As String
Dim strFileName As String
On Error GoTo ErrHandler

' ファイルパスとファイル名を指定
strFilePath = "C:Users" & Environ(""UserName"") & ""Desktop"" ' デスクトップパスを取得

コメント一覧(0)

コメントする

お役立ちコンテンツ