Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Sverweis nicht anwenden wenn

Sverweis nicht anwenden wenn
26.11.2019 22:02:32
Silke

Hallo Leute.
Ich habe ein Beispiel hochgeladen
Wenn in dem Grauen Bereich eine Zahl (Alte oder Neue Bestellnummer) eingegeben wird.
Wird in der Zelle davor per SVerweis die Bezeichnung eingegeben.
Wenn die Zahl nicht vorhanden ist soll "nicht vorhanden" rein geschrieben werden.
Was ich nicht hinbekomme ... wenn eine Zahl eingeben wird die in den Spalte F und G nicht vorhanden ist, aber schon eine Bezeichnung in der Celle B steht soll der Wert in C bleiben.
Siehe im Beispiel .. in Zelle C6 steht "55555" und in B6 steht "Test" wenn man jetzt eine andere Zahl oder die gleiche in C6 eingibt soll "Test" bleiben und nicht durch "nicht vorhanden" ersetzt werden.
https://www.herber.de/bbs/user/133454.xls
Gruß
Silke

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sverweis nicht anwenden wenn
27.11.2019 08:12:00
Torsten
Hallo Silke,
ich vermute, dass das Wort "Test" manuell eingegeben wird. Also du kannst in dieser Zelle nur einen manuellen Wert haben oder eine Formel. Beides geht nicht. Also wenn "Test" drin bleiben soll, manuell eingeben.
AW: Sverweis nicht anwenden wenn
28.11.2019 19:44:05
Silke
Hallo,
Wenn was in der Zelle steht .. Test oder was anderes soll es bleiben. Wenn nichts drinnen steht soll die Formel eingesetzt werden.
AW: Sverweis nicht anwenden wenn
27.11.2019 11:51:31
fcs
Hallo Silke,
damit das wie gewünscht funktioniert muss das Makro angepasst werden, das die Formeln in Spalte B einträgt.
LG
Franz
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngZelle As Range, varWhat
Dim bolFormel As Boolean
If Target.Row >= 5 And Target.Row <= 15 Then
Select Case Target.Column
' Eingabe der alten Ersatzteilnummer
Case 3
varWhat = Target.Value
Set rngZelle = Range("F4:G9").Find(what:=varWhat, LookIn:=xlValues, _
lookat:=xlWhole)
bolFormel = False
If rngZelle Is Nothing Then
If Target.Offset(0, -1).Text = "" Then
bolFormel = True
Else
If Target.Offset(0, -1).HasFormula = True Then
bolFormel = True
End If
End If
Else
If Target.Offset(0, -1).HasFormula = True Then
bolFormel = True
End If
End If
If bolFormel = True Then
Target.Offset(0, -1).FormulaR1C1 = _
"=IF(ISBLANK(RC[1]),"""",IF(ISERROR(VLOOKUP(RC[1],C6:C9,3,0))," _
& "IF(ISERROR(VLOOKUP(RC[1],C7:C9,2,0)),""nicht vorhanden""," _
&"VLOOKUP(RC[1],C7:C9,2,0)),VLOOKUP(RC[1],C6:C9,3,0)))"
Else
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End If
End Select
End If
End Sub
'Makros um Ereignismakros zu aktivieren/deaktivieren
Sub Events_EIN()
Application.EnableEvents = True
End Sub
Sub Events_AUS()
Application.EnableEvents = True
End Sub

Anzeige
Aufgabestellung angepasst
28.11.2019 21:07:39
Silke
Hallo Leute,
ich habe mir die Situation nochmal angeschaut.
Die Formel müsste so funktionieren
Wenn in dem Grauen Bereich eine Zahl eingegeben
Z.B in Zelle C5 wird die Zahl 4001 eingegeben dann soll in den Spalten F und G (es gibt für die manche Produkte 2 Nummern) nach der Zahl gesucht werden.
Gibt es die Nummer in F oder G soll die Bezeichnung aus H in B5 geschrieben werden.
Wenn die Nummer in F und G nicht vorhanden ist soll erst in der Zelle ( im Beispiel B5 ) geschaut werden ob was drinnen steht.
Wenn nichts drinnen steht soll „nicht vorhanden“ reingeschrieben werden.
Wenn was drinnen steht soll der Wert bleiben.
Wie in der Testdatei … wenn in Zelle C6 eine Zahl geschrieben wird ( es wurde 55555 eingegeben )
Dann wird in F und G nach der Nummer gesucht.
Die Nummer ist nicht vorhanden also bleibt weil in B6 „Test“ steht „Test“ stehen“
Gibt man in C6 „4001“ ein, soll „DHL Paket bis 1 Kg“ in B6 geschrieben werden
Kann mir jemand helfen??
Liebe Grüße Silke
Anzeige
AW: Aufgabestellung angepasst
29.11.2019 06:31:09
Torsten
Hallo Silke,
probier mal diesen Code aus. Ich hoffe, es passt so, wie du es moechtest:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngLastRowF As Long, lngLastRowG As Long, lngLastRow
Dim Suche
lngLastRowF = Cells(Rows.Count, 6).End(xlUp).Row
lngLastRowG = Cells(Rows.Count, 7).End(xlUp).Row
If lngLastRowF > lngLastRowG Then
lngLastRow = lngLastRowF
Else
lngLastRow = lngLastRowG
End If
If Not Intersect(Range("C:C"), Target) Is Nothing Then
Set Suche = Range("F4:G" & lngLastRow).Find(Target, LookIn:=xlValues)
If Suche Is Nothing Then
If Target.Offset(0, -1) = "" Then
Target.Offset(0, -1) = "nicht vorhanden"
End If
Else
If Suche.Address Like "*F*" Then
Target.Offset(0, -1) = Suche.Offset(0, 2).Value
Else
Target.Offset(0, -1) = Suche.Offset(0, 1).Value
End If
End If
End If
End Sub

Gruss Torsten
Anzeige
Funktioniert .. aber
29.11.2019 20:50:03
Silke
Hallo Torsten,
vielen Dank für deine Hilfe.
Es funktioniert ..... Aber es wird schon eine Bezeichnung in die Zelle geschrieben wenn ein Teil der Bestellnummer eingegeben wurde.
Was muss man machen dass nur bei genau der Nummer ein Wert ausgegeben wird?
Wenn ich z.b 807 eingebe wird "Porto und Versand Brief" ausgegeben
Liebe Grüße
Silke

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige