Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Verzweigte Schleife zum Kopieren
#11
Hallo joshua,

ich habe

a) Bei einem Exit zu beginn einer Gruppe das Maximum auf -9^9 gesetzt. Das wird hoffentlich nicht der maximale Wert in der Gruppe bleiben.

b) Falls die Gruppe nur eine Zeile hat, wird jetzt auch die Farbe aus Spalte K genommen.

c) Die Farbgebung der letzten Gruppe korrigiert.


Angehängte Dateien
.xlsm   Beispielmappe.xlsm (Größe: 62,67 KB / Downloads: 9)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • joshua
Antworten Top
#12
Hallo ego!

Vielen Dank nochmal für deine Lösung.
Diese funktioniert nun nahezu perfekt.

Da "Exit" manchmal auch klein geschrieben wird, habe ich diese eine Variable Text = "Exit" deklariert und die Variable "Text" anschließend an den entsprechenden Stellen ausgetauscht.

Leider kommt es noch zu einem Fehler, sobald es innerhalb einer Nummerierung mehr als zwei "Exit" vorhanden sind.

So müsste hier A12:A14 die Farbe grün erhalten.


[url=
Dateiupload bitte im Forum! So geht es: Klick mich!
]

Wie ist dieser Fehler nun zu beheben?
Anbei einmal die angepasste Beispieldatei


Beste Grüße


Angehängte Dateien
.xlsx   Beispielmappe.xlsx (Größe: 51,17 KB / Downloads: 4)
Antworten Top
#13
Und wo ist da angepasste Makro?
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#14
Hallo,

ich habe jetzt beim Prüfen auf "EXIT" die Funktion UCASE genutzt.


Angehängte Dateien
.xlsm   Beispielmappe-4.xlsm (Größe: 63,44 KB / Downloads: 4)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#15
Helmut, ich bedanke mich!

Mit den aktuellen Datensätzen funktioniert es super.
Sollten sich weitere Probleme ergeben, so melde ich mich.


Ich habe den angepassten Code nicht in die Excel-Datei eingefügt, da diese Excel-Makro-Dateien für manchen ein Sicherheitsrisiko darstellen.
Ich hätte den Code natürlich auch direkt posten können.
Deine Variante mit UCASE gefällt mir aber viel besser.




Merci!
Antworten Top
#16
Hallo joshua,

Antwort auf die PN
Zitat:Ich habe nun mit zusätzlichem Code folgendes versucht zu definieren:
Code:
Code:
    Dim ZeileMax As Long
 
    ZeileMax = Cells(Rows.Count, "A").End(xlUp).Row
   
    Set rngListe = tblSummary.Range("A1:S" & ZeileMax)
Leider kommt dadurch der Fehler "Unverträgliche Typen" bei "dblMax = varListe(lngVonZeile, conSpMax)"
Gibt es noch eine Möglichkeit rngListe von der Länge her dynamisch zu gestalten?

1)ListObject
In dem code gibt es noch kein "ListObject" , sondern nur einen Bereich ("Range") mit Namen.

2) Erweiterung
Wenn du den benannten Bereich erweitern willst kannst du das entweder
a) explizit, indem du im Menu "Formeln" unter "Namensmanager" den neuen Bereich, für den der Name steht festlegst, oder
b) implizit, indem du Zeile/Spalten nach der ersten und vor der letzten Zeile/Spalte einfügst.

3) Zu deiner Änderung
Ich versuche in meinen  Programmen zu vermeiden Adressen fest einzutragen ( Wie dein "A1:S"). Ich kann dadurch die auszuwertenden Bereiche beliebig in der Datei positionieren und auch Einträge neben und unter den auszwertenden Daten schreiben.

4) Zu deinem Fehler
Ich nehme an, dass deine Liste Überschriften hat, in denen Texte sind. Wenn du darauf bestehst die Adresse fest einzutragen solltest du "A2:S" nutzen.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#17
Stimmt, der Fehler lag den der Definiton der Bereiches ab A1.
Mit folgender Lösung habe ich eine variable Lösung:

Code:
   ZeileMax = Cells(Rows.Count, "A").End(xlUp).Row
   
       Set rngListe = tblXXX.Range("A2:S" & ZeileMax)
Wie würdest du es nun gestalten, wenn die Tabelle immer einer unterschiedliche Länge besitzen?
Antworten Top
#18
Hallo joshua,

siehe Punkt 2) meiner letzten Bemerkung und meine Signatur.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste