如何为预定义结果定义代码文本?

如何为预定义结果定义代码文本?

我无法在问题中很好地表述,但详细的解释会更容易理解。

我想定义一个代码(例如“A”)以及该代码的结果文本,或者在我的情况下,我需要一个日期。我基本上想问的是,在特定列上,每当我输入“A”并按下回车键时,相应的日期应该填充单元格。我不知道如何搜索这个,所以我不得不创建这个问题。最好,代码和相应的文本应该在不同的工作表上。

我需要在 Google Drive 上找到它,但如果没有,我也可以使用 Excel 答案。

答案1

我对 Google Apps Script 和 JavaScript 还很陌生,但这似乎有效:

/** @OnlyCurrentDoc */
function onEdit(e) {
  var activeSheet = e.source.getActiveSheet();
  var range = e.range;
  var target_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  var target_range = target_sheet.getRange("A1:B10");
  if (activeSheet.getName() == "Sheet1") {
    for (var i = 1; i <= 10; i++) {
      var currentValue = target_range.getCell(i,1).getValue();
      var currentDate = target_range.getCell(i,2).getValue();
      if (currentValue == e.value) {
        range.setValue(currentDate);
        break;
        }
      }
  }
}

实际操作起来是这样的:

实际应用

在 Excel VBA 中,它看起来像这样:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Range, c As Range
Set r = Sheets(2).Range("A1:A10")   'This is where I have the "code", with the date in column "B"
If Target.Count = 1 Then
    Set c = r.Find(Target.Value, LookIn:=xlValues)
    If Not c Is Nothing Then Target.Value = c.Offset(0, 1).Value
End If
End Sub

这两者都将在范围内的第二张表中搜索表 1 中输入的值。然后从相应行的列中A1-A10返回日期(或其他内容) 。B

相关内容