du brauchst beide Ranges (selektierte Bereiche), da je nach Spalte des Paares das Offset sich ändert.
Bau es einfach so, wie ich es die aufgezeigt habe und es funktioniert so wie von dir erfragt.
danke für deine Hilfe und Geduld. Jetzt hab ich es hinbekommen. Finaler Code:
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("rng_1")) Is Nothing Then
Rows(2).Interior.Color = xlNone
Columns(1).Interior.Color = xlNone
Cells(2, Target.Column).Interior.Color = vbYellow
Cells(Target.Row, 1).Interior.Color = vbYellow
End If
If Not Intersect(Target, Range("rng_2")) Is Nothing Then
Rows(2).Interior.Color = xlNone
Columns(1).Interior.Color = xlNone
Cells(2, Target.Column - 1).Interior.Color = vbYellow
Cells(Target.Row, 1).Interior.Color = vbYellow
End If
End Sub
Nun noch zur zweiten Frage. Dazu habe ich nochmal ein Bild einer einfacheren Tabelle beigefügt.
Ich möchte bei "Ergebnis" (Zelle H2) eine Zahl eintragen (im Beispiel die 90) und Excel soll mir alle passenden Gleichungen der Tabelle als Antwort darunter ausgeben.
40+50 (die Werte aus C1+A6)
50+40 (die Werte aus D1+A5)
60+30 (die Werte aus E1+A4)
usw.
Schafft man das mit der INDEX und MATCH Funktion oder mit der TEXTJOIN-Funktion oder ganz anders? Wäre für einen Ansatz sehr Dankbar.
Leider überschreitet dies meinen Horizont. Ich habe jetzt 2 Tag lang versucht ein Ergebnis zu erzielen, leider ohne Erfolg. Ich bin jetzt so weit, zu sagen ich gebe jeder Zahleneingabe das Ergebnis vor und möchte das Excel mir diese nur anzeigt. Aber auch das scheine ich nicht hinzubekommen. Hinzu kommt, dass das Worksheet bald seine Grenzen erreicht hat und ich nicht weiß ob und wie ich es erweitern kann oder auf ein "neue Seite" übergehen kann. Die Befehle sind mittlerweile schon sehr viele geworden.
naja es ist eigentlich nicht wirklich kompliziert.
Es wird in einer ersten 2D Schleife ermittelt wie viele Zellen (6x6=36) in ein Array eingelesen werden müssen.
An Hand des Wertes wird das Array dimensioniert.
In der 2. 2D Schleife wird der Name der Zellen und dessen Werte in das passend dimensionierte Array eingelesen.
In der letzten 2D Schleife wird jede Zellkombination des Arrays auf das vorgegebene Ergebnis von 90 geprüft.
Logischerweise ergeben sich mehrere Treffer einer Rechenkombination.
Damit jede Kombination nur einmal ausgegeben wird nutzt man die Funktionalität des Key eines Dictionarys (jedes Key ist einmalig).
Taucht jetzt 30+60 logischerweise 2-mal auf, wird der entsprechende Key einfach überschrieben.
Was du als Vorgabe (Ausgabeziel) angegeben hast war natürlich unvollständig.
bei deiner Beispieltabelle funktioniert das ganze nicht richtig. Gibt man z.B. "70" ein, kommen keine Ergebnisse obwohl es 4 verschiedene geben müsste. Gibt man "90" ein, werden nur 2 von 4 Ergebnissen angezeigt. Ich finde den Fehler im Code dazu nicht.
Benutzer, die gerade dieses Thema anschauen: 3 Gast/Gäste
Hinweis auf Angebot
Excel-Inside - lang Keine
Lösung gefunden? Du kannst Dich gerne an
unser erfahrenes Experten-Team
wenden um dein Anliegen zu besprechen. Gerne
erstellen wir auf dieser Basis ein Angebot. Sende deine Anfrage
einfach per
E-Mail an anfrage@excel-inside.de