私のExcelシートで入力を追跡したい。EXCELで入力像追跡を行う方法
たとえば、IDのようなものを入力してEnterキーを押すと、別のシートのIDを検索して名前を見つけ、入力した元のセルのIDを置き換えます。
これを行うにはどうすればよいですか?
シンプルな例がいいと思いますが、ありがとうございます。
アップデート:当然の
はい、私はIDはそうではないシート全体を入力する唯一のいくつかの特定の細胞を追跡する必要があります。
私のExcelシートで入力を追跡したい。EXCELで入力像追跡を行う方法
たとえば、IDのようなものを入力してEnterキーを押すと、別のシートのIDを検索して名前を見つけ、入力した元のセルのIDを置き換えます。
これを行うにはどうすればよいですか?
シンプルな例がいいと思いますが、ありがとうございます。
アップデート:当然の
はい、私はIDはそうではないシート全体を入力する唯一のいくつかの特定の細胞を追跡する必要があります。
タスク用のイベントハンドラ(ワークシート用に定義されたもの)を使用します。この関数は、ワークシートのセル値が変更されるたびに(ユーザーまたは他のvbaコードによって)呼び出されます。
Target
パラメータには、変更されたセルの範囲が含まれます。その範囲の列と行を繰り返し処理し、実行する検索/置換操作を実行します。イベントハンドラがそれ自身を起動しないブール変数を追加してください。
Public NoCellUpdateHandle As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
If NoCellUpdateHandle Then Exit Sub
Dim row As Integer, col as Integer, idValue as String, replaceValue as String
For Each columnObj In Target.Columns
For Each rowObj In columnObj.Rows
row = rowObj.Row
col = columnObj.Column
' You can filter for certain rows/columns
If row > 5 And row < 10 And col = 7 Then
idValue = ActiveSheet.Cells(row, col).Value
' do the lookup for the id value in the other worksheet here
' replaceValue = lookup(idValue)
' Disable the event handler and perform the replacement
NoCellUpdateHandle = True
ActiveSheet.Cells(row, col).Value = replaceValue
NoCellUpdateHandle = False
End If
Next rowObj
Next columnObj
End Sub
これですべてが必要です。
あなたはほとんどすべての彫像を追跡する必要があることがわかります... –