Excel VBA質問箱 IV

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

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


4688 / 13644 ツリー ←次へ | 前へ→

【55048】ユーザーフォーム上での検索・抽出について S・T 08/4/12(土) 23:16 質問[未読]
【55055】Re:ユーザーフォーム上での検索・抽出につ... ponpon 08/4/13(日) 0:54 発言[未読]
【55174】Re:ユーザーフォーム上での検索・抽出につ... S・T 08/4/20(日) 8:01 お礼[未読]

【55048】ユーザーフォーム上での検索・抽出につい...
質問  S・T  - 08/4/12(土) 23:16 -

引用なし
パスワード
   以前、質問したのですが解決しません。どなたかアドバイスお願いします。

入力フォーム上でID番号を検索して、そのID番号の入力フォームを表示させたい。
下記はACCESSデータベースを活用したもので問題なく動作しますが、この操作をEXCELのSheet1(A列)にID番号1.2.3・・・をVBEで作成した入力フォーム上で検索してフォーム上でID番号を検索して、そのID番号の入力フォームを表示させるコードがよくわかりません。どのようにすればよいのですか?
初心者で、うまく説明できませんが、ACCESSデータベースではなくEXCELのWorkSheet上で入力フォームを作成して検察→そのID番号の入力フォームへ移動できればよいのです。宜しくお願いします。

Private Sub mnuEdiFind_Click()
   Dim IDNo As String
   Dim bmark As Variant
   Dim ret As Integer
   
   bmark = deMain.rscmdMaster.Bookmark
    IDNo = InputBox("ID番号を入力してください", "ID検索")
   
    If IDNo = "" Then
    Exit Sub
 End If
   deMain.rscmdMaster.MoveFirst
   deMain.rscmdMaster.Find "ID = " & CLng(IDNo)
      
   If deMain.rscmdMaster.EOF Then
   Beep
   ret = MsgBox("該当するID番号が見つかりません.", vbOKOnly, "ID検索")
   deMain.rscmdMaster.Bookmark = bmark
   
 End If
   
End Sub

【55055】Re:ユーザーフォーム上での検索・抽出に...
発言  ponpon  - 08/4/13(日) 0:54 -

引用なし
パスワード
   前回の質問でかみちゃんさんも言ってますが、
Sheet1がどのようなレイアウトになっているかわからないので、
たとえば、
    A    B    C    D    E
1    ID番号    氏名    年齢    住所    
2    1      あ      23    東京    
3    2      い      43    大阪    
4    3      う      65    愛知    
5    4      え      34    島根    
6    5      お      23    福岡    
7    6      か      34    山口    
8    7      き      24    東京    
9    8      く      52    大阪    
10    9      け       43    愛知    
11    10     こ       54    島根    
12    11     さ       52    福岡    
13    12     し       75    山口    
14                     

と、なっているとして

ユーザーフォームに
TextBoxを4つ と CommandButtonを2つ貼り付けて

 TextBox1は、ID入力用
 TextBox2は、氏名表示用
 TextBox3は、年齢表示用
 TextBox4は、住所表示用
 
 CommandButton1は、検索用
 CommandButton2は、終了用
フォームモジュールに

Option Explicit

Private Sub CommandButton1_Click()
  Dim FR As Variant
  
  If Me.TextBox1.Value = "" Or Not IsNumeric(Me.TextBox1.Value) Then
    Me.TextBox1.Value = ""
    MsgBox "ID番号を入力してください"
   
    Exit Sub
  Else
    With Sheets("Sheet1")
      FR = Application.Match(Val(Me.TextBox1.Value), .Range("A:A"), 0)
      If IsError(FR) Then
        MsgBox "入力されたIDは一致するものはありません"
        Exit Sub
      Else
        Me.TextBox2.Value = .Cells(FR, 2).Value
        Me.TextBox3.Value = .Cells(FR, 3).Value
        Me.TextBox4.Value = .Cells(FR, 4).Value
      End If
     End With
   End If
End Sub

Private Sub CommandButton2_Click()
  Unload Me
End Sub

と こんな感じになりますが・・・

【55174】Re:ユーザーフォーム上での検索・抽出に...
お礼  S・T  - 08/4/20(日) 8:01 -

引用なし
パスワード
   仕事で遅くなりましたが、丁寧なアドバイスでうまくできました。とても感謝してます。有り難うございました。

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