如何為預定義結果定義程式碼文字?

如何為預定義結果定義程式碼文字?

我在問題中無法很好地表達它,但詳細的解釋會更容易理解。

我想定義一個代碼 - 例如“A” - 以及該代碼的結果文本,或者在我的情況下我需要一個日期。我基本上要問的是,每當我在特定列上寫“A”並按 Enter 鍵時,相應的日期就應該填充該單元格。我不知道如何搜尋這個,所以我不得不創建這個問題。優選地,程式碼和對應的文字應該位於不同的工作表上。

我在 Google Drive 上需要它,但如果沒有,我也可以接受 Excel 答案。

答案1

我對 Google Apps 腳本和 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

這兩個都會在範圍內的第二個工作表中搜尋工作表A1-A101中輸入的值。B

相關內容