Hallo, ich bin Excel-Makro-Anfänger und habe folgendes Problem:
Spalte A und B stehen aufsteigend sortierte Werte, die verglichen werden und zwar nach folgendem Schema
_
A1 = Auftrag, B1 = Lieferung = N
A2 = Auftrag, B2 = Lieferung = N
A3 = Auftrag, B3 = Lieferung = N
A3 = Auftrag, B3 = Lieferung = N
A3 = Auftrag, B4 = Nach-Lieferung = J
A3 = Auftrag, B5 = Nach-Lieferung = J
A4 = Auftrag, B6 = Lieferung = N
A4 = Auftrag, B6 = Lieferung = N
A5 = Auftrag, B7 = Lieferung = N
A6 = Auftrag, B8 = Lieferung = N
A6 = Auftrag, B9 = Nach-Lieferung = J
_
Spalte C steht dann entweder J oder N
_
Wenn also die LieferungNr (ab der 2. Lieferung) unterschiedlich, bei gleicher AuftragsNr., ist dann kommt J
_
Spalte___A___B___C
Werte____A1__B1__N
Werte____A2__B2__N
Werte____A3__B3__N
Werte____A3__B3__N
Werte____A3__B4__J
Werte____A3__B5__J
Werte____A4__B6__N
Werte____A4__B6__N
Werte____A5__B7__N
Werte____A6__B8__N
Werte____A6__B9__J
_
Kann mir jemand eine Lösung vorschlagen?
Vielen Dank
mfg alpha_golf
Hallo alpha_golf,
ich hab zwar die erste Tabelle nicht verstanden, aber für die zweite stelle ich mal eine Lösung vor.
Natürlich ohne Vba, wer braucht das schon, ich mag Vba nicht *kicher*
(Vergiss den Satz, war’n Scherz, im Ernst, ich kann es dir auch mit Vba lösen, sag Bescheid. diese Aussage ist reiner Insider, versuch nicht den zu verstehen, der ging an den „schnellen“ *gg* Thomas, reiner OT-Flachs)
Was aber wichtig ist, teste mal die Lösung, wenn sie in allen Konstellationen klappt ist es gut, wenn nicht wäre auch ein Vba-Code von mir gescheitert, weil ich das Problem doch nicht verstanden habe o.ä.
Hier meine Lösungsidee, (in C1 ist manuell „N“) :
Tabellenblatt: [Mappe1]!Tabelle1
│ A │ B │ C │
───┼────┼────┼───┤
1 │ A1 │ B1 │ N │
───┼────┼────┼───┤
2 │ A2 │ B2 │ N │
───┼────┼────┼───┤
3 │ A3 │ B3 │ N │
───┼────┼────┼───┤
4 │ A3 │ B3 │ N │
───┼────┼────┼───┤
5 │ A3 │ B4 │ J │
───┼────┼────┼───┤
6 │ A3 │ B5 │ J │
───┼────┼────┼───┤
7 │ A4 │ B6 │ N │
───┼────┼────┼───┤
8 │ A4 │ B6 │ N │
───┼────┼────┼───┤
9 │ A5 │ B7 │ N │
───┼────┼────┼───┤
10 │ A6 │ B8 │ N │
───┼────┼────┼───┤
11 │ A6 │ B9 │ J │
───┴────┴────┴───┘
Benutzte Formeln:
C2 : =WENN(ZÄHLENWENN($A$1:A2;A2)=1;"N";WENN(SVERWEIS(A2;A:B;2;0)=B2;"N";"J"))
C3 : =WENN(ZÄHLENWENN($A$1:A3;A3)=1;"N";WENN(SVERWEIS(A3;A:B;2;0)=B3;"N";"J"))
C4 : =WENN(ZÄHLENWENN($A$1:A4;A4)=1;"N";WENN(SVERWEIS(A4;A:B;2;0)=B4;"N";"J"))
usw. bis C11
A1:C11
haben das Zahlenformat: Standard
Tabellendarstellung erreicht mit dem Code in FAQ:2363
Gruß
Reinhard
Hallo Reinhard, super und danke für die schnelle Antwort,
bei Deinem Scherz da komm i net mit, macht aber auch nix, gibt’s da nen Haken? Ne den gibt’s im Baumarkt!!!
Dein Vorschlag paßt fast, die hast es schon verstanden, bis auf eines: Wenn A gleich bleibt und B auch gleich bleibt dann kommt N nicht J, also nur bei unterschiedlichen B kommt J, geh mal den A1 durch dann siehst es!
Dann komm ich noch auf Dein Angebot zurück:
Natürlich ohne Vba, wer braucht das schon, ich mag Vba nicht *kicher*
Ich brauchs es aber in VBA, denn vorher und nachher funzt noch einiges!
Danke
Grüße Wolfgang
___A___B___C
1__A1__B1__N__Neuer A
2__A1__B2__J__unterschiedlich B und gleicher A
3__A1__B3__J__unterschiedlich B und gleicher A
4__A1__B3__N__gleicher B und gleicher A
5__A1__B3__N__gleicher B und gleicher A
6__A1__B4__J__unterschiedlich B und gleicher A
7__A2__B5__N__Neuer A
8__A2__B6__J__unterschiedlich B und gleicher A
9__A2__B7__J__unterschiedlich B und gleicher A
10_A2__B7__N__gleicher B und gleicher A
11_A3__B8__N__Neuer A
Hallo Wolfgang,
bei Deinem Scherz da komm i net mit, macht aber auch nix,
gibt’s da nen Haken? Ne den gibt’s im Baumarkt!!!
ich wollte dich nicht verwirren, das hatte/hat mit dir rein gar nix zu tun.
Ich brauchs es aber in VBA, denn vorher und nachher funzt
noch einiges!
Okay.
Option Explicit
Sub JN()
Dim Zei As Long, Vorh As Boolean
Cells(1, 4) = "N"
For Zei = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Vorh = False
If Cells(Zei, 1) = Cells(Zei - 1, 1) Then
Vorh = Cells(Zei, 2) Cells(Zei - 1, 2)
End If
Cells(Zei, 4) = IIf(Vorh = True, "J", "N")
Next Zei
End Sub
Gruß
Reinhard
Vba und Formellösung
Hallo Wolfgang,
ich hab den Vba-Code nochmals geküzrt, der war dann auch kinderleicht in eine Formel umzusetzen:
=WENN(UND(A2=A1;B2B1);„J“;„N“)
Sub JN()
Dim Zei As Long
Cells(1, 4) = "N"
For Zei = 2 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(Zei, 4) = IIf(Cells(Zei, 1) = Cells(Zei - 1, 1) And Cells(Zei, 2) Cells(Zei - 1, 2), "J", "N")
Next Zei
End Sub
Gruß
Reinhard
Hallo Reinhard,
das ist ja ganz einfach, wenn mans kann,
anbei mein aufwendiger Versuch, über den Du wahrscheinlich schmunzelst! Der aber auch funzt:
_
Range(„J2“) = „N“
y = 3
Do Until Range(„A“ & y) = „“
’
If Range(„B“ & y) Range(„B“ & y - 1) Then
Range(„J“ & y).Value = „N“
’
ElseIf Range(„B“ & y) = Range(„B“ & y - 1) And Range(„G“ & y) = Range(„G“ & y - 1) Then
Range(„J“ & y).Value = „N“
’
ElseIf Range(„B“ & y) = Range(„B“ & y - 1) And Range(„G“ & y) Range(„G“ & y - 1) Then
Range(„J“ & y).Value = „J“
’
End If
y = y + 1
Loop
_
Danke nochmals, bis irgendwann
Wolfgang
anbei mein aufwendiger Versuch, über den Du wahrscheinlich
schmunzelst! Der aber auch funzt:
Hallo Wolfgang,
warum sollte ich darüber schmunzeln, ich zolle Respekt. Du hast ein Problem gelöst.
Oder auch wenn du es nicht gelöst hättest, du hast es probiert.
Gut, mein Anfangscode sah schon anders aus, aber auch viel zu kompliziert gedacht wie du auch.
Erst als der schon fertig war habe ich mir den so angesehen und mir so gedacht, der ist doch viel zu aufwendig für das Problem.
Ich habe mir dann nochmal die Wenn-Bedingungen für N oder J angeschaut und erst da hat es Klick gemacht undich sah wie kurz man das machen kann.
Und Formel zu Vba konnte man in dem Fall wirklich 1:1 übernehmen.
Gruß
Reinhard
Danke Reinhard,
dann kann ich ja weiter Probleme lösen, kann ja nur besser werden,
schönen Tag noch
Gruß Wolfgang