Supportnet / Forum / Tabellenkalkulation
Hilfe!!! Brauche Funktion
Frage
Hallo Zusammen,
ich überleg mir noch nen Wolf und ich hoffe jemand von euch kann mir bei folgender Funktion helfen. Die ist echt nicht ganz so einfach....
Zunächst habe ich drei Spalten A,B und C.
Nun soll überprüft werden, ob der Wert in B10 in A1 bis A9 vorkommt. Wenn ja, sagen wir der Wert in B10 kommt in A3 vor, dann soll der Wert in C3 steht gelöscht werden. Der Wert kann in der Spalte auch mehrfach vorkommen. Ein Beispiel
A B C
1 4 4
2 5 5
3 1 1
in diesem Beispiel soll nun die 4 in C1 gelöscht werden, da der in B3 stehende Wert in A1 vorkommt. Würde die eins jetzt mehrfach in A vorkommen, müsste der Wert in den C Zeilen ebenfalls gelöscht werden. Bsp:
A B C hier müsste jetzt die 3 und die 2
1 3 3 gelöscht werden.
1 2 2
4 1 1
Der Funktion sollte ich den Wert aus der B Spalte vorgeben, die Suchspalte (hier A) und die Splate in der gelöscht wird also C.
Ich weiß, dass das eine sehr anspruchsvolle sache ist. Habe aber schon gemerkt, dass hier echte Profis sitzen und ich hoffe, dass mir jemand helfen kann!
Danke!
Grüsse Jacky
Antwort 1 von Saarbauer
Hallo,
nicht ganz verständlich was du vorhast, aber aus meiner Sicht nur mit VBA zu lösen.
Gruß
Helmut
nicht ganz verständlich was du vorhast, aber aus meiner Sicht nur mit VBA zu lösen.
Gruß
Helmut
Antwort 2 von JackyDarwson
Ja, ich weiß ist nicht ganz einfach und das ist nur mit VBA zu lösen. Ich wollte mir ne eigene Funktion schreiben, die das leistet, bekomms aber nicht hin.
Vielleicht nochmal die kurzfassung des Problems.
Kommt der Wert B10 irgendwo in A vor, dann lösche die Zelle in der gleichen Zeile in C... verständlicher?
Bsp. Der Wert in B10 sei 8
jetzt suche in Spalte A nach der 8, kommt sie in A vor, (bsp. A5) dann lösche C5. Kommt der Wert Mehrfach vor, dann lösche auch diesen... kommt er gar nicht vor, dann schreibe "", also nichts...
besser?!
Vielleicht nochmal die kurzfassung des Problems.
Kommt der Wert B10 irgendwo in A vor, dann lösche die Zelle in der gleichen Zeile in C... verständlicher?
Bsp. Der Wert in B10 sei 8
jetzt suche in Spalte A nach der 8, kommt sie in A vor, (bsp. A5) dann lösche C5. Kommt der Wert Mehrfach vor, dann lösche auch diesen... kommt er gar nicht vor, dann schreibe "", also nichts...
besser?!
Antwort 3 von Saarbauer
Hallo,
etws verzwickt, aber vielleicht kannst du deine Datei oder ein Beispiel mit dem Makro hier einstellen
http://www.netupload.de/
und den Link hier hinterlegen
Gruß
Helmut
etws verzwickt, aber vielleicht kannst du deine Datei oder ein Beispiel mit dem Makro hier einstellen
http://www.netupload.de/
und den Link hier hinterlegen
Gruß
Helmut
Antwort 4 von JoeKe
Hallo Jacky,
folgenden Code in das VBA-Projekt deines Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$10" Then Exit Sub
Dim rngZelle As Range
For Each rngZelle In Range("A1:A9")
If rngZelle = Target Then
Cells(rngZelle.Row, 3).Clear
End If
Next
End Sub
Nun wird immer wenn du in B10 eine Eingabe machst überprüft ob die Eingabe in A1:A9 vorkommt. Wenn ja wird in der Zeile in der der Wert gefunden wird in Spalte C der Inhalt gelöscht.
Gruß
JöKe
folgenden Code in das VBA-Projekt deines Tabellenblattes:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$B$10" Then Exit Sub
Dim rngZelle As Range
For Each rngZelle In Range("A1:A9")
If rngZelle = Target Then
Cells(rngZelle.Row, 3).Clear
End If
Next
End Sub
Nun wird immer wenn du in B10 eine Eingabe machst überprüft ob die Eingabe in A1:A9 vorkommt. Wenn ja wird in der Zeile in der der Wert gefunden wird in Spalte C der Inhalt gelöscht.
Gruß
JöKe
Antwort 5 von JackyDarwson
[URL=http://www.netupload.de/detail.php?img=dba56c52c7c6352d2ec3d88977178cfd.xls][IMG]http://www.netupload.de/img.php/dba56c52c7c6352d2ec3d88977178cfd.xls[/IMG][/URL]
Antwort 6 von JackyDarwson
Super Danke!!!!
Antwort 7 von JackyDarwson
Noch eine Frage, wenn ich dies nun dynamisch möchte, also dass die Werte nachher nicht nur in B10 stehen, sondern auch darunter darunter und darunter... wie kann ich das dann machen?
Antwort 8 von JackyDarwson
Bzw. wenn ich neu berechne soll trotzdem wieder der Wert aus der B Zeile in der zu löschenden Zelle stehen (falls dieser nicht gefunde wurde)

