Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Sverweis starten, wenn Eingabetaste betätigt wird





Frage

Hallo zusammen, ich habe eine Tabelle mit 2 Tabellen. In der ersten Tabelle wird in Spalte A (a3 bis a102 wäre möglich) wird die Eingabe erfolgen, welche den SVERWEIS auslösen soll. Der SVERWEIS in Tabelle1 Spalte B (B3 bis B102), hier b3 sieht wie folgt aus: =WENN(A3="";"";SVERWEIS(A3;Tabelle2!$A$4:$B$503;2;0)) Der SVERWEIS funktioniert einwandfrei. Doch möchte ich den SVERWEIS nicht in der Tabelle stehen haben, sondern auslösen, wenn in A3 Daten mit ENTER bestätigt werden. Ich habe schon mehrere Lösungen in verschiedenen Foren gesehen, konnte sie aber nicht für mich realisieren. Kann mir jemand helfen, das die Funktion des SVERWEIS dann via Makro gestartet wird, wenn die ENTER-Taste betätigt wird? Danke im Voraus Egon1967 aus Hannover

Antwort 1 von rainberg

Hallo Egon,

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A3:A102")) Is Nothing Then
        Target.Offset(0, 1).Value = _
        WorksheetFunction.VLookup(Target.Value, Sheets("Tabelle2").Range("A4:B503"), 2, 0)
    End If
End Sub


Dieser Code macht Folgendes:

In Tabelle1 Bereich A3:A102 gibst Du das Suchkriterium ein und in der gleichen Zeile der Spalte B erscheint das Ergebnis.
Die Datenmatrix befindet sich in Tabelle2 Bereich A4:B503

Den Code kopierst Du in den Codebereich von Tabelle1.

Gruß
Rainer

Antwort 2 von egon1967

Hallo Rainer,

zur Zeit arbeitet die Funktion nur, wenn ich in Tabelle 1 Zellen A3ff eine 1 eingebe.
Wenn ich andere gültige Daten eingebe, läuft die Funktion nicht

Ich bekomme auch keine #NV-Meldung, wenn ich einen ungültigen Wert eingebe.

Mache ich etwas falsch?

Gruß Egon

Antwort 3 von rainberg

Hallo Egon,

leider konnte ich nur mit meiner selbst erstellten Datei testen, da lief alles.
Es gibt manchmal Formatprobleme und auch andere Dinge, die ich leider nicht sehen kann.
Lade doch mal eine Beispielmappe hoch.

Gruß
Rainer

Antwort 4 von Egon1967

Hallo Rainer,
hallo zusammen,

ich hatte einfach nur einen Übertragungsfehler, von daher lief es nicht gleich glatt.

Sorry, Anfängerfehler.


Nun habe ich aber folgendes:

Da ich ein Löschmakro mitlaufen habe, wird nach dem Löschen des Inhaltes der Spalten A bis C in Tabelle1 nur noch #NV angezeigt.
Eigentlich ist das kein Fehler; mit einem SVERWEIS könnte ich das auch unterdrücken.
Doch wie mache ich das hier im Makro, das kein #NV angezeigt wird?

Besteht die Möglichkeit, den Inhalt der Zelle a3:a102 erst auf Gültigkeit prüfen zu lassen?

Danke aus Hannover
Egon

Antwort 5 von rainberg

Hallo Egon,

dazu möchte ich keine Ferndiagnose abgeben.

Habe leider meine selbst erstellte Testdatei schon gelöscht, und werde keine zweite nachbauen.

Lade doch bitte selbst eine Beispieldatei hoch.

Gruß
Rainer

Antwort 6 von Egon1967

Hallo Rainer,

leider bin ich zu doof, hier eine Datei hochzuladen.

Wenn Du magst, schicke mir doch bitte mal Deine EMail-Adresse an sportwart@freenet.de

Ich würde Dir dann die ganze Datei senden.
Sorry, mir fällt keine andere Möglichkeit ein.


Gruß
Egon1967 aus Hannover

Antwort 7 von rainberg

Hallo Egon,

benutze diesen Link zum Hochladen.


http://www.netupload.de/

und füge den ersten von den 3 genannten Links hier ein.

Gruß
Rainer

Antwort 8 von Egon1967

Hallo Rainer,

danke für diesen Tipp mit dem Upload.

Hier der Link:
http://www.netupload.de/detail.php?img=4267703cb1f13eadb725cf42762c8111.xls

Vielleicht ist mein Anliegen ja nicht unmöglich.

Danke
Egon

Antwort 9 von rainberg

Hallo Egon,

habe das Makro angepasst.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
   'Dieses Makro setzt automatisch das Datum und die Uhrzeit.
   'Das automatische Einstellen erfolgt, wenn in Spalte A (1) ENTER gedrückt wird.
   'Dann erscheint in Spalte 8 (h) das Datum, in Spalte 9 (i) die Uhrzeit.
   On Error Resume Next
   If Not Intersect(Target, Range("A4:A103")) Is Nothing Then
      If WorksheetFunction.CountIf(Worksheets("Tabelle2") _
         .Range("A1:A" & Worksheets("Tabelle2").Range("A65536") _
         .End(xlUp).Row), Target.Value) = 0 Then
         MsgBox "Wert nicht vorhanden" & Chr(10) & "Bitte Neueingabe"
         Target.Select
         Exit Sub
      End If
      Target.Offset(0, 1).Value = _
      WorksheetFunction.VLookup(Target.Value, Sheets("Tabelle2").Range("A4:B503"), 2, 0)
      Target.Offset(0, 7).Value = Date
      Target.Offset(0, 8).Value = Time
    End If
End Sub

http://www.netupload.de/detail.php?img=1bb9abf92ae019ef3fe94593c6fc...

Gruß
Rainer

Antwort 10 von Egon1967

Hallo Rainer,

recht herzlichen Dank für Deine Mühe.
Ich habe zwar Deine MSG-Box wieder herausgenommen.

E S L Ä U F T A L L E S S U P E R ! ! !

vielen vielen Dank aus Hannover

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: