[[20050131103651]] 『ユーザーフォームを開いた時のスタート位置』(あまちゃん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーフォームを開いた時のスタート位置』(あまちゃん)

 時々お世話になり大変勉強になって非常に感謝しております。
 出納簿を見よう見真似でユーザーフォーム作って使用してますが、
 ファイルを起動した時と、ユーザーフォームを開いた時にカーソルが
 スタートの伝票NOのテキストボックスにゆきません
 手動でクリックして初めています。
 入力を終えて実行ボタンを押してデータを転記した後はデータが
 クリアされて、カーソルは、スタートの伝票NOにゆきます。
 どなたかユーザーフォーム開いた時には、いつもスタートにしている
 伝票NOのボックスにカーソルが行くようになるかご指導をお願いします。
 マクロは下記のようにして使用しています。
 なお、伝票NOのプロパティでTabIndexは0にしてあります。

 Private Sub Workbook_Open()
  Worksheets("入出金").Select
  新規データ入力フォーム.Show
  伝票NO.SetFocus
 End Sub

 Private Sub UserForm_Click()
    新規データ入力フォーム.Show
    伝票NO.SetFocus
 End Sub

 Sub UserForm_Initialize()
 ' 新規伝票入力フォームの初期化
   伝票NO.SetFocus
   ScrollBar1.Max = Range("a3").CurrentRegion.Rows.Count
     ScrollBar1.Value = ScrollBar1.Max
     totextbox (ScrollBar1.Value + 3)
      Label9.Caption = "新規"
 End Sub

 Private Sub 実行ボタン_Click()
     tocell (ScrollBar1.Value + 3)
    伝票NO.Value = ""
    年月日.Value = ""
    科目.Value = ""
    品名.Value = ""
    収入金額.Value = ""
    支払金額.Value = ""
    備考.Value = ""
    ScrollBar1.Max = Range("a3").CurrentRegion.Rows.Count
     ScrollBar1.Value = ScrollBar1.Max
     totextbox (ScrollBar1.Value + 3)
      Label9.Caption = "新規"
    伝票NO.SetFocus
 End Sub

 Sub tocell(行位置 As Long)
   Cells(行位置, 1).Value = 伝票NO.Value
   Cells(行位置, 2).Value = 年月日.Value
   Cells(行位置, 3).Value = 支払先.Value
   Cells(行位置, 4).Value = 科目.Value
   Cells(行位置, 5).Value = 品名.Value
   Cells(行位置, 6).Value = 収入金額.Value
   Cells(行位置, 7).Value = 支払金額.Value
   Cells(行位置, 8).Value = 備考.Value
     伝票NO.SetFocus
 End Sub

 (あまちゃん)
 質問の方法が悪かったでしょうか?
 マクロは基礎的な勉強を行わなくて、VBA書籍の例を参考にして
 何とか作動していますが、ユーザーフォームを開いた時に指定の場所へ
 カーソルが行くようにするのは不可能でしょうか?
 どなたかご指導をお願いします。

 ユーザーフォームで右クリックして、タブオーダーを確認して下さい。

  (INA)


 昨日から色々試してたんですけど、なかなか上手くいかなくて(^_^A;
 ユーザーフォームがアクティブになったらで
Private Sub UserForm_Activate()
    伝票NO.SetFocus
End Sub

 ではどうでしょうか。

 (川野鮎太郎)

(INA)さん 早速ご指示ありがとうございます。
 タブオーダーを確認をしましたところ、伝票NO が一番上にきており、
 その下はTabIndexに指定した通りになっていますが
 まだ他に手落ちがあるでしょうか
 (あまちゃん)


 (川野鮎太郎)さん いちもご指導ありがとうございます。
 早速指示通りおこないましたが、同じくどこにもカーソルがあらわれませんでした。
   (あまちゃん)


 ユーザーフォームをエクスポートして、インポートしてみては?
 それで駄目なら作り直してみては?
 
 tabstop は true ですよね?  
  (INA)


 にゅにゅ・・ダメでしたか_/ ̄|○ il||li

 >tabstop は true ですよね? 
 これに1票。(^_^A;
 (川野鮎太郎)

 -----

 (INA),(川野鮎太郎)さん お手数かけてすみません。

 >tabstop は true とは 伝票NO のプロパティのところですね
 trueになっています。 
 >ユーザーフォームをエクスポートして、インポートしてみては?
 はっきり理解できませんが、新しいファイルにコピーしてやりましたが
 ダメでしたので、作り直してみます。
 すぐやれませんのでご返事は遅くなると思います。
 いろいろありがとうございました。その節はまたよろしくお願いします。
   (あまちゃん)


 気になったのはフレームの有無。
フレーム内のTextBoxのタブオーダーが一番最初になっていても、
全体でフレームのタブオーダーが下位の場合は後回しになるので・・・。
推測違いならご容赦を。
(みやほりん)
 -----

 (みやほりん)ご指示ありがとうございます。
 >全体でフレームのタブオーダーが下位の場合は後回しになるので・・・。
 素人であまり理解できませんが、ダブオーダーを表示しますと
 使用しているいろいろのBoxが出てきますが、最上段に 伝票NO が出ています。
 またこのファイルでユーザーフォームは1つだけです。
 (あまちゃん)


 一度、ユーザーフォーム上のオブジェクトを削除して、作り直してみては?
 その方が早そう・・・
  (INA)
 ---
 (INA),(川野鮎太郎),(みやほりん) 解決いたしました。

 作りなおしたら、うまく作動いたしました。
 時々やり直して良くなることがありましたが、力不足で早く気づかず
 ご三人の方、手数をおかけして誠にすみませんでした。
 御多忙の折本当にありがとうございました。
   (あまちゃん)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.