teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

追記

2021/11/18 08:54

投稿

mnbwqz
mnbwqz

スコア74

title CHANGED
File without changes
body CHANGED
@@ -36,4 +36,13 @@
36
36
 
37
37
  End Sub
38
38
  ```
39
- (追記)ご回答ありがとうございます。コードは、メインレポートの詳細セクションのフォーマット時に記述しています。VBAで取得して、メインレポートの商品ごとの縦罫線の長さの計算(各商品の販売日数に応じて変わる)に利用したいと思っています。
39
+ (追記)ご回答ありがとうございます。コードは、メインレポートの詳細セクションのフォーマット時に記述しています。VBAで取得して、メインレポートの商品ごとの縦罫線の長さの計算(各商品の販売日数に応じて変わる)に利用したいと思っています。
40
+
41
+ (追記)
42
+ ご回答ありがとうございます。
43
+ エラートラップのご説明参考になります!
44
+ Errオブジェクトというものを利用すればよいのですね!
45
+
46
+ >あるいは、サブレポートの高さに合わせたいなら、Me.[サブレポート].Height で取得できます(印刷時イベントでないとダメだったかも)。
47
+
48
+ 仰る通り、フォーマット時イベントでは拡大が反映されずデザインビューで配置した時のままの大きさが返されました。印刷時イベントでは拡大が反映され数値が変化しました。VBAでの罫線の描画処理も印刷時イベントでするように変更しました。[サブレポート]![販売日数]の取得からの一連の処理が減るので助かります。

1

追記

2021/11/18 08:54

投稿

mnbwqz
mnbwqz

スコア74

title CHANGED
File without changes
body CHANGED
@@ -1,14 +1,14 @@
1
- レポート上に各商品(商品A~商品C)の販売日数を表示するためのテキストボックスがあります。各テキストボックスにはコントロールソースとしてサブレポートで集計した販売日数を表示ており、販売実績のない商品Cの場合のエラー処理ため、以下の内容が設定されており、正しく表示されます
1
+ レポート上に各商品(商品A~商品C)の販売日数を表示するためのテキストボックスがあります。各テキストボックスにはコントロールソースとして次のように設定しています。サブレポートのテキストボックス「販売日数設定し、販売実績のない商品Cの場合のエラー処理も加える。
2
2
  =IIf(IsError([サブレポート]![販売日数]),0,[サブレポート]![販売日数])
3
3
 
4
4
  レポート
5
5
  |商品|販売日|販売日数|
6
6
  |:--|:--:|--:|
7
7
  |商品A|1/5|3|
8
- |商品A|1/7|
8
+ ||1/7|
9
- |商品A|1/9|
9
+ ||1/9|
10
10
  |商品B|1/5|2|
11
- |商品B|1/6|
11
+ ||1/6|
12
12
  |商品C||0|
13
13
 
14
14
 
@@ -24,9 +24,16 @@
24
24
 
25
25
  一方、VBAで、サブレポートのテキストボックス「販売日数」を参照して各商品の販売日数を取得しようとする場合に、商品Cの場合のエラーを処理するため、下記のコードを書いても、「実行時エラー'2427'指定した式には値がありません。」が表示されます。どのように変更すればエラーを処理できますでしょうか。「[サブレポート]![販売日数].value」としても同じでした。よろしくお願いします。
26
26
  ```VBA
27
+ Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
28
+
29
+ (罫線を引く処理)
30
+
27
31
  If IsError([サブレポート]![販売日数]) Or Isnull([サブレポート]![販売日数]) Or IsEmpty([サブレポート]![販売日数]) Then
28
32
  Debug.Print 0
29
33
  Else
30
34
  Debug.Print [サブレポート]![販売日数]
31
35
  End If
36
+
37
+ End Sub
32
- ```
38
+ ```
39
+ (追記)ご回答ありがとうございます。コードは、メインレポートの詳細セクションのフォーマット時に記述しています。VBAで取得して、メインレポートの商品ごとの縦罫線の長さの計算(各商品の販売日数に応じて変わる)に利用したいと思っています。