メイン ワークシート:
学生 | グレード | ターゲット コード | ターゲット テキスト
ジム | あ | コード 1 | これはCode1に対応するテキストです
'Targets' という名前のワークシートで 'name' "TargetCodes" として定義されたルックアップ テーブル:
コード 1 | これはCode1に対応するテキストです
コード 2 | これはCode2に対応するテキストです
任意のレコードの TargetCode フィールドが変更されたときに、対応するテキストがテキスト形式で [ターゲット テキスト] 列に配置されるように、VBA が必要です。テキストは編集可能である必要があり、それを編集しようとすると、LOOKUP 式を編集することになるため、Target Text 列で LOOKUP を使用できません。どんな種類の助けも大歓迎です。
StackExchange の他のビットをピックアップして、いくつかのコードを一緒にカーゴカルトしました。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell_to_test As Range, cells_changed As Range
Dim result As String
Dim sheet As Worksheet
Set cells_changed = Target(1, 1)
Set cell_to_test = Range("D2")
If Not Intersect(cells_changed, cell_to_test) Is Nothing Then
Set sheet = ActiveWorkbook.Sheets("Persuasive Speaking")
Set TargetSheet = ActiveWorkbook.Sheets("Targets")
result = Application.WorksheetFunction.Lookup(sheet.Range("D2"), sheet.Range("WritingTargets"))
MsgBox ("Test")
End If
End Sub-
しかし、「オブジェクト '_Worksheet' のメソッド 'Range' が失敗しました...
どんな助けでも大歓迎です。