Wie definiere ich einen Codetext für ein vordefiniertes Ergebnis?

Wie definiere ich einen Codetext für ein vordefiniertes Ergebnis?

Ich konnte es in meiner Frage nicht sehr gut ausdrücken, aber eine ausführlichere Erklärung wäre leichter zu verstehen.

Ich möchte einen Code definieren – beispielsweise „A“ – und einen Ergebnistext für diesen Code oder in meinem Fall brauche ich ein Datum. Was ich im Grunde frage, ist, dass in einer bestimmten Spalte, wenn ich „A“ schreibe und die Eingabetaste drücke, das entsprechende Datum die Zelle ausfüllen soll. Ich wusste nicht, wie ich danach suchen sollte, also musste ich diese Frage erstellen. Vorzugsweise sollten der Code und der entsprechende Text auf einem anderen Arbeitsblatt stehen.

Ich brauche es auf Google Drive, aber wenn nicht, bin ich auch mit einer Excel-Antwort zufrieden.

Antwort1

Ich bin ein völliger Neuling in Sachen Google Apps Script und JavaScript, aber das hier scheint zu funktionieren:

/** @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;
        }
      }
  }
}

So sieht es in Aktion aus:

In Aktion

In Excel VBA würde es ungefähr so ​​aussehen:

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

Beide durchsuchen das zweite Blatt im A1-A10Bereich nach dem in Blatt 1 eingegebenen Wert. Und geben dann das Datum (oder was auch immer) aus der Spalte Bin der entsprechenden Zeile zurück.

verwandte Informationen