
こんにちわお世話になります。
「Excelにエクスポート」ボタンをクリックすると、Inputboxか何かが表示されて、Pathやファイル名やシート名を入力し、「実行」ボタンを押すと、新規にExcelのBookを、そのPath、ファイル名、シート名で作成する。その後、そのシートにデータを書き込むという作業をしたいのです。
AccessのデータをExcelの任意のシートを開いて書き込むという部分のVBAコードはわかりますので、新規Book作成部分のコードがわかるかたお願いします。
Office97を使用しています。
No.3ベストアンサー
- 回答日時:
プロジェクト→参照設定でMicrosoft Excel *.* ObjectLibraryにチェックを入
れて下さい。
オブジェクトへの参照を格納する変数を事前バインディング。
変数にオブジェクトの参照を代入します。Addメソッドを使って新規workbookと
worksheet オブジェクトを作成します。
値を代入し名前を付けて保存してオブジェクトを開放する。という流れで良いと
思います。
Private Sub Command1_Click()
On Error Resume Next
Dim xlApp As Excel.Application
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)
' Excel のセルに値を代入します。
xlSheet.Cells(1, 1).Value = " "
' Worksheet を名前をつけて保存します。ダイアグボックス等を使用して
パスやBook名など入力できるようにしてもOKです。
xlSheet.SaveAs "c:\Temp.xls"
xlApp.Quit
Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
End Sub
こんな感じでしょうか。
No.2
- 回答日時:
エクセルのツール-マクロ-マクロの記録で
エクセルのファイル-新規作成の操作をすれば、
Workbooks.Add
ActiveCell.FormulaR1C1 = "aaa"
Range("A2").Select
ActiveWorkbook.SaveAs Filename:="C:\My Documents\ccc3.xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
となります。
これをそっくりxlapp=CreateObject"Excel.Application")
の後にいれれば良いです。
ActiveCell.FormulaR1C1 = "aaa"は例でいれただけで、
実質シート内容を作成は
ActiveWorkbooks.Worksheets("Sheet1").Range("a1")=
とかで行う。
最初これを読んだとき良くわからなかったのですが、後のO_cyanさんの回答と見比べてやっと意味がわかりました。ありがとうございます。
No.1
- 回答日時:
Workbooks.Add で新規に Book を作成します。
シート名については、新規に作成された Workbook は、所定の数のシートを持って作成されるので、
シート数がひとつになるまで ActiveSheet.Delete を繰り返し、ひとつになったら
シート名をお好みのに変える、という感じでしょうか。
SaveAs で保存すれば、パスとファイル名は指定できますね。
Dim excel As Object
excel = CreateObject("Excel.Application")
Workbooks.Add
Do While Sheets.Count <> 1
ActiveSheet.Delete
Loop
ActiveSheet.Name = "sheet name"
' ここで、シートに対して処理を ごにょごにょ
excel.SaveAs "d:\test.xls"
excel.Application.Quit
excel = Nothing
# 全然、試してません
試してみました。いっぱいコレクションが無いとか変数が定義されていません。みたいなエラーが出まして、改めてdimで宣言したりしたんですが、結局うまくいきませんでした。もう少し自分にテクニックがあれば何とかできそうなもんなんですが・・・
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) EXCEL ActiveX コマンドボタンで実行する前にいったんmsgBoxで確認を求めたい 1 2022/07/06 19:41
- Excel(エクセル) マクロか関数で処理したいのですが、教えて頂けませんか。 8 2022/10/31 15:18
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) 【マクロ】同じフォルダ内にある複数ブックから1つのブック内の1シートにデータを集めたい 6 2022/09/28 18:16
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
-
4
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
5
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
6
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
7
Accessのスプレッドシートエクスポートで、シートが追加されてしまう
Access(アクセス)
-
8
Access VBAからExcelシートの削除
Excel(エクセル)
-
9
ACCESSVBA からExcelの他ブックへコピーの方法
Visual Basic(VBA)
-
10
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
11
accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー
Access(アクセス)
-
12
Accessにインポートしたら並び順が変わっちゃった
Access(アクセス)
-
13
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
14
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
15
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
16
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
17
Access エクセルシート名変更
その他(プログラミング・Web制作)
-
18
Access VBA標準モジュールについてです。
Access(アクセス)
-
19
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
20
ACCESSのVBAにてExcelに行を追加したい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access-VBAでExcelファイ...
-
エクセルVBAでオブジェクトが必...
-
エクセルマクロ(超初心者)
-
VBAの書き方を教えてください 2
-
Auto_Openマクロ
-
vbaアニメーションについて
-
エクセルで品番を入れると、そ...
-
Excelで、あるセルの値に応じて...
-
「段」と「行」の違いがよくわ...
-
VBAマクロ実行時エラーの修正に...
-
エクセルで離れた列を選択して...
-
EXCELのSheet番号って変更でき...
-
【Excel関数】UNIQUE関数で"0"...
-
Worksheets メソッドは失敗しま...
-
B列の最終行までA列をオート...
-
VLOOKUPの列番号の最大は?
-
特定の文字がある行以外を削除...
-
URLのリンク切れをマクロを使っ...
-
エクセル 上下で列幅を変えるには
-
マクロ1があります。 A1のセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAでオブジェクトが必...
-
エクセルのVBAについて教えてく...
-
コンボボックスへ降順に表示す...
-
エクセルを共有にすると、シー...
-
エクセルマクロ(超初心者)
-
Access-VBAでExcelファイ...
-
複数シートを一括で保護を掛け...
-
エクセルマクロ 変数をワーク...
-
Excell VBA にて配列に定数を代...
-
マクロのコマンドボタン《Activ...
-
マクロ実行後、画面がちかちか...
-
エクセル2013
-
エクセルのマクロ(大量データ...
-
エクセルで品番を入れると、そ...
-
エクセルVBAを勉強中なのですが...
-
EXCEL【VBE】 範囲別にその...
-
エクセルVBA 別シートの最終セ...
-
excelのvbaでのシート指定が時...
-
VBAでVlookup機能を使うときに...
-
エクセル2007 複数のワークシ...
おすすめ情報