Clever-Excel-Forum

Normale Version: Werteangaben in Spalte A und B abwechselnd und unzutreffende Zellen löschen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Liebe Excel-Freunde,

folgendes Problem: in der Spalte A sind mehrere Kauf-Preise und in der Spalte B mehrere Verkaufs-Preise angegeben. Zu jedem ersten Kaufpreis gehört der erste Verkaufspreis und zu jedem ersten Verkaufspreis gehört der erste Kaufpreis. Im Bild habe ich die Zugehörigkeit der Kauf- und Verkaufspreise durch Pfeile markiert. Die durchgestrichenen und nicht passenden Zellen müssen gelöscht werden. Hinweis: beide Spalten enhalten Formeln (Wenn-Funktionen).
Habt Ihr eine Idee, wie ich das machen kann?

Danke schon mal hierfür! Smile
Hallo

mit Formeln kenne ich mich nicht aus, wage aber zu sagen:  Bei so einem Durcheinander einer Tabelle werden auch die besten Formelprofis kaum einen Sinn hineinbekommen, was da zusammengehört, und was gelöscht werden muss?? Auch per VBA mach ich mir keinen Kopf das zu lösen. Diese Zuordnung kann nur derjenige kennen und auswerten, der mit eurer Preisliste vertraut ist. Sein Auge kann das sehen, wir können nur "Raetselraten" spielen! 

mfg Gast 123
Hallöchen,

erst mal einfach mit Eintragung der bleibenden Zeilen in einer Hilfsspalte - hier C Du kannst dann nach den Zellen ohne x in Spalte C filtern - also den leeren, und diese löschen. Im Anschluss müsstest Du nur noch die Zahlen zusammenziehen Smile

Code:
Sub test()
'Variablendeklarationen
Dim iCnt%, bo_A As Boolean
'in Startzeile - C2 "x" eintragen
Cells(2, 3) = "x"
'x eingetragen fuer Spalte A merken
bo_A = True
'Schleife bis Zeile 20 - Zahl anpassen!
For iCnt = 3 To 20
  'wenn in B was > 0 steht und "x" gemerkt wurde, dann
  If Cells(iCnt, 2) > 0 And bo_A = True Then
    'x eintragen
    Cells(iCnt, 3) = "x"
    'x fuer Spalte A nicht mehr merken
    bo_A = False
  'oder wenn in A was > 0 steht und "x" nicht mehr gemerkt wurde, dann
  ElseIf Cells(iCnt, 1) > 0 And bo_A = False Then
    'x eintragen
    Cells(iCnt, 3) = "x"
    'x eingetragen fuer Spalte A merken
    bo_A = True
  'Ende wenn in B was > 0 steht ...
  End If
Next
End Sub
Zunächst vielen Dank Andre für deinen Vorschlag, aber:
Habe ich dich richtig verstanden, dass ich die Zellen, die ich benötige manuell in die Spalte C kopiere und anschließend die leeren Zeilen entferne? Falls es so ist, dann habe ich tausende Zeilen, das wird schwierig. Smile
Mir geht´s eigentlich darum, dass die nicht durchgestrichenen, also die zu verbleibenden, Zellen bleiben, wo sie sind, aber die Werte in den durchgestrichenen Zellen sollen entfernt werden. Ziel ist es, dass in den beiden Spalten abwechselnd 1x Kaufen und 1x Verkaufen-Werte stehen.
Hallo ProteinX,

ja du hast André richtig verstanden. Das Makro von André fügt in Spalte C etwas provisorisches ein. Wenn deine Spalte C besetzt ist, nimmst du dir irgendeine leere rechts am Ende deiner Einträge, merkst dir die Spaltenzahl und änderst im Makro die Zahl 3 bei      Cells(2, 3) = "x"  bzw. bei   Cells(iCnt, 3) = "x"   auf deine Spaltenzahl.
Und das in allen anderen Bezügen. Am Ende, damit deine Provisorien auch wieder gelöscht werden fügst du vor End Sub folgenden Löschbefehl (schaffen die Profis mit cleverem Befehl) folgendes ein:


For iCnt = 2 To 20  'diese 20 änderst du auf deine Anzahl der tausenden Zeilen 
    If Cells(iCnt, 3) <> "x" Then
      Cells(iCnt, 2).Clear
      Cells(iCnt, 1).Clear
    End If
    If Cells(iCnt, 3) = "x" Then
      Cells(iCnt, 3).Clear
    End If
Next



Gruß Rudi
Hallo Rudi´S,

auch dir Danke für das Makro. Ok gut, ohne diese Makros und nur mit Excel-Formeln komme ich anscheinend nicht weit. Ich werde Eure Tipps demnächst umsetzen. Sollte es nicht gehen, melde ich mich. Smile Beste Grüße!
Hallöchen,
Nein, du kopierst nichts in die Spalte C. Das Makro trägt in Spalte C ein x wenn die Zeile bleibt.
Ihr habt mir aus der Patsche geholfen, Andre und Rudi`S!
Andre, dein Makro hat mich ein wesentliches Stück weitergebracht. Rudi`S, den Löschbefehl vor End Sub habe ich auch integriert und läuft!
Danke Euch beiden und bleibt bitte gesund! [img]
Dateiupload bitte im Forum! So geht es: Klick mich!
]