Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1552to1556
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

Vergleichen und Auswahl

Vergleichen und Auswahl
12.04.2017 08:21:44
Jens
Hallo,
ich habe eine Problem und weis nicht wie ich da lösen soll.
Wenn in Spalte D der Buchstabe L steht und der größte Wert in Spalte F oder G liegt innerhalb von Kriterien die im Register AE definiert sind, dann wird in Spalte Y ein Buchstabe eingetragen
Das Kriterium für die Auswahl ist im Register AE hinterlegt.
Wenn der Buchstabe L nun ist Spalte D ist, dann wird in Spalte Y das entsprechende Kürzel der Spalte A (L1-L6) eingetragen. Wenn kein L drinnen steht, dann Spalte C (F1-F6).
Das Kriterium für die Zuordnung der Kategorie (L1-L6/F1-F6) ist der größte Wert der Spalte F oder G verglichen mit den Grenzen Spalte E/F in Register AE.
Das Ganze muss dann zeilenweise verglichen werden und die Zeilenanzahl ist nach unten hinten offen.
Ebenso können sich auch die Grenzen der Spalten E/F ändern.
Kann man das irgendwie realisieren. Am besten sogar über VBA?
Ich habe das noch zum Verständnis farblich dargestellt.
https://www.herber.de/bbs/user/112826.xlsm

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 08:30:35
Jonas
Hallo Jens,
grundsätzlich sind Zeilenweise-Vergleiche möglich mir ist jetzt aber nicht ganz klar geworden was passieren soll. Was ich bis jetzt daraus lesen konnte:
Wenn in der Spalte "DIN" eine L steht dann soll hinten auch ein L stehen mit einer Zahl von 1-6.
Wenn nicht dann ein F mit 1-6. Wenn der größere Wert in 1 steht dann steht eine 1 davor wenns der zweite ist dann 2 das ist auch logisch. Meine Frage ist: Wie ist es mit 3-6?
Gruß Jonas
AW: Vergleichen und Auswahl
12.04.2017 09:17:23
Jens
Wenn in der Spalte "DIN" eine L steht dann soll hinten auch ein L stehen mit einer Zahl von 1-6.
- Richtig
Wenn nicht dann ein F mit 1bis6.
- Richtig
Wenn der größere Wert in 1 steht dann steht eine 1 davor wenns der zweite ist dann 2 das ist auch logisch. Meine Frage ist: Wie ist es mit 3bis6?
- Aus den Spalten F und G im regsiter Aufstellung muss nun der größe Wert ermittelt werden. z.b. 600. Nun wird dieser Wert mit der Tabelle in register Ae verglichen. Daher wäre es nun L2 oder F2 je nach dem ob in DIN eine L steht oder nicht.
Somit sind die Spalten E und F im register AE die Kriterien für die Zuordnung der Nummer 1bis6.
Gerne Kann auch die Tabelle ich AE anders dargestellt werden, sofern das hilfreicher wäre.
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 10:37:25
Jonas
Hallo Jens,
also ich hab mir das jetzt mal überlegt. Möglich ist es auf jedenfall ich habe auch schon eine Idee.
Ich setz mich mal ran, aber das wird was größeres, da durch die Vorgabe in AE viele IF Abfrage nötig sind. So wie AE geschrieben ist, ist es eig super kann super eingelesen und weiterverwendet werden in VBA. Also bis später :).
Gruß Jonas
AW: Vergleichen und Auswahl
12.04.2017 10:37:26
Jonas
Hallo Jens,
also ich hab mir das jetzt mal überlegt. Möglich ist es auf jedenfall ich habe auch schon eine Idee.
Ich setz mich mal ran, aber das wird was größeres, da durch die Vorgabe in AE viele IF Abfrage nötig sind. So wie AE geschrieben ist, ist es eig super kann super eingelesen und weiterverwendet werden in VBA. Also bis später :).
Gruß Jonas
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 10:44:51
Jens
Hallo,
hab mich auch versucht.
Geht irgendwie aber irgendwie passt die Zuordnung der Kategorien nicht ganz.
Weis aber nicht warum!
https://www.herber.de/bbs/user/112829.xlsm
AW: Vergleichen und Auswahl
12.04.2017 11:41:40
Jonas
Hallo Jens,
Soooo hab das ganze mal angepasst, sollte nun funktionieren:

Sub Abrechnung()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
Dim e As String
Dim x As String
Dim i As Integer
Dim Stufe1 As Integer
Dim Stufe2 As Integer
Dim Stufe3 As Integer
Dim Stufe4 As Integer
Dim Stufe5 As Integer
Dim Stufe6 As Integer
Dim lr As Long
lr = Cells(Rows.Count, "A").End(xlUp).Row
Stufe1 = Worksheets("AE").Cells(3, 2).Value
Stufe2 = Worksheets("AE").Cells(4, 2).Value
Stufe3 = Worksheets("AE").Cells(5, 2).Value
Stufe4 = Worksheets("AE").Cells(6, 2).Value
Stufe5 = Worksheets("AE").Cells(7, 2).Value
Stufe6 = Worksheets("AE").Cells(8, 2).Value
For i = 17 To lr
If Cells(i, 4).Value = "L" Then
a = "L"
Else
a = "F"
End If
b = Cells(i, 6).Value
c = Cells(i, 7).Value
d = Application.Max(b, c)
If d 

Probiers einfach mal, wenn nicht dann meld dich einfach.
Gruß Jonas
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 11:44:52
Jonas
Ups hab zu Testzwecken die 13 in ne 17 geändert das müsstest du noch zurückändern.
AW: Vergleichen und Auswahl
12.04.2017 12:01:01
Jens
Was war dann mein Problem?
AW: Vergleichen und Auswahl
12.04.2017 12:36:36
Jonas
Hallo Jens,
also das Problem ist das Operatoren bei Vergleichen wie "=" mit Zellbezügen nicht immer ganz funktionieren. Selbst wenn ein .Value dahinter steht, Vergleicht er das nicht immer richtig und springt dann automatisch in den ELSE-Fall. Deswegen ist es immer besser das ganze dann als Integer zu definieren und dann zu vergleichen.
Noch ein kleiner Tipp:
Die IF Vergleiche an sich, sollten man bei so einer Abstufung immer "Verschachteln" und voneinander abhängig machen, da man so falls eine der "IF's" nicht richtig klappt, wie bei den Zellbezügen zum Beispiel, nicht merkt das er einfach ins "ELSE" springt und die nächste "IF" überprüft. Das ganze wirft dann zwar keinen Fehler in Excel, kann aber trz dazu führen das die Zellen nicht so verändert werden wie du möchtest. Und das fällt auch nicht immer gleich auf.
Gruß Jonas
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 12:37:08
Jonas
Hallo Jens,
also das Problem ist das Operatoren bei Vergleichen wie "=" mit Zellbezügen nicht immer ganz funktionieren. Selbst wenn ein .Value dahinter steht, Vergleicht er das nicht immer richtig und springt dann automatisch in den ELSE-Fall. Deswegen ist es immer besser das ganze dann als Integer zu definieren und dann zu vergleichen.
Noch ein kleiner Tipp:
Die IF Vergleiche an sich, sollten man bei so einer Abstufung immer "Verschachteln" und voneinander abhängig machen, da man so falls eine der "IF's" nicht richtig klappt, wie bei den Zellbezügen zum Beispiel, nicht merkt das er einfach ins "ELSE" springt und die nächste "IF" überprüft. Das ganze wirft dann zwar keinen Fehler in Excel, kann aber trz dazu führen das die Zellen nicht so verändert werden wie du möchtest. Und das fällt auch nicht immer gleich auf.
Gruß Jonas
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 12:50:42
ChrisL
Hallo zusammen
Im Nachhinein ist es natürlich immer einfacher, aber hier noch eine Möglichkeit zur Vereinfachung. Im Prinzip ist die Aufgabe mit einer einfachen Formel lösbar. Für den Vergleich (Parameter 1 = kleiner als) ist es notwendig, in Bereich AE!B3:B8 die Werte zu ändern:
0
500
1000
1500
2000
5000
Danach folgende Formel anwenden:
=WENN(D13="L";D13;"F")&VERGLEICH(MAX(F13;G13);AE!B$3:B$8;1)
In VBA sieht es dann so aus...
Sub tt()
With Worksheets("Aufstellung")
.Unprotect "sperl"
With .Range("Y13:Y" & .Cells(Rows.Count, 1).End(xlUp).Row)
.Formula = "=IF(D13=""L"",D13,""F"")&MATCH(MAX(F13,G13),AE!B$3:B$8,1)"
.Value = .Value
End With
.Protect UserInterfaceOnly:=True, Password:="sperl"
End With
End Sub
cu
Chris
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 13:59:48
Jonas
Hi Chris,
hab gerade aber gesehen, das bei deinem Code das ganze nur klappt, wenn der wer über 500 liegt.
Wenn er nicht drüber liegt, dann steht in den Zellen #NV
Gruß Jonas
AW: Vergleichen und Auswahl
12.04.2017 14:10:57
ChrisL
Hi Jonas
Hast du die Werte AE!B3:B8 angepasst?
cu
Chris
AW: Vergleichen und Auswahl
12.04.2017 14:22:51
Jonas
Hi Chris,
inwiefern die Werte stimmen doch oder nicht ?
Gruß Jonas
AW: Vergleichen und Auswahl
12.04.2017 14:32:34
ChrisL
Hi Jonas
Damit die Tabellenfunktion =VERGLEICH() richtig funktioniert, müssten die Werte wie im Beitrag erwähnt geändert werden. Wird dies gemacht, dann stimmt das Ergebnis mit deinem Code überein.
cu
Chris
AW: Vergleichen und Auswahl
12.04.2017 14:44:52
Jonas
Hi Chris,
ok hatte mich vertipp :).
Jetzt ist es richtig, tut mir leid das ich grad bisschen dran rummecker xD, aber
bei Werten die genau 500 ,1000 also die Schritte treffen rutscht die Zuordnung mit ins nächst höhere da müsste man die Schritte anpassen (Nur das die Werte stimmen ich weiß ja nicht wie wichtig die Tabelle ist).
Gruß Jonas
Anzeige
AW: Vergleichen und Auswahl
12.04.2017 14:46:45
ChrisL
Hi Jonas
Stimmt, da müsste man noch leicht anpassen z.B.
0
501
1001
1501
etc.
cu
Chris
AW: Vergleichen und Auswahl
12.04.2017 14:50:09
Jonas
Hi Chris,
ich bin aber erstaunt wie du die Codes immer so kurz hinbekommst.
Meine sind immer ewig lang und machen genau das gleiche :D
Gruß Jonas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige