![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_08.png?e8efa67)
仕事で、VBでDBから取得した値を配列に設定し、それをEXCELで帳票として出力したいのですが、やり方が分かりません。ご存知の方がいましたら、教えていただけますか。
VBからCopyFromRecordsetでRecordsetをEXCELのrangeで出力する方法は見つけたのですが、Recordsetそのままではなく、動的配列に並び替えてEXCELに出力したいと思っています。
EXCELのシートをテーブルと見立てて、SQL文でEXCELにInsertする方法もある聞いたのですが、実際にどのように命令を書けばいいのか分かりません。
ご存知の方、教えていただけますか。
No.1ベストアンサー
- 回答日時:
1.レスキュー花ちゃんのサイトを参考にしてます。
2.ソート等はcells操作をしてください。
3.VB.NETで動作確認してますがVB6は少し訂正の要
ありです。
'------配列設定-----
Dim app As Object 'エクセルアプリケーションの定義
Dim book As Object 'ブックの定義
Dim sheet As Object 'シートの定義
'各セルの値を取得
Dim filepath As String = "C:\Temp.xls"
Dim j As Integer
'------エクセルファイルを開く&表示-------
app = CreateObject("Excel.Application")
app.application.visible = True
book = app.Workbooks.Open(filepath) 'エクセルファイルのopen
sheet = book.Worksheets(1)
'-----エクセルデータの書き込み------
For i = 1 To 20 rem 適宜数値は変更してね
For j = 1 To rs.fields.count
sheet.cells(i, j).value = rs.fields(j - 1).value
Next
rs.MoveNext()
Next
app.DisplayAlerts = False '保存時の問合せのダイアログを非表示に設定
sheet.SaveAs(filepath) 'ファイルに保存
app.DisplayAlerts = True '元に戻す
MRComObject(sheet) 'xlSheet の開放
REM xlSheets(の開放)
book.Close(False) 'xlBook を閉じる
MRComObject(book) 'xlBook の開放
'xlBooks の開放
app.Quit() 'Excelを閉じる
MRComObject(app) 'xlApp を開放
End Sub
Private Sub MRComObject(ByRef objCom As Object)
'COM オブジェクトの使用後、明示的に COM オブジェクトへの参照を解放する
Try
'提供されたランタイム呼び出し可能ラッパーの参照カウントをデクリメントします
System.Runtime.InteropServices.Marshal.ReleaseComObject(objCom)
Catch
Finally
'参照を解除する
objCom = Nothing
End Try
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- Excel(エクセル) Power Query でのデータの一括修正について 2 2022/05/10 02:00
- Excel(エクセル) Excelにの以下の設定方法について教えてください! C列にデータ入力の設定をしています。(出、入を 3 2022/06/22 01:33
- Excel(エクセル) Excelで文字列にランダムに記号を入れる事は出来ますか⁇Excelで作っている名簿リストをプリント 8 2022/09/14 08:11
- Excel(エクセル) Excelで、あるセルだけ入力させたい、オートフィルターも使わせたい際のシートの保護 2 2023/02/23 15:14
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Access(アクセス) accessでexcelを読み込む時のデータ型 1 2022/03/28 19:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
このQ&Aを見た人はこんなQ&Aも見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
VB.NETの配列にExcelから読み込んできたデータを格納したい
Visual Basic(VBA)
-
VBの処理結果をEXCELシートへ出力したい
Visual Basic(VBA)
-
エクセルの列一括書き込み
Visual Basic(VBA)
-
-
4
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
-
5
VBからExcelのセルの書式設定を変更する
Visual Basic(VBA)
-
6
VBからEXCELのセルの値を取得する方法
Visual Basic(VBA)
-
7
【VB】コンボボックスにデータベースから取り出した値を入れたい
Visual Basic(VBA)
-
8
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
9
エクセルのセル最終行取得
Visual Basic(VBA)
-
10
vb.netによるEXCEL値取得
Microsoft ASP
-
11
VB2010でExcelの行をコピーして挿入する
Visual Basic(VBA)
-
12
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
エクセルでXY座標に並べられた...
-
vba フィルター 複数条件 3つ以...
-
Redim とEraseの違いは?
-
デバイスマネージャーの一覧取得
-
構造体配列内の文字列検索のよ...
-
VB6のメモリ解放に関して
-
エクセル VBA 変数を一括で宣言...
-
定数配列の書き方
-
VB.NETにて、構造体へデータを...
-
複数のtextboxの処理を一括で行...
-
VB6で、一次元配列と二次元配列...
-
DBから取得した値を配列へ代入する
-
配列をランダムに並び替えても...
-
エクセルVBAで実行時エラー7、...
-
VBAのワークシート関数で配列の...
-
VBAにて、配列のデータを一度に...
-
エクセルの列一括書き込み
-
CheckBoxの配列化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
Excel2010のinputboxで複数デー...
-
配列の中の最大値とそのインデ...
-
構造体配列の特定のメンバーをF...
-
COBOLの基本的な事なので...
-
構造体配列内の文字列検索のよ...
-
コンボボックスのインデックス...
-
エクセルでXY座標に並べられた...
-
エクセル(VBA)の空白配列の削除...
-
Redim とEraseの違いは?
-
定数配列の書き方
-
VB6のメモリ解放に関して
-
CheckBoxの配列化
-
複数のtextboxの処理を一括で行...
-
Excelのメモリ(配列)の上限は2G...
-
大量の変数を定義するにはどう...
-
OutOfMemoryExceptionの回避策...
おすすめ情報