Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1584to1588
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

Bei Übereinstimmung benachbarte Zellen vergleichen

Bei Übereinstimmung benachbarte Zellen vergleichen
14.10.2017 17:19:15
Tanja
Liebes Forum,
ich suche nach einem Makro, das in einer Spalte (Kriterium) einer Tabelle nach zwei Begriffen (z.B. Laufzeit oder Betrag) sucht. Falls einer von ihnen gefunden wurde, soll in dieser Zeile aber in zwei benachbarten Spalten die Inhalte verglichen werden. Falls der Wert der Spalte "Ist" größer ist als der Wert der Spalte "Soll", soll die Nachricht "Aufgabe" angezeigt werden.
Kriterium Soll Ist
Laufzeit 10 15
Betrag 6 3
Größe 5 5
Vielleicht könnt Ihr mir weiterhelfen.
Vielen Dank
Tanja

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
14.10.2017 18:14:41
Duden
Hallo Tanja,
ich hab deine Nachricht 10mal gelesen. Aber immer nur Bahnhof verstanden.
Versuch es mal für einen 5Jährigen Zu erklären und zwar so, als ob er deine Tabelle noch nie gesehen hat.
LG
Nepumuk
Na, Identität noch nicht zurückgewechselt? ;-)
14.10.2017 18:22:11
lupo1
AW: Na, Identität noch nicht zurückgewechselt? ;-)
14.10.2017 18:49:27
Nepumuk
Hallo lupo
soll ich mich dafür Schämen? Ich glaube nööööööööööööööö!!!!!!!!!!
Gruß
Nepumuk
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
15.10.2017 09:39:31
fkw48
Einfach und geschmacklos
Option Explicit
' ich hoffe die Spalten haben die Überschrift
Const C_SP As String = "Kriterium Soll Ist"
Sub Frage()
'Begriff1, Begriff2
TestIt "07Krit", "22Krit"
End Sub
Sub TestIt(Krit1 As Variant, Krit2 As Variant)
Dim Flag As Integer
If IsIt(Krit1) + IsIt(Krit2) Then _
Call MsgBox("Aufgabe", vbInformation)
End Sub
Function IsIt(Begriff As Variant) As Integer
Dim Zeile As Long
On Error GoTo errh
Zeile = Suche(Begriff, Spalten(C_SP, 0))
If Zeile And Cells(Zeile, Spalten(C_SP, 2)) > Cells(Zeile, Spalten(C_SP, 1)) Then _
IsIt = 1
On Error GoTo 0
errh:
End Function
Function Suche(Was As Variant, Wo As Variant) As Long
On Error GoTo fail:
Dim Rng As Range
Set Rng = Columns(Wo).Find(Was, , xlValues)
If Rng Is Nothing Then Set Rng = Columns(Wo(0)).Find(Was, , xlValues)
If Not Rng Is Nothing Then Suche = Rng.Row
On Error GoTo 0
fail:
End Function
Function Spalten(Wo As String, Teil As Variant) As Variant
Dim arrs() As String, arrN(0 To 2) As Variant
arrs = Split(Wo, " ")
Spalten = Cells.Find(arrs(Teil), , xlValues).Column
End Function

Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
16.10.2017 22:53:57
Tanja
Hallo fkw48,
vielen Dank für die Antwort. Ich bin mir nicht sicher, ob ich mich verständlich ausgedrückt habe. Die Beispieltabelle habe ich hochgeladen: https://www.herber.de/bbs/user/117006.xlsx
Die vereinfachte Tabelle hat drei Spalten und vier Zeilen. Bei der ersten handelt es sich um die Überschriften "Kriterium", "Soll", "Ist". In der Tabelle sind verschieden Eigenschaften (Kriterien) des Untersuchungsobjektes dargestellt. In der Spalte "Soll" ist der gewünschte Wert (Ausprägung) des Kriteriums für das Untersuchungsobjekt enthalten. In der Spalte "Ist" ist der tatsächliche Wert enthalten. Die eigentliche Tabelle ist wesentlich länger, d.h. sie hat mehr Zeilen. Ich suche nach einem Makro, dass z.B. nach dem Kriterium "Laufzeit" sucht und prüft, ob der tatsächliche Wert vom gewünschten Wert abweicht. Je nach Kriterium kann darf der tatsächliche Wert größer oder kleiner als der gewünschte Wert sein. Bei dem Kriterium "Laufzeit" darf der tatsächliche Wert nicht kleiner als der gewünschte Wert sein. Bei dem Kriterium "Betrag" darf der tatsächliche Wert nicht größer sein als der gewünschte Wert.
Falls der tatsächliche Wert bei der "Laufzeit" kleiner als der gewünschte Wert ist oder der "Betrag" größer als der gewünschte Wert ist, soll die Nachricht "Aufgabe" angezeigt werden, ansonsten die Nachricht "alles in Ordnung".
Vielleicht kannst Du bzw. Ihr mir weiterhelfen.
Vielen Dank
Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
17.10.2017 10:12:37
Werner
Hallo Tanja,
stellt sich die Frage, von wievielen verschiedenen Kirterien sprechen wir, die geprüft werden sollen?
Handelt es sich nur um die zwei, die du angeführt hast?
Wenn ja, warum nicht mit bedingter Formatierung bzw. einer Formel die den entsprechenden Text in einer Zelle ausgibt?
Ich hab dir dein Beispieltabelle mal mit beiden Möglichkeiten versehen. Im Bereich A2 bis C4 sind zwei bedingte Formatierungen, die den Datensatz farblich hervorheben wenn die Bedingungen nicht erfüllt sind, in Spalte F ist eine Formel, die einen entsprechenden Text ausgibt.
https://www.herber.de/bbs/user/117017.xlsx
Gruß Werner
Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
19.10.2017 21:46:05
Tanja
Hallo Werner,
besten Dank. Insgesamt sind es sechs Kriterien, die geprüft werden. Die Idee mit der bedingten Formatierung ist nahe liegend. Bei mir ist die Herausforderung, dass ich insgesamt ca. 15 Excel-Dateien habe, die regelmäßig mit täglich aktualisiert werden. In den Excel-Dateien befindet sich jeweils ein Tab mit der beschriebenen Tabelle, die die Kriterien, Soll- und Istwerte beinhaltet. In dieser Tabelle werden die wichtigsten Informationen der Datei zusammengefasst und ebenfalls täglich aktualisiert. Die Excel-Datei ist schreibgeschützt.
Mein Wunsch insgesamt ist, dass das Makro in einer anderen Excel-Datei enthalten ist, dass die einzelnen Dateien öffnet und überprüft, ob bei den vorgegebenen Kriterien die Istwerte abweichen. Falls das nicht der Fall ist, sollen die jeweiligen Dateien geschlossen werden. Im entgegengesetzten Fall, sollen die jeweiligen Dateien offen bleiben, damit ich weitere Arbeitsschritte einleiten kann. Für das Öffnen und Schließen der Dateien in meinem Ordner habe ich bereits das Makro erstellt. Mir fehlt der Teil mit der Überprüfung der Kriterien. Zur Vereinfachung meines Anliegens hatte ich geschrieben, dass anstatt dem Schließen der Datei die Meldung "alles in Ordnung" und anstatt dem geöffnet lassen der Datei die Meldung "Aufgabe" angezeigt werden soll.
Vielleicht kann ich es über eine verschachtelte Schleife probieren, aber ich weiß nicht wie.
Viele Grüße
Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
15.10.2017 09:41:40
fkw48
Einfach & geschmacklos
Option Explicit
' ich hoffe die Spalten haben die Überschrift
Const C_SP As String = "Kriterium Soll Ist"
Sub Frage()
'Begriff1, Begriff2
TestIt "07Krit", "22Krit"
End Sub
Sub TestIt(Krit1 As Variant, Krit2 As Variant)
Dim Flag As Integer
If IsIt(Krit1) + IsIt(Krit2) Then _
Call MsgBox("Aufgabe", vbInformation)
End Sub
Function IsIt(Begriff As Variant) As Integer
Dim Zeile As Long
On Error GoTo errh
Zeile = Suche(Begriff, Spalten(C_SP, 0))
If Zeile And Cells(Zeile, Spalten(C_SP, 2)) > Cells(Zeile, Spalten(C_SP, 1)) Then _
IsIt = 1
On Error GoTo 0
errh:
End Function
Function Suche(Was As Variant, Wo As Variant) As Long
On Error GoTo fail:
Dim Rng As Range
Set Rng = Columns(Wo).Find(Was, , xlValues)
If Rng Is Nothing Then Set Rng = Columns(Wo(0)).Find(Was, , xlValues)
If Not Rng Is Nothing Then Suche = Rng.Row
On Error GoTo 0
fail:
End Function
Function Spalten(Wo As String, Teil As Variant) As Variant
Dim arrs() As String, arrN(0 To 2) As Variant
arrs = Split(Wo, " ")
Spalten = Cells.Find(arrs(Teil), , xlValues).Column
End Function

Anzeige
AW: Bei Übereinstimmung benachbarte Zellen vergleichen
15.10.2017 09:42:44
fkw48
hmmmm, doppelt? (hält besser)

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige