AccessVBAでExcelを起動し、罫線を引きたいのですが、ExcelVBAの罫線を引く関数をAccessVBAで記述するとエラーになります。どういう記述をすればよいのでしょうか?
(例)
以下の様にすると、例えば「xlNone」は宣言されていない等のエラーになります。
(ちなみに、Excelの起動と値の入力はできています)
Range("A4:C6").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
No.2ベストアンサー
- 回答日時:
RangeとかxlDiagonalDownはExcelのVBA環境だから
使えるオブジェクトや定数です。Access環境では使用
できません。
Excelを他のアプリケーションからCOMモデルで使用
する場合を考えると、以下の構造になります。
Application
Workbooks
Workbook
WorkSheets
WorkSheet
Cells
Range
従って、Excelでやる時のようにRangeを単独で指定
できません。(Excelの時でも、所属を明確にすべき)
解決方法(一例)は以下の通り。
(1)参照設定に「Microsoft Excel x.x Object Library」を追加
x.xはバージョン
(2)全てのExcelオブジェクトはApplicationから明示的に指定する
Dim A As Excel.Application
Dim B As Excel.Workbook
Dim S As Excel.WorkSheet
Dim R As Excel.Range
Set A = New Excel.Application
Set B = A.Workbooks("hoge.xls")
Set S = B.WorkSheets("Sheet1")
Set R = S.Range("A4:C6")
(3)できればSelectionを使わない
Selection.Borders → R.Borders
尚、Excel固有の定数は参照設定を追加することで使用可能になります。
nda23さん
参照設定すればよかったのですね!
それと「ExcelオブジェクトはApplicationから明示的に指定する」は必須でした。
ご回答どうもありがとうございました。
No.1
- 回答日時:
>例えば「xlNone」は宣言されていない等のエラーになります。
組み込み定数の変わりに数値で指定すればどうでしょうか(未確認ですが)
>Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalDown).LineStyle = -4142
または
Selection.Borders(5).LineStyle = -4142
watabe007さん:
全部数値にしたらできました!! v(^ ^)/
なので関数内に、Const xlAutomatic = -4105 のように全部宣言することにしました。
どうもありがとうございました。 助かりました。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 罫線について B列3行目から21行毎にデータがはいります。 データがはいったらデータが入った 6 2022/11/15 17:22
- Visual Basic(VBA) オートフィルタで抽出結果に 罫線をひく方法 1 2022/07/13 13:08
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- その他(Microsoft Office) 選択行の列範囲に二重線を引く 3 2022/06/08 12:21
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Excel(エクセル) 日付で矢印マクロ 4 2023/07/25 16:47
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
AccessからExcelに罫線付で出力したい
Excel(エクセル)
-
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
アクセスからエクセルのシートを追加して、名前をつける方法
Excel(エクセル)
-
-
4
AccessVBAで作成したExcelファイルを削除する方法は?
Visual Basic(VBA)
-
5
アクセスvbaでエクセルブックを保存
その他(Microsoft Office)
-
6
Access VBAから使用したExcelプロセスを閉じる方法について
Visual Basic(VBA)
-
7
Access エクセルシート名変更
その他(プログラミング・Web制作)
-
8
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
9
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
10
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
11
ACCESSのVBAにてExcelのシートをコピーしたい
その他(データベース)
-
12
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
13
ACCESSのVBで、エクセルファイルの最終行を取得
Excel(エクセル)
-
14
ACCESSのVBAにてExcelに行を追加したい
その他(データベース)
-
15
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
16
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
17
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
18
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
19
アクセスVBAのMe!と[ ]
Access(アクセス)
-
20
AccessにてExcelの印刷範囲を設定したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
実行時エラー3001「引数が間違...
-
ExcelVBA Range クラスの Page...
-
なぜこんな初歩的なVBAのIf文で...
-
ACCESSのエラーで困っています
-
VBAがブレークモードになっ...
-
Application.ActiveInspectorで...
-
職場から目的地までの距離集計
-
VBS実行時エラー オブジェクト...
-
DataGridView からの値取得に関...
-
Excel2019 ワークシートのコピ...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
VBAでのエラー
-
ASP.NET OleDbConnectionが定義...
-
Access マクロでのテーブル削除
-
一般ODBCエラーについて
-
日本語環境下で作成したマクロ...
-
【Excel VBA】マクロをボタンに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
エクセルエラー13型が一致しま...
-
【Excel VBA】マクロをボタンに...
-
VBAでのエラー
-
マクロについて教えてください...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー3001「引数が間違...
-
ExcelVBA Range クラスの Page...
-
VBS実行時エラー オブジェクト...
-
EXCEL VBAマクロ中断でデバッグ...
-
Outlook.ApplicationをCreateOb...
-
VBSで変数の宣言はできないので...
-
VBAのコードがエラーになっ...
-
実行時エラー -'-2147417848
-
ADODB.Streamを使用してUTF-8を...
-
EXCEL/VBAで、自分のPCだけエラ...
-
OLEDB.NETで接続できない
-
プロシージャ名の取得
-
VB6+SQL サーバー 2000 で 実行...
おすすめ情報