Anzeige
Archiv - Navigation
1452to1456
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

Bedingung einfügen

Bedingung einfügen
29.10.2015 09:55:34
Ralph
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

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Korrektur
29.10.2015 09:57:03
Ralph
Verzeihung in Zeile 9 soll die eine Bedingung sein, nicht in 8

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

AW: Korrektur
29.10.2015 11:46:47
Ralph
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

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

AW: Schon wieder eine Korrektur, Sorry
29.10.2015 12:02:45
Ralph
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ß
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige