Excel VBA質問箱 IV

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

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


12372 / 76734 ←次へ | 前へ→

【69884】Re:ユーザーフォーム検索 更新について
発言  ichinose  - 11/9/17(土) 9:33 -

引用なし
パスワード
   ▼hono1215 さん:
おはようございます。

>下記記述で、ユーザーフォームから検索。
>該当データをユーザーフォーム上に呼び出しています。
>ここから、呼び出したデータを修正。元のセルに更新保存を行いたいのですが、可能でしょうか?

提示されたコード内で、ユーザーに検索文字列を入力させ、
その文字列で特定シートの指定セル範囲を検索していますね?
そこで見つかったセルを又は、そのセルのアドレスをデータ修正後まで
保持しておけば、元セルデータを戻すことは可能です。
検索して見つかったセルは、FoundCellという変数に入っていますね?
この変数は、プロシジャーレベル宣言された変数ですから、
CommandButton2_Clickというプロシジャーの実行が終了すれば、変数そのものが
無くなってしまいます。
プロシジャーの実行が終了しても値を保持するには、この変数を
モジュールレベルで宣言することです。

では、モジュールレベルで変数を宣言するとは、どうすればよいか?


>
>Private Sub CommandButton2_Click()
>Dim SearchKey As String
>Dim SearchArea As Range
Dim FoundCell As Range  'これをこのモジュールに1行目に宣言する
          'プロシジャーの1行目ではなく、モジュールの1行目です
>Dim ws As Worksheet, fndflg As Boolean
>'検索語入力
>SearchKey = Application.InputBox( _
>Prompt:="LotNo,を入力して下さい。", Type:=2)
>If SearchKey = "" Or SearchKey = "False" Then
>Exit Sub
>End If
>'検索処理
>'検索範囲
>fndflg = False
>For Each ws In Worksheets
>If ws.Name Like "*P*" Then
>Set SearchArea = ws.Range(ws.Range("d5"), ws.Range("d5").End(xlDown))
>Set FoundCell = SearchArea.Find( _
>What:=SearchKey, _
>SearchOrder:=xlByRows, _
>MatchCase:=False)
>'見つかった場合の処理
>If Not FoundCell Is Nothing Then
>
>fndflg = True
>Exit For
>End If
>End If
>Next
>If fndflg = True Then
>MsgBox FoundCell.Address
>UserForm1.TextBox3.Value = FoundCell.Value
>UserForm1.TextBox1.Value = FoundCell.Offset(0, -3).Value
>UserForm1.TextBox2.Value = FoundCell.Offset(0, -2).Value
>UserForm1.TextBox4.Value = FoundCell.Offset(0, 1).Value
>UserForm1.TextBox5.Value = FoundCell.Offset(0, 4).Value
>UserForm1.ComboBox2.Value = ws.Name
>Else
>MsgBox "該当は存在しません。", vbCritical
>End If
>Set SearchArea = Nothing
>Set FoundCell = Nothing
>
>End Sub

このようにすると、戻すセルは、FoundCellにあるのですから、
後は考えてください。

4 hits

【69883】ユーザーフォーム検索 更新について hono1215 11/9/17(土) 7:22 質問
【69884】Re:ユーザーフォーム検索 更新について ichinose 11/9/17(土) 9:33 発言
【69886】Re:ユーザーフォーム検索 更新について hono1215 11/9/17(土) 14:34 発言
【69887】Re:ユーザーフォーム検索 更新について ichinose 11/9/17(土) 22:30 発言
【69891】Re:ユーザーフォーム検索 更新について hono1215 11/9/20(火) 15:45 お礼

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