Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


20701 / 76732 ←次へ | 前へ→

【61444】clickイベントへの引数の渡し方
質問  satsuki  - 09/5/8(金) 14:45 -

引用なし
パスワード
   スレッド61292で以前質問させて頂いた内容に、新たな修正を加えたく、
ご質問させて頂きます。

修正する度に行数が変わるエクセルシートを印刷するため、
改ページ位置をその都度指定して印刷できるよう、
ユーザーフォームで改ページの指定を促すようにしました。

下記のように教えて頂き、上手く作動しています。
'標準モジュール
Sub insatsu()
  Dim gyo As Long
  Dim Ws As Excel.Worksheet
  Dim HPBreak As Excel.HPageBreak

  Set Ws = ActiveSheet
  gyo = 50

  ActiveSheet.DisplayPageBreaks = True
  
  UserForm1.Show vbModeless

End Sub

' Userformモジュール
Private Sub CommandButton1_Click()
  ' 行追加処理 ...
End Sub

上記の「行追加処理」以外にも、別プロシージャで、
罫線を引く処理や印刷処理などを行っています。
シートによって罫線位置やタイトル範囲が違うので変数に入れるように
したのですが、同じような変数(gyoやTitleAreaなど)が何度も出てくるので、
まとめようとしてグローバル変数を宣言するべく、使い方を検索していましたら、
グローバル変数の弊害について書かれており、極力避けるようにとのことでした。

そのサイトで推奨されていたのは、ユーザー定義型でしたので、
下記のように宣言し、引数渡しをするよう設定いたしましたが、
call insatsu(MyShokichi As Shokichi)によって呼び出される
UserForm1のclickイベントには上手く引数を渡すことができません。
あちこち調べましたが、わかりませんでしたので、
どなたかご教示お願いいたします。

Type Shokichi  
 TitleArea As Range
 TitleGyo As Integer
 gyo As Integer
 MaxRetsu as Integer
   ・
   ・
End Type

Sub settei()
  
 Dim MyShokichi As Shokichi

 Dim Ws As Excel.Worksheet
 Dim HPBreak As Excel.HPageBreak

 Set Ws = ActiveSheet
    
 Set MyShokichi.TitleArea = '範囲
 Set MyShokichi.TitleGyo = '数値
   ・
   ・
 call insatsu(MyShokichi As Shokichi)

end sub

1 hits

【61444】clickイベントへの引数の渡し方 satsuki 09/5/8(金) 14:45 質問
【61446】Re:clickイベントへの引数の渡し方 neptune 09/5/8(金) 15:04 発言
【61447】Re:clickイベントへの引数の渡し方 satsuki 09/5/8(金) 16:12 質問
【61448】Re:clickイベントへの引数の渡し方 neptune 09/5/8(金) 16:47 回答
【61450】Re:clickイベントへの引数の渡し方 satsuki 09/5/8(金) 17:41 質問
【61451】Re:clickイベントへの引数の渡し方 neptune 09/5/8(金) 18:26 回答
【61462】Re:clickイベントへの引数の渡し方 satsuki 09/5/11(月) 9:49 お礼

20701 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free