お久しぶりでございます。
自己流でVBAを記述したんですが、うまく動作が確認できません。
ご指摘いただけると助かります。
現状
accessデータベースより、エクセルに条件抽出したデータでテーブルを作りました。
現在VBAコードにて、テーブルの更新があった際
テーブルの行数に応じて、別シートの印刷範囲を設定したいと考えているのですがうまくいきません。
1つのページに、1つの会社情報が記入できる書式があり
sheet"参照データ"から、会社情報をsheet"会社情報"・sheet"通知書"の書式の中の該当する欄にデータを飛ばしています。
記述場所は、shhet"参照データ”にしております。
Private Sub Worksheet_TableUpdate(ByVal Target As TableObject)
Dim sh As Worksheet
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Dim IH As Long
Set sh = Worksheet("参照データ")
Set sh1 = Worksheet("会社情報")
Set sh2 = Worksheet("通知書")
IH = Application.WorksheetFunction.CountA(Range("B2, .end(xlup)"))
sh1.PageSetup.PrintArea = "A1:AX" & IH * 62
sh2.PageSetup.PrintArea = "A1:AQ" & IH * 43
End Sub
No.1ベストアンサー
- 回答日時:
こんにちは。
IH = Application.WorksheetFunction.CountA(Range("B2, .end(xlup)"))
これは、ありえませんね。
厳密に書けばこういうことになるとは思います。普通はアクティブシートで最後のセルを取得するので、With Sh などや、「.(コンマ)」は省略してしまいますが。
With Sh
IH = WorksheetFunction.CountA(.Range("B2", .Cells(Rows.Count, 2).End(xlUp)))
End With
'--continue the next codes--
'------------------
ただ、CountA で取るというのは、大丈夫なのかなとは思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 複数ブックシートごとにデータを統合する方法について 4 2022/05/20 14:23
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ACCESSテーブル2つのデータの...
-
DataAdapterについて教えてくだ...
-
Accessのフォーム上でSQLServer...
-
SPREAD でのデータ連動、更新に...
-
DataTableから条件を満たした行...
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
2つのテーブルから条件に一致...
-
3つ以上のテーブルをUNIONする...
-
重複するキーから一番古い年月...
-
[ BETWEEN ] vs [ >= AND <= ]
-
ACCESS 一番最新の日付の金額...
-
ACCESS2007 フォーム 「バリア...
-
Access VBA Me.Requery レコー...
-
accessテーブル作成クエリを実...
-
accessのロック
-
ManagementStudioからのデータ削除
-
Accessのリンクテーブルについて
-
オラクルではできるのにSQLSERV...
-
Access VBA [リモートサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DataTableから条件を満たした行...
-
ACCESSテーブル2つのデータの...
-
Delphiのデータベースについて
-
DataAdapterについて教えてくだ...
-
Accessのフォーム上でSQLServer...
-
SPREAD でのデータ連動、更新に...
-
VBA 印刷範囲の設定方法
-
ORACLEデータをACCESSへインポ...
-
「マスタ」と「テーブル」の違...
-
[ BETWEEN ] vs [ >= AND <= ]
-
2つのテーブルから条件に一致...
-
ACCESSのSQLで、NULLかNULLでな...
-
オラクルではできるのにSQLSERV...
-
SELECT時の行ロックの必要性に...
-
3つ以上のテーブルをUNIONする...
-
SELECT文でのデッドロックに対...
-
2つの項目が重複するレコード...
-
Access VBA [リモートサーバー...
-
数百万件レコードのdelete
-
ACCESS2007 フォーム 「バリア...
おすすめ情報
ありがとうございます。早速是正させていただきました。
countAを使用した動機としては、テーブル内の会社の情報数=印刷するページ数
なので
シート”会社情報”では1ページ62行 X 会社情報数
シート”通知書”では1ページ43行 X 会社情報数で
印刷範囲を設定できるかと思ったのです。