Formatierung eines Feldes in Abhängigkeit des Werts

  • #21
Hallo Wolfgang,

die Datei ist soweit OK, bis auf ein paar verbundene Zellen.
Habe den Link in der Schnelle übersehen.

Verbundene Zellen sind eine schöne Sache, aber mit über Über Auswahl zentrieren erreicht du fast den selben Effekt, zumindest wenn es um die gleiche Zeile geht.

Mit dem zwischen speichern ist es so eine Sache, am besten immer von Zeit zu Zeit mit aufsteigender Nummerierung die Datei speichern.
Leider wird das ab und zu Vergessen, das ist mir auch schon Passiert.
 
  • #22
Hallo Karl,

Verbundene Zellen sind meist ganz geckig für die Formatierung:
bei den verschiedenen Spaltenbreiten habe ich oft das Problem, den Rest drumherum hübsch einzubauen.

Insgesamt geht jetzt alles so, wie ich es mir wünsche, und was jetzt noch käme, wäre Luxus (Feintuning).

Im Eingabeformular werden die nicht exisitenten Warengruppen jetzt bei deren Eingabe hellgrau formatiert: hübscher fände ich, wenn die ganze Zeile (von Spalte A - Spalte D) gestrichen wäre. Luxus. Mir war es aber zu aufwendig, jede Zelle zu formatieren und so was Globales über alle ausgeschlossenen WGs und alle Spalten (A-D) in Abhängigkeit ausgeschlossener Warengruppen habe ich nicht geschafft. :-(

----

Wir haben auch 7-stellige Artikelnummern. Für diese brauchen ich keine Summenbildung, weil die mengemässig exakt gebucht werden müssen. Daher habe ich die bisher ignoriert.

Wenn ich jetzt solche Zeilen (4 Felder/Zellen) 1:1 (im Anschluß an die Warengruppen) ab Zeile 118 in der Druckübersicht haben möchte... wie müsste ich sowas angehen?

Geht das?
Wenn ja: Makro?

Oder geht das auch einfacher?

---

Für mich wieder schwierig, wobei ich schon überlege, wie so was gehen könnte.


  • [li]Es müsste die Spalte B (oder Y) geprüft werden, ob es dort einen Wert gibt, der > 99 ist.[/li]
    [li]Wenn nein, nächste Zeile[/li]
    [li]Wenn ja: Werte aus Spalte A-D dieser Zeile merken[/li]
    [li]Im Bereich Druck auf Zeile 118 gehen und prüfen, ob die noch leer ist[/li]
    [li]Wenn die erste Zelle der Zeile leer ist: einfügen[/li]
    [li]Wenn nicht leer: zur nächsten Zeile und so weiter, bis eine leere Zeile gefunden wurde und dort einfügen[/li]
    [li]Zurück zur Eingabeseite und weitersuchen[/li]

Ist das gedanklich so richtig

---

Zum Hochkomma: das man damit Zeilen deaktivieren kann, wusste ich nicht.
Das REM kenne ich von meinem C64. :)
Ich habe 2 Stück unter die Antiquitäten gepackt und mein Sohn (14) will die jetzt mal anschließen.

Vielen Dank für Deine Geduld und Mithilfe.

P.S.
Datei ist aktualisiert:
 
  • #23
Hallo Wolfgang,

Habe einmal zum Test 2 neue Tabellenblätter eingefügt.
Blatt Uebernahme und Blatt Auswertung

Habe dann aus dem Blatt Formular von X4 bis AA500, die Daten ausgeschnitten und in das neue Blatt Uebernahme eingefügt.
Anschließend aus dem Blatt Formular von AC4 bis AE100, die Daten ausgeschnitten und in das neue Blatt Auswertung eingefügt.

Jetzt besteht die Möglichkeit, Zeilen in diesen neuen Blättern, gezielt ein oder auszublenden.

Das könnte dir weiterhelfen.
 
  • #24
Hallo Karl,

Vielen Dank.

Der Ansatz dieser Idee wäre mir nicht gekommen, obwohl sie sowas von logisch ist.
Ich hatte immer überlegt, ob ein Macro nicht da arbeiten wird, wo ich es nicht will und mir das durcheinander bringt. Aber die Idee, das einfach auszulagern, lag wohl zu nahe.

Die Spalten habe ich nach Deinen vorgaben eingefügt und die Daten umgelagert.

Um es etwas übersichtlicher zu haben, wenn das Macro mal läuft, habe ich die Uebernahme noch einmal kopiert und Druck2 genannt, was für die Jungs und Mädels hier auch verständlicher ist.

Dann habe ich Dein Macro aus dem Druck genommen, es in den Druck2 kopiert und angepasst. Für die meisten Leser und Leserinne hier mag das nichts besonderes sein, aber ich war richtig froh, dass es auf Anhieb funktionierte.

Dann kommen noch so Kleinigkeiten, dass es dann an anderen Rechnern nicht funktionierte, aber nach 15 Minuten habe ich festgestellt, dass auf dem Rechner Makros ohne Rückmeldung deaktiviert wurden.

Noch Lust? Oder bist du mich leid? :)
Schöner wäre es natürlich, wenn man die beiden Druckseiten auf einer Seite zusammenfassen könnte. Klar geht das auch anders, und die Funktionen, die wir gewünscht haben, sind alle da, aber... Luxus. :)

Die aktuelle Version
 
  • #25
Hallo Wolfgang,

was soll Dir mit der Zeile im Makro der Tabelle Druck gelistet angezeigt werden?
Code:
If Cells(Wiederholungen, 2) < 2000000 Then

oder sollte die Zeile so aussehen?
Code:
If Cells(Wiederholungen, 3) = 0 And Cells(Wiederholungen, 4) = 0 Then
 
  • #26
Guten Morgen, Karl,

ich habe in dieser Spalte die Warengruppen. Diese liegen zwischen 10 und 99.

Angezeigt bekommen möchte ich aber nur die Listungsartikel. Die sind siebenstellig und beginnen mit einer 2, gefolgt von der Warengruppe und freien Ziffern, wie zum Beispiel 2170001.

In Druck gelistet sollen ja nur die langen Nummern angezeigt werden: die Warengruppen habe ich ja in Druck. So lasse ich dort alle Zeilen mit einem Wert von unter 2000000 in Spalte B (=2) ausblenden, welches die Warengruppen einschliesst.

Dann passt das Ergebnis.

Ich werde nachher mal eine Liste mit Buchungsdaten füllen, damit Du das besser erkennen kannst.
 
  • #28
Hallo Wolfgang,

Zu deiner Möglichkeit der Zellformatierung, WG vorhanden oder nicht über Bedingte Formatierung(z:B:Hintergrund Rot)

Als Beispiel lege Dir eine Spalte mit nicht Vorhandenen WG an und gebe diesem Bereich den Namen NichtVorhanden,
dieser Bereich NichtVorhanden, darf auch etwas Größer sein, falls noch WG in diesem Bereich nachgetragen werden!

Den Bereich NichtVorhanden anlegen:
z.B. Die Zellen Markieren von AA2 bis AA1000 und Links Oben im Namenfeld in dem AA2 steht NichtVorhanden für diesen Bereich eintragen.

in diesem Bereich kannst du jetzt Formeln (WG vorhanden oder nicht Vorhanden, das Ergebnis muß die WG sein, oder ) ,
oder den Wert der WG (10, 44, 55 u.s.w.) selbst eintragen


Jetzt die erste Eingabe- Zelle der WG z.B. B8 in deinem Blatt Formular Markieren und die Folgende Bedingte Formatierung eintragen.

Bedingung 1
Code:
Zellwert ist (ACHTUNG Zellwert ist)
gleich
0
Dein gewünschtes Format Wählen, z.B. die Standard- Formatierung,
da die Nullwerte, oder Leerzellen im Bereich NichtVorhanden,
der Bedingung 2 abgefangen werden sollen.


Bedingung 2
Code:
Formel ist (ACHTUNG Formel ist)
=ODER($B8=NichtVorhanden)
Dein gewünschtes Format Wählen, z.B. den Zell- Hintergrund Rot, oder Grau

Dieses Format auf die gewünschten Zellen übertragen

Ich Hoffe, die Erklärung war einiger Maßen Verständlich!
 
  • #29
Hallo Wolfgang,

um schnell deine definierten Bereiche im Arbeitsblatt anzuzeigen, kannst du Links Oben, Rechts vom Namensfeld auf den kleinen Pfeil drücken und den gewünschten Bereich wählen, dieser Bereich wird Dir dann Markiert angezeigt, so brauchst du nicht Blind nach einem bestimmten Bereich suchen, um einen Wert, Formel u.s.w. nach zu tragen, ändern, oder zu löschen!

Nachtrag:
Die Lösung mit der Bedingten Formatierung, da du die Nullwerte Zeilen aus dem Postig- Start ausblendest, und deshalb die Möglichkeit diese hierfür einzusetzen wieder gegeben ist.
 
  • #30
hddiesel schrieb:
Bedingung 2
Code:
Formel ist (ACHTUNG Formel ist)
=ODER($B8=NichtVorhanden)
Dein gewünschtes Format Wählen, z.B. den Zell- Hintergrund Rot, oder Grau

Ich Hoffe, die Erklärung war einiger Maßen Verständlich!

Puuh... jetzt hast du mich geschafft. :)

Insgesamt tue ich mich schwer, und wollte erst einmal das machen, was ich verstanden habe. :)
Aber bei der 2. Bedingung finde ich unter bedingte Formatierung kein Feld mit Formel. :-(

Mit NichtVorhanden anlegen meinst du eine Spalte (in der Eingabemaske) oder einen neuen Reiter?
 
  • #31
Hallo Wolfgang,

dann versuche es mal mit dem Kleinen Pfeil Rechts neben Zellwert ist

Mit NichtVorhanden anlegen meinst du eine Spalte (in der Eingabemaske) oder einen neuen Reiter?

genau, eine Spalte im Blatt Formular diese Spalte kannst du auch später wenn gewünscht ausblenden!

Kann aber auch in einem anderen Arbeitsblatt sein, der Bezug NichtVorhanden hat Globale Gültigkeit in dieser Arbeitsmappe.

Das heißt mit =ANZAHL(NichtVorhanden), kannst du die Anzahl nicht vorhandener WG aus jedem Arbeitsblatt prüfen, z.B. im Bereich NichtVorhanden, sind 15 WG eingetragen, dann ist das Ergebnis von =ANZAHL(NichtVorhanden) die Zahl 15, ganz gleich in welchem Arbeitsblatt der Arbeitsmappe diese Formel steht.
 
  • #32
Hallo Wolfgang,

es könnte zu Beschreibungsproblemen kommen, an der Dateiendung labu.xlsm sehe ich, du arbeitest mit Excel 2007, oder 2010,
da ich noch mit Excel XP(2002) arbeite, kann ich dir nicht immer alle Vorgehensweisen genau Beschreiben.
Bis Excel 2003 ist das noch kein Problem, da geht das noch einigermaßen.

Hilfreich für dich wäre auch in der Hilfe nach Benennen von Zellen in einer Arbeitsmappe zu suchen, falls meine Anleitung zu NichtVorhanden nicht passen sollte.
 
  • #33
Hallo Karl,

das Benennen war nicht so das Problem, wenn man weiss, dass es das gibt. Den habe ich über die rechte Maustaste gefunden.

Die erste Bedingte Formatierung hatte ich schon eingetragen. Für die 2. Bedindung durfte ich keine weitere Bedingung anlegen, sondern musste über Regeln zum Hervorheben von Zellen -> Gleich gehen. Da konnte ich dann die Formel eintragen.

Jetzt habe ich bei allen Feldern, die keine Werte (Verbotswarengruppen) eingetragen haben, auch die gewählte Formatierung: das wollte ich eigentlich nicht. Ein Anhalten dieser Regel (1) ändert das nicht. Ich jetzt einfach alle Zellen in der spalte nichtVorhanden mit einem Wert gefüllt, und damit habe ich das umschifft.

Jetzt sende ich das erst einmal ab und schaue, was noch zu beantworten ist.

 
  • #34
Hallo Wolfgang,

das Problem mit er Einfärbung liegt an der Reihenfolge der Bedingung.

Richtige Reihenfolge:
1. Bedingung = 0
2. Bedingung = NichtVorhanden

dann hast die Nullwerte abgefangen, habe Dir das auch so geschrieben.
Bei dieser Reihenfolge, kannst du Werte in NichtVorhanden löschen, es müssen nicht alle Zellen belegt sein.

Falsche Reihenfolge:
1. Bedingung = NichtVorhanden
2. Bedingung = 0

dann hast die Nullwerte nicht abgefangen.
Bei dieser Reihenfolge, kannst du keine Werte in NichtVorhanden löschen, es müssen alle Zellen belegt sein.
Genau das sollte verhindert werden.

Es kommt nicht auf die vorhandenen Einträge in den Bedingungen an, sondern die Reihenfolge muß auch stimmen.

Einfach mal testen und du bist wieder ein Stückchen weiter.


Ps. Ohne Rückschläge gibt es kein Weiterkommen, nur so kann man dazu lernen, ging und geht mir auch so.

Das mit der Reihenfolge betrifft nicht nur die Bedingte Formatierung, ist auch bei Formeln und vor allem in Makros sehr Wichtig!
 
  • #35
Hallo Klaus,

Danke. Das hat geklappt. Kleine Ursache, große Wirkung.
Andersherum geht es.

Wenn Felder in Bereich NichtVorhanden leer sind und im Feld Warengruppe ein Feld auch leer ist, macht er natürlich? die hinterlegte Formatierung dort auch. Da das nicht gewünscht ist, habe ich die Regel mit Wert = 0 angehalten, und schon war alles sauber.

Spontan fällt mir jetzt nichts mehr ein, und ich werde die Datei auf dem Server gleich mal aktualisieren.

Die Mädels wollen gern nicht nur eine Übersicht, sondern auch für den Notfall ein Kontrollblatt ausdrucken, auf dem man die Einzelbuchungen noch einmal nachvollziehen könnte.

Durch die Unterteilung Warengruppen und Artikelnummern habe ich schon 2 Seiten, die gedruckt werden, und so käme eine dritte Seite hinzu.

Kann man es regeln, dass man nur 1x druckt (also den Druck anwirft), aber doch alle Blätter hätte?

Oder kann man zumindest die Tabelle Druck und Druck gelistet auf einer Seite unterbringen? Wobei ich da eine Idee hätte und nachher erst einmal was probieren werde. Ich würde die Ergebnisse, die in Druck und Druck gelistet ankämen, auf einer dritten Seite herüberholen und so müßte das gehen... werde ich mal testen. Aber vielleicht geht es auch viel einfacher. :)
 
  • #36
Hallo Wolfgang,

1. Möglichkeit, per Makro,
die Einstellungen im Makro auf deinen Drucker anpassen, danach einem Button, einer Grafik, oder einem Testfeld das Makro zuweisen und mit einem Klick die gewünschten Seiten Drucken.

Code:
Sub WunschDruck()
  Sheets(Array(Druck, Druck gelistet)).Select
  Application.ActivePrinter = Canon Inkjet i865 auf Ne06:
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End Sub

2. Möglichkeit die Daten zusammenfassen auf einem Blatt.

3. Möglichkeit, mit Hilfe eines anderen Forum-Mitglieds, welches sich in Sachen Excel, Makros u.s.w. besser auskennt als ich, eine passende Lösung finden.
 
  • #37
Hallo Karl,

ich denke, ich werde mich für Lösung 2 entscheiden, weil ich da schon mit begonnen habe. :)
Jetzt ist aber langsam Feierabend: mal schauen, ob ich morgen was tue.

Herzlichen Dank für die Unterstützung.
 
  • #38
Hallo Wolfgang,

ein weiterer Schritt!
3 weitere Bereichsnamen vergeben und die Formeln anpassen!
Macht etwas Arbeit, aber deine Formeln werden durch Bereichsnamen auch übersichtlicher!
Aber Bitte, immer mit einer Kopie arbeiten und Zwischenspeichern mit einer aufsteigender Nummer nicht vergessen,
so kannst du den einen oder anderen Flüchtigkeits- Fehler bei Bedarf noch Rückgängig machen.

******************************************************************
Weitere Bereichsnamen im Blatt Uebernahme vergeben
******************************************************************
Zelle B5 bis B497 markieren
den Bereichsnamen WG vergeben

Zelle C5 bis C497 markieren
den Bereichsnamen EK vergeben

Zelle D5 bis D497 markieren
den Bereichsnamen VK vergeben
******************************************************************
******************************************************************

Jetzt deine Formeln anpassen, an die vergebenen Bereichsnamen, durch Ersetzen...
****************************************
Ersetzungen in Blatt Auswertung:
****************************************
Zelle B5 bis B94 markieren
Ersetzen durch:

Uebernahme!C$5:C$497
durch
EK

und
Uebernahme!B$5:B$497
durch
WG
**************************************
**************************************
Zelle C5 bis C94 markieren
Ersetzen durch:

Uebernahme!D$5:D$497
durch
VK

und
Uebernahme!B$5:B$497
durch
WG
**************************************
**************************************
Nun das Ergebnis der Formelumstellung:
**************************************
Vorher Formel in:
Zelle B5
=SUMMENPRODUKT((Uebernahme!C$5:C$497)*(Uebernahme!B$5:B$497=10))

Nachher:
Zelle B5
=SUMMENPRODUKT((EK)*(WG=10))

Vorher Formel in:
Zelle C5
=SUMMENPRODUKT((Uebernahme!D$5:D$497)*(Uebernahme!B$5:B$497=10))

Nachher:
Zelle C5
=SUMMENPRODUKT((VK)*(WG=10))
 
  • #39
Hallo Wolfgang,

am besten die Anleitung ausdrucken und Schritt für Schritt abarbeiten.

Dann Wünsche ich Dir noch ein schönes Wochenende!

NACHTRAG:
Die Anleitung und Angaben beziehen sich auf die Bereitgestellte Tabelle.
 
  • #40
Hallo Wolfgang,

eine Änderung würde dir noch den Umgang mit deinen Formeln in Blatt Auswertung erleichtern,
denn der Wert am Ende der Formel z.B., die Fomel in B5, nach Umstellung auf Bereichsnamen.
Code:
=SUMMENPRODUKT((EK)*(WG=10))
ist immer der Gleiche Wert, wie in Spalte A der selbenen Zeile.
Code:
=SUMMENPRODUKT((EK)*(WG=$A5))

*********************************************************************************************
* Ein Vorteil ergibt sich da durch, schon bei der Umstellung auf Bereichsnamen. *
*********************************************************************************************
In Blatt Uebernahme, die Bereichsnamen WG, EK und VK vergeben,

In Blatt Auswertung, folgende Formel in die Zelle B5 eintragen:
Code:
=SUMMENPRODUKT((EK)*(WG=$A5))


In Blatt Auswertung, folgende Formel in die Zelle C5 eintragen:
Code:
=SUMMENPRODUKT((VK)*(WG=$A5))

Anschließend kannst du beide Formeln nach unten ziehen oder Kopieren
und die Umstellung ist Perfekt.

Einen Nachteil hast du dabei nicht, auf die Namensbereiche WG, EK, und VK kannst du auf die alte Weise zugreifen,
z.B. EK
= C5:C497

oder eben mit
= EK


Nachtrag:
Sorry daß mir das erst heute Morgen eingefallen ist,
aber wie heißt es so schön.

Erst einmal darüber Schlafen

Oh wie Wahr.

Wünsche dir noch einen schönen Sonntag!
 
Thema:

Formatierung eines Feldes in Abhängigkeit des Werts

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.849
Beiträge
708.001
Mitglieder
51.499
Neuestes Mitglied
sugarland
Oben