Access2010使用。
AccessのクエリからExcelにエクスポートした際、罫線などの体裁を整えて出力したいと思っています。
データは下記のコードでなんとか出るようになりましたが、このコードの中に罫線を引くコードを
入れる方法がどうしてもわかりません。
検索してあれこれ試しましたが「オブジェクトがない」や「サポートしてない」などエラーメッセージ
が出てしまい、VBAの基礎知識がない私にはどうしてもわかりませんでした。
どうかアドバイスお願いいたします。
(クエリ名は Q_ABC とします)
やりたいことは
・データがある行列に格子線を引き、1行目の項目列の下は二重線、外側は太線にしたい。
・行の高さを数値で指定したい。
です。なお、行数はその都度増えます。
また、できれば
印刷する際の設定で用紙を「A3横」で、常に横1ページに入るように縮小率を設定しておきたい
のですが可能でしょうか?
どうぞよろしくお願いします。
Private Sub コマンド0_Click()
Set xlapp = CreateObject("Excel.application")
Dim xlbook As Excel.Workbook
Dim xlsheet As Excel.Worksheet
Dim rs As New ADODB.Recordset
Dim objEXCEL As Object
Dim nYLINE As Integer
Dim nXLINE As Integer
Dim nRCNT As Integer
Dim strWORK As String
Set xlApp = CreateObject("Excel.Application")
Set objEXCEL = CreateObject("Excel.Application")
objEXCEL.Visible = True
objEXCEL.Workbooks.Add
objEXCEL.sheets.Add
re.Open "Q_ABC", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
'見出しを書き込む
objEXCEL.Range("A1") = "ID"
objEXCEL.Range("B1") = "氏名"
objEXCEL.Range("C1") = "住所"
== 以下T列まで省略 ==
'項目名をセルの中央に
objEXCEL.Range("A1:T1").HoraizontalAlignment = xlHAilignCenterAcrossSelection
Dim yLINE As Integer '行カウンター
yLINE = 2 'ループ処理
While rs.EOF = False
'accessからデータのセット
objEXCEL.Cells(yLINE, "A") = rs.Fields("ID")
objEXCEL.Cells(yLINE, "B") = rs.Fields("氏名")
objEXCEL.Cells(yLINE, "C") = rs.Fields("住所")
== 以下T列まで省略 ==
rs.MoveNext
yLINE = yLINE + 1
Wend
'シートの列幅の自動調整
objEXCEL.Cells.EntireColumn.AutoFit
rs.Close
Set rs = Nothing
End Sub
No.1
- 回答日時:
罫線や行の高さは、Range、Cells に対して設定を行います。
罫線の例)
objEXCEL.Range("セル範囲").Borders(罫線の位置).LineStyle = 罫線の種類
objEXCEL.Range("セル範囲").Borders(罫線の位置).Weight = 罫線の太さ
*罫線の位置
Excel.XlBordersIndex.xlEdgeTop(又は 8)
Excel.XlBordersIndex.xlEdgeBottom(又は 9)
Excel.XlBordersIndex.xlEdgeLeft(又は 7)
Excel.XlBordersIndex.xlEdgeRight(又は 10)
*罫線の種類
Excel.XlLineStyle.xlContinuous(又は 1)
Excel.XlLineStyle.xlDash(又は -4115)
Excel.XlLineStyle.xlDashDot(又は 4)
Excel.XlLineStyle.xlDashDotDot(又は 5)
Excel.XlLineStyle.xlDot(又は -4118)
Excel.XlLineStyle.xlDouble(又は -4119)
Excel.XlLineStyle.xlLineStyleNone(又は -4142)
*罫線の太さ
Excel.XlBorderWeight.xlHairline(又は 1)
Excel.XlBorderWeight.xlMedium(又は -4138)
Excel.XlBorderWeight.xlThick(又は 4)
Excel.XlBorderWeight.xlThin(又は 2)
行の高さの例)
*1行目を変更したい場合、A1、B1・・・1行目のセルを指定してあげます。
objEXCEL.Range("A1").RowHeight = 30
列幅の例)------ 質問にはなかったのですが、とりあえず・・・
*1列目を変更したい場合、A1、A2・・・1列目のセルを指定してあげます。
objEXCEL.Range("A1").ColumnWidth = 30
頑張って下さい。
No.2ベストアンサー
- 回答日時:
>> 印刷する際の設定で用紙を「A3横」で、常に横1ページに入るように縮小率を設定しておきたい
のですが可能でしょうか?
を忘れていました。
Excel の印刷がらみの設定は PageSetup を変更して行います。
' ズーム設定(自動で行うので設定はしない)
objEXCEL.sheets(1).PageSetup.Zoom = False
' ページの高さに合わせる
objEXCEL.sheets(1).PageSetup.FitToPagesTall = False
' ページの幅に合わせる(下記は横のページを1ページで納める設定です)
objEXCEL.sheets(1).PageSetup.FitToPagesWide = 1
' 用紙サイズの設定(A3 サイズ)
' その他の定数については、http://msdn.microsoft.com/ja-jp/library/office/f … を参照
objEXCEL.sheets(1).PageSetup.PaperSize = xlPaperA3
' 印刷方向(横向き設定、縦の場合は xlPortrait)
objEXCEL.sheets(1).PageSetup.Orientation = xlLandscape
hiro-kayuさん、お礼が遅くなってすみませんでした。
なかなかうまくいかなかったのですが、objEXCELの宣言を消して
教えていただいた設定の中の、objEXCELの部分をすべてxlsheetにしたところ
やっと今日うまくいきました。
2回に渡って丁寧な回答ありがとうございました!
これからもこれをいろいろ活用していきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 複数csvを横に追加していくマクロについて 2 2023/04/25 09:19
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) フォルダの場所を可変にしたいです(マクロ) 4 2023/05/11 10:00
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
AccessVBAでExcelを起動し、罫線を引きたいのですが、Exc
Visual Basic(VBA)
-
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
-
4
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
5
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
6
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
7
アクセスでエクセルに出力する際のファイル名を日付に
その他(Microsoft Office)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
10
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
11
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
12
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
13
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
14
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
15
ACCESSのVBAにてExcelのシートをコピーしたい
その他(データベース)
-
16
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
17
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
18
フォームのテキストボックスなどの変数名を標準モジュールから参照は可能か?
Visual Basic(VBA)
-
19
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
20
アクセスのレポートをマクロでEXCELに出力したいのですが
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの罫線がパワポに貼り...
-
A4用紙を8分割したい
-
Excelにて、ページ毎の外枠に罫...
-
Excel で改ページをしたところ...
-
[Excel]画面上で表示されても、...
-
印刷ページが急に数100ページに...
-
wordで1ページに同じ文章を4つ...
-
エクセルファイルを印刷すると...
-
エクセル 突然「点線」?が出...
-
accessのレポートを20行固定に...
-
印刷時、改ページごとの下枠に...
-
エクセルに勝手に罫線が出てき...
-
Wordで罫線が引きたい 罫線ツ...
-
Excel(エクセル)のファイル印...
-
エクセルで透明の罫線を引けま...
-
excel印刷で改頁をする時に罫線...
-
Excel2013で薄い線を引くには
-
ページの1番下の罫線が印刷さ...
-
ExcelをPowerPointに挿入すると...
-
エクセルの表の線が消える
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの罫線がパワポに貼り...
-
A4用紙を8分割したい
-
印刷ページが急に数100ページに...
-
Excelにて、ページ毎の外枠に罫...
-
エクセル 突然「点線」?が出...
-
Excel で改ページをしたところ...
-
wordで1ページに同じ文章を4つ...
-
【word】印刷レイアウトでグレ...
-
エクセルで表に書いた黒の罫線...
-
エクセルファイルを印刷すると...
-
エクセルで罫線の太さを変えて...
-
Word差し込み印刷 ラベルの枠を...
-
excel印刷で改頁をする時に罫線...
-
EXCELの罫線をもっと細くしたい...
-
Excel 2007印刷で上の頁の線が出る
-
ワード文書の枠線をどうしたら...
-
[Excel]画面上で表示されても、...
-
エクセルで透明の罫線を引けま...
-
印刷時、改ページごとの下枠に...
-
accessのレポートを20行固定に...
おすすめ情報