Anzeige
Archiv - Navigation
1432to1436
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

Überprüfung vorhandener Werte in Zeile

Überprüfung vorhandener Werte in Zeile
25.06.2015 12:46:42
Sommer
Hallo,
da meine Makro Kenntnisse eher bescheiden sind, hoffe ich, dass ihr mir ggf weiterhelfen könnt.
Da die Erklärung für meinen Wunsch recht kompliziert ist, am Besten gleich als Beispiel:
Ich habe in einer Zeile (z. Beispiel Zeile 4) die folgenden Buchstaben (jeweils in einer eigenen Zelle):
A B A S A S C B A S B A C A S
Ich möchte gern eine Abfrage, die mir den ersten Buchstaben B nimmt, schaut, wann der nächste Buchstabe B auftaucht und mir zählt, wieviele Zellen mit anderen Buchstaben dazwischen liegen. Ist der Wert grösser als 7, sollte in einer belieben Zelle (z.Bsp P4) eine Warnung (z.Bsp. Farbänderung) kommen (am Besten noch mit der entsprechenden Zellkennung, in der der Fehler auftritt)
Das Ganze sollte für beliebig viele Zeilen erweiterbar sein.
Vielen Dank für eure Hilfe, bin gespannt, ob und wie das Ganze zu lösen wäre

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Überprüfung vorhandener Werte in Zeile
25.06.2015 13:02:42
Rudi
Hallo,
Excel-Profi?
=VERGLEICH("B";INDEX(A1:O1;VERGLEICH("B";A1:O1;)+1):O1;)-VERGLEICH("B";A1:O1;)+1
Gruß
Rudi

ganz so einfach ist es mE doch nicht ...
25.06.2015 13:30:35
der
Hallo Rudi,
... möglich ist ja auch. dass der Abstand zwischen zwei "B" im hinteren Zeilenbereich größer als 7 sein kann und das gemeint ist.
Gruß Werner
.. , - ...

AW: ganz so einfach ist es mE doch nicht ...
25.06.2015 13:54:37
Rudi
Hallo Werner,
er wollte den Abstand zwischen dem ersten B und dem folgenden.
So steht's geschrieben.
Gruß
Rudi

sorry, das hab ich überlesen, aber ...
25.06.2015 14:00:48
der
Hallo Rudi,
... Michael hat es offensichtlich auch überlesen und so steh ich nicht allein in der Traufe ;-)
Schade nur um meine schöne AGGREGAT()-Lösungsformel.
Gruß Werner
.. , - ...

Anzeige
Schade nur ...
25.06.2015 14:02:21
Rudi
Hallo,
vielleicht kannst du sie ja mal woanders gebrauchen ;-)

noch schaderer ist aber,
25.06.2015 14:08:24
Michael
daß sich der Sommer nicht mehr meldet...
Tjaja, wer lesen kann, ist klar im Vorteil.
Schöne Grüße & gute Zeit,
Michael

...doch
25.06.2015 14:37:10
selli
hallo
noch schaderer ist aber,daß sich der Sommer nicht mehr meldet...
soll wieder wärmer werden.
gruß
selli

hope so...
25.06.2015 14:52:22
Michael
Gruß,
Michael

AW: und viel viel mehr schade ist...
25.06.2015 14:25:47
JoWE
Hallo Werber
...das Du die Formel nicht zeigst.
Gruß
Jochen

wenn Du es Dir wünschst ...
25.06.2015 14:56:13
der
Hallo Jochen,
... dann komme ich dem natürlich nach. Allerdings ist nachfolgende Formel zunächst nur eine, die in eine separate Zelle außerhalb der Zeile 4 geschrieben wird, weil ich mit der Formel momentan die gesamte Zeile untersuche. Für die Formel der bedingte Formatierung wollte ich den Fragesteller eigentlich noch fragen, was und wo farbig hervorgehoben werden soll, bevor ich mir dazu noch eine Rübe gemacht hätte.
Die Formel die ich vorhin aufgestellt hatte:
=WENN(WENNFEHLER(AGGREGAT(14;6;(AGGREGAT(15;6;SPALTE(1:1)/(4:4="B");ZEILE(A2:A99))-AGGREGAT(15;6; SPALTE(1:1)/(4:4="B");ZEILE(A1:A99)));1);0)>7;"mehr als 7";"ok") 
Gruß Werner
.. , - ...

Anzeige
AW: thx + sorry für das "b" im vorherigen Gruß
25.06.2015 15:15:14
JoWE

wenn Du nicht extra darauf hingewiesen hättest ...
25.06.2015 15:31:19
der
Hallo Jochen,
... ich hatte und hätte es gar nicht bemerkt.
Gruß Werner
.. , - ...

AW: Überprüfung vorhandener Werte in Zeile
25.06.2015 13:37:35
Michael
Hi zusammen,
hab mit ner VBA-Funktion gespielt; die gibt die Zelladresse aus, die Färbung ist bedingte Formatierung.
Datei: https://www.herber.de/bbs/user/98473.xls
Schöne Grüße,
Michael

nachgefragt ...
25.06.2015 13:35:05
der
Hallo,
... warum ist die Version: "Ohne Relevanz"?
Für Excelversionen ab 2010 hätte ich eine Formellösung anzubieten (eine verschachtelte AGGREGAT()-Formel) Für Excel-Versionen darunter müsste ich jedoch erst noch in eine MATRIXformellösung "portieren".
Gruß Werner
.. , - ...

Anzeige
In der Eile
25.06.2015 16:00:40
Sommer
Hallo zusammen,
zunächst ganz lieben Dank für eure Antworten. Bin erst jetzt wieder am PC.
Ich arbeite mit Excel 2011 für Mac ...
Nachdem ich eure Hinweise gelesen habe, ist mir aufgefallen, dass ich in der Eile der Zeit nicht erwähnt habe, dass natürlich jeweils das nächstfolgende B wieder als Grundlage für die nächste Abfrage dienen muss - SORRY:
A B A S A S C B A S B B A C A S A S C C B
Es sollte also entweder als Fehler U4 (erstes B nach dem Fehler) oder T4 (hier müsste spätestens wieder ein B sein) angezeigt werden ob das ganze noch farblich hervorgehoben wird: wäre toll, muss aber nicht sein :)
LG

Anzeige
Excel 2011 für Mac? ...
25.06.2015 16:17:19
der
Hallo,
... ich weiß nicht, ob diese Excel-Version die Funktion AGGREGAT() nutzt. Wenn doch, meinen Formelvorschlag findest Du ja weiter oben im thread.
Gruß Werner
.. , - ...

falsch gelesen, richtig interpretiert
25.06.2015 20:18:29
Michael
und, hast das VBA getestet?
Gruß,
Michael

AW: falsch gelesen, richtig interpretiert
26.06.2015 09:39:17
Sommer
Hallo Michael,
ich kann den Link partout nicht öffnen/anzeigen lassen/herunterladen.
Muss ich hierbei irgendwas beachten? Oder könnte dies ein Mac-Windows-Problem sein?!
Danke dir & LG

AW: falsch gelesen, richtig interpretiert
26.06.2015 14:31:12
Michael
Hi Sommer,
bei mir geht der Link problemlos, bei anderen offensichtlich auch.
Zickt der Mac mit X2000-Datein? Kann eigentlich nicht sein...
Sieht so aus:
Userbild
Die Färbung der Bs ist von mir, das läßt sich im Code aber relativ simpel einbauen.
Der lautet so:
Public Function B_String(ByVal b As String, Rg As Range) As String
Dim i1&, i2&, c As Range, i_max&
i1 = 0: i2 = 0
For Each c In Rg
If c.Value = b Then
i2 = i1
i1 = c.Column
If i1 - i2 > i_max Then
i_max = i1 - i2
B_String = i_max & " in Zelle: " & c.Address(0, 0)
' If i_max >= 7 Then c.Interior.Color = vbRed
' relativ simpel einbauen, dachte ich, aber das funzt nicht
End If
End If
Next
If Len(B_String) 
Ich hab ihn nochmal geändert, derweil die 11 in R2 falsch war: richtig ist 9.
Also gut, viel Spaß,
Michael
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige