Excel VBA質問箱 IV

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

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


55563 / 76732 ←次へ | 前へ→

【25941】Re:前回の値を保持する
発言  ichinose  - 05/6/19(日) 8:56 -

引用なし
パスワード
   GEN さん、かみちゃんさん(次回から、かみちゃんでよいですか?)
おはようござます。

>非常に早急なご返事ありがとうございます。
>内容をもう少し具体的に書きますと下記のような書き方だと、ダイアログを開くとデータの先頭セルを表示することとなってしまいます。ここをさわることで、前回ダイアログ終了前の表示をおこなうことができるのでしょうか。
>とりあえず、「ブックは、閉じないならば、Public変数にフォームを閉じるときの値を一時保存しておけばいい」という回答を参考にもう少し考えてみます。
まず、一箇所??というところもありますが、


>
>Sub Hyouji(Myline As Integer)

'データベースの指定された行の情報をダイアログに表示する

'ということでしたら、このプロシジャーを変更するのには反対です。
'このMylineを呼び出すプロシジャー側でMylineに表示する
'データを設定するということです。
'そうしないとこのプロシジャーの汎用性が狭まってしまいます。
>  Dim MyRows As Integer
>  MyRows = Form編集.Scroll移動.Value + 3
>  Cells(MyRows, 1).Activate  'レコードの先頭セルの取得
>  'セルの値をコントロールに表示する
>  Form編集.Textタイトル.Text = ActiveCell.Value
>  ActiveCell.Offset(0, 1).Activate
>  Form編集.Textアーティスト.Text = ActiveCell.Value
>  
>  If MaxLine = 0 Then   'レコードが存在しない場合
'    ↑これは、ひょっとしてMyline?
>    Form編集.Label行数 = "1/1"
>  Else          'レコードが存在する場合
>    Form編集.Label行数 = Form編集.Scroll移動.Value _
>              & "/" & Myline
>  End If
>End Sub

ここでいうMylineというパラメータ変数の実態である変数を
例えば、セルA1(どこかのシートの・・)に保存する仕様にしたとすると、

ユーザーフォームを閉じるタイミングで保存します。
Userform_terminateまたは、UserForm_QueryCloseが良いかと思います。
勿論、セルA1に値を移行した後に、ブックの保存ですよ!!


これでユーザーフォームを表示する時につまり上記のプロシジャーを
呼び出しているプロシジャーでMylineにセルA1の値を設定して
HyoujiをCALLする という方法です。

検討してみて下さい。
2 hits

【25935】悩んでます。 GEN 05/6/18(土) 15:52 質問
【25936】Re:前回の値を保持する かみちゃん 05/6/18(土) 17:12 発言
【25938】Re:前回の値を保持する GEN 05/6/18(土) 19:24 お礼
【25941】Re:前回の値を保持する ichinose 05/6/19(日) 8:56 発言

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