Bedingung einfügen

Bild

Betrifft: Bedingung einfügen
von: Ralph
Geschrieben am: 29.10.2015 09:55:34

Hallo, liebe Excel-Füchse, ich brauche dringend Hilfe mit einem WENN UND Problem
Den unten eingefügten Code habe ich mit dem Makrorekorder in relativer Aufzeichnung aufgenommen. Es werden immer wieder zwei Spalten hinten ankopiert (von Zeile 9 bis 75)
(Das sind praktisch binäre Kombinationen, die unten immer um eine Stelle länger werden sollen. Das alte Muster wird also wieder zweimal hinten ankopiert und darunter immer eine 1 und im zweiten Fall eine 0 angefügt)
Mein Problem ist nun, und ich bin in VBA leider noch immer bescheiden...es soll immer nur eine 1 angehängt werden, wenn nicht in Zeile 8 dieser neuen Spalte eine 0 UND vor der mit dem neu angehängten Wert eine 1 steht
Und er soll nur eine 0 anhängen, wenn nicht in Zeile 8 dieser neuen Spalte eine 1 UND vor der mit dem neu angehängten Wert eine 0 steht
Danke im Voraus

Sub Makro1()
'
' Makro1 Makro
'
'
    For a = 754 To 1685
    ActiveCell.Range("A1:A75").Select
    Selection.Copy
    ActiveCell.Offset(0, a).Range("A1").Select
    ActiveSheet.Paste
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveSheet.Paste
    
    
    ActiveCell.Offset(13, -1).Range("A1").Select
    Application.CutCopyMode = False
    ActiveCell.FormulaR1C1 = "1"
    
    
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "0"
    
    ActiveCell.Offset(-13, a * -1).Range("A1").Select
    Next a
End Sub

Bild

Betrifft: Korrektur
von: Ralph
Geschrieben am: 29.10.2015 09:57:03
Verzeihung in Zeile 9 soll die eine Bedingung sein, nicht in 8

Bild

Betrifft: AW: Korrektur
von: MCO
Geschrieben am: 29.10.2015 10:41:06
Sorry,
aus dem Kauderwelsch werde ich nicht schlau.
Bitte poste mal die Tabelle, mit dem gewünschten Ergebnis.
Gruß, MCO

Bild

Betrifft: AW: Korrektur
von: Ralph
Geschrieben am: 29.10.2015 11:46:47
Oh...das ist eine sehr große Anwendung mit vielen Arbeitsblättern. Auf einem Blatt sind senkrechte Musterkombinationen aus 1 und 0 untergebracht (ähnlich Binärzahlen) die immer eine Stelle länger werden sollen
also etwa
1 1
0 0
0 1
1 1 usw.
Um nun die nächsten, fünfstelligen zu erzeugen, wird immer zweimal das vierstellige wieder dahinter kopiert und bei beiden einmal unten eine 1 und einmal eine angefügt. Wenn man das mit allen vierstelligen macht, hat man wieder alle möglichen 5 stelligen Kombinationen
Genau das macht das Makro, da aber schon im 14 stelligen Bereich. Es kopiert immer eines der Muster zweimal ans Ende in die erste freie Spalte und fügt beim ersten eine 1 und beim zweiten eine 2 hinzu.
da das aber zigtausende werden, und das Löschen unnötiger Kombinationen immer langsamer und mühseliger wird, möchte ich lieber die nicht bnötigten gar nicht erst schreiben lassen.
Darum soll bei denen, die im ersten Zeichen eine 1 und vor dem neu zu schreibenden eine 0 haben, keine 0 bekommen...
und die, die im ersten Zeichen eine 0 und vor dem neu zu schreibenden eine 1 haben, keine 1 bekommen
Also in dem Makro praktisch If then Anweisungen, die in diesen beiden Fällen keine 0 bzw. 1 schreiben.
Falls es noch immer unverständlich ist, versuche ich eine Mustertabelle anzuhängen

Bild

Betrifft: Schon wieder eine Korrektur, Sorry
von: Ralph
Geschrieben am: 29.10.2015 11:48:39
Es wird immer einmal eine 0 bzw. eine 1 angefügt

Bild

Betrifft: AW: Schon wieder eine Korrektur, Sorry
von: Ralph
Geschrieben am: 29.10.2015 12:02:45
Hab hier die Tabelle mal einzeln gestellt. Es werden tausende Muster. Wenn du die Markierung in ATK 9 stellst und STRG/ALT F1 drückst, werden die nächsten Muster, die um eins länger sind, dahinter automatisch gezeichnet. Die Felder sind bedingte Formatierungen mit 1 (grün) und 0 (rot)
Ich brauche aber nicht die, entweder oben grün und unten zweimal rot sind oder oben rot und unten zweimal grün.
Darum soll bei denen die:
- oben rot und beim bisherigen letzten Feld grün keine 1
und bei denen, die
- oben grün und beim bisherigen letzten Feld rot sind, keine 0 geschrieben werden.
Es müsste also vor dem Eintragen Zeile 9 und Zeile 21 abgefragt werden und im Eventualfall kein Wert eingefügt werden
Wenn die weiterhin geschrieben werden, werden das durch das dauernde verdoppeln ja unsagbar viele und das manuelle löschen hinterher dauert immer länger...
Danke im Voraus
Es geht leider nicht, die Tabelle ist 8 MB groß

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Bedingung einfügen"