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.

Automatische Rahmenlinien einer Zelle mit "Weißen Flecken"
#1
Guten Morgen zusammen,

ich möchte Euch um Eure Ideen bitten, folgendes Problem stellt sich mir. Mit der Filterfunktion kopiere ich Daten von einem Arbeitsblatt auf ein anderes Arbeitsblatt. Diese Daten haben je nach Projekt eine unbekannte Zeilenzahl. (Beispiel im Anhang     )
Diese Daten werden ausgedruckt und zur besseren Lesbarkeit formatiere ich die Rahmenlinien. Durch die Filterfunktion kann ich hier keine automatische Tabelle verwenden, wo es ja automatisch formatiert werden würde. Behelfsweise habe ich mit der bedingten Formatierung gearbeitet und auf "Keine leeren Zellen" geprüft. Leider stehen in nicht allen Zellen Daten, sodass es weiße Flecken ohne Rahmen in der Tabelle gibt.

Ich habe die Tabelle bis zur Zeile 500 mit allen Formaten formatiert, wenn es mehr wird, muss man von Hand weiter formatieren, es sei den es gibt hier auch eine Lösung. Wenn ich jedoch die Rahmenlinien auch bis zur Zeile 500 formatiere, kommen die auch beim Ausdruck mit raus.

Habt Ihr eine Idee dazu? VBA möchte ich gerne vermeiden, wenn es aber nicht anders geht...

Vielen Dank und Euch einen schönen Tag,
Viele Grüße
Candalfo
Antworten Top
#2
Moin!
Zeige doch mal die Datei.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Candalfo
Antworten Top
#3
Hallo,

(13.03.2024, 10:21)Candalfo schrieb: Leider stehen in nicht allen Zellen Daten, sodass es weiße Flecken ohne Rahmen in der Tabelle gibt.

nimm doch per Formel Bezug auf jeweils die Zelle einer Spalte, in der immer alle Zellen gefüllt sind.

Gruß, Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Candalfo
Antworten Top
#4
Moin Ralf,

ich habe hier eine Testumgebung, wo sich auf dem Arbeitsblatt "Print_ELT" das Verhalten zeigt. Alle Zellen, wo nichts drin steht, aber Rahmenlinien haben, erhalten ihre Linien durch eine 0, was die Filterfunktion mit sich bringt. Die Nullen sind nur ausgeblendet. Alle Zellen, wo keine Rahmenlinien vorhanden sind, haben keinen Wert. Künstlich Werte (auch Nullen) zu erzeugen, würde zu viel Aufwand sein.

Viele Grüße
Candalfo

.xlsx   ForumRahmenformat.xlsx (Größe: 66,54 KB / Downloads: 10)

Moin Uwe,

gute Idee, allerdings habe ich es bisher noch nicht geschafft, per Formel in der bedingten Formatierung zeilenweise etwas zu bewirken. Es gibt in jeder Zeile eine Zelle, welche immer befüllt ist. Zum Beispiel A4:A500.
Ich habe es mit =A4:A500<>"" versucht, es kommt das selbe Ergebnis heraus.

Viele Grüße
Candalfo
Antworten Top
#5
Moin!
• Markiere A4
• Als Formel der bedingten Formatierung =$A4<>"" (wichtig ist das erste $)
• Rahmen zuweisen, OK
• Bed.For, Regeln verwalten
• unter wird angewendet auf: → =$A$4 ändern

Das Doppelkreuz ist hier der "dirty trick".
Hierdurch wird bewirkt, dass sich der Anwendungsbereich der bed.For. automatisch dem Spillbereich der Formel anpasst.

Apropos Formel:
Dazu folgt gleich noch ein Beitrag.

Ich würde statt
=SPALTENWAHL(FILTER(B_ELT_Liste;B_ELT_Liste_Indikator<>0;0);1;2;3;4;5;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21)
einfach folgendes nehmen
=FILTER(B_ELT_Liste;B_ELT_Liste_Indikator<>0;0)
und die Spalte 6 (Etage) ausblenden.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Candalfo
Antworten Top
#6
Moin Ralf,

Super!  Thumps_up Vielen Dank. Das funktionierte. Diese kleinen "Magics" kannte ich noch nicht.

An alle Helfer eine schöne Restwoche,
Viele Grüße
Candalfo
Antworten Top
#7
Hi,
(13.03.2024, 11:56)RPP63 schrieb: Das Doppelkreuz ist hier der "dirty trick".
Hierdurch wird bewirkt, dass sich der Anwendungsbereich der bed.For. automatisch dem Spillbereich der Formel anpasst.
Das stimmt so leider nicht ganz. die bed.Form wird dadurch nicht dynamisch, sondern sie passt sich der jetzigen Größe des Spillbereichs an. Wenn sich der Spillbereich ändert, wird der Anwendungsbereich der bed.Form nicht mit angepasst. Habe ich mich auch schon drüber geärgert.

Zur Formel: das Ausblenden ist sicher das einfachste. Dennoch hätte ich noch zwei Varianten:

=LET(x;FILTER(B_ELT_Liste;B_ELT_Liste_Indikator<>0;0);HSTAPELN(ÜBERNEHMEN(x;;5);WEGLASSEN(x;;6)))

=FILTER(B_ELT_Liste;(B_ELT_Liste_Indikator<>0)*($A3:$U3<>"Etage");0)
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Candalfo
Antworten Top
#8
Moin Helmut,

vielen Dank für die beiden weiteren Möglichkeiten mit dem Filter.

Eine Frage, der Spillbereich einer Formel...ich habe darüber gegoogelt, die einzige sinnvolle Erklärung kam von MS, jedoch Auto-Übersetzt, was die Verständlichkeit erschwert. Kann man das in kurzen, klaren Worten umreißen?

Viele Grüße
Candalfo
Antworten Top
#9
(13.03.2024, 12:55)HKindler schrieb: … die bed.Form wird dadurch nicht dynamisch, sondern sie passt sich der jetzigen Größe des Spillbereichs an. Wenn sich der Spillbereich ändert, wird der Anwendungsbereich der bed.Form nicht mit angepasst.

Verdammt!
Du hast recht!
Zitat:Habe ich mich auch schon drüber geärgert.
Ich mich jetzt auch!

Aber da gibt es was von Ratiopharm:
Namensmanager, neuer Name: Spillbereich, bezieht sich auf: Tabelle2!$A$4#

Jetzt kann ich in der bed.For unter bezieht sich auf =Spillbereich angeben, was problemlos funktioniert.

@Candalfo:
Englisch to Spill bedeutet u.a. ausschütten.
Heißt hier, dass das Ergebnis einer einzigen Formelzelle in Spalten und/oder Zeilen "überläuft".
Falls da bereits ein Wert steht, kommt es daher auch zum Fehler #ÜBERLAUF!
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Candalfo
Antworten Top
#10
Hi,

ganz kurz erklärt: die neuen Spillformeln wie z.B. FILTER() geben idR mehr als ein Ergebnis zurück. Dies funktioniert nur, wenn genügend Zellen rechts und unterhalb für die Anzeige der Ergebnisse frei sind. Das ist der Spillbereich. Für die aktuelle Formel wird dieser mit einem blauen Rahmen umrandet, wenn eine Zelle innerhalb des Bereichs ausgewählt wird. In der Formeleingabeleiste wird der Formeltext hellgrau dargestellt, solange nicht die linke obere Zelle ausgewählt ist. Nur dort kann man dann die Formel ändern.

Bei =SEQEUENZ(4) brauchst du die Zelle mit der Formel und drei weitere unterhalb, also 4 Zellen. Bei =SEQUENZ(4;3) brauchst du einen Bereich von 4 Zeilen und 3 Spalten.

Wird auf das Gesamtergebnis einer Formel mit einer anderen Formel zugegriffen, dann geht das mit dem #-Zeichen direkt hinter der Zellangabe (der linken oberen Zelle). Steht also in A1 die Formel =SEQUENZ(4;3), dann kannst du mit A1# auf sämtliche Ergebnisse zugreifen. =MAX(A1#) liefert dir also 12 und =SUMME(A1#) liefert dir 78. Hingegen liefert dir =A1# einen weiteren 4x3-Spillbereich mit den Zahlen von 1 bis 12. Während =MTRANS(A1#) dir einen 3x4-Bereich mit vertauschten Zeilen und Spalten liefert.

(13.03.2024, 13:33)RPP63 schrieb: Jetzt kann ich in der bed.For unter bezieht sich auf =Spillbereich angeben, was problemlos funktioniert.
Ralf, was ist heute mit dir los? =SPILLBEREICH funktioniert genau so gut - oder besser gesagt schlecht - wie =$A$4#. Man kann es eintragen, es wird aber sofort in den gerade aktuellen Spillbereich umgewandelt und bei Änderungen nicht mit angepasst.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
[-] Folgende(r) 1 Nutzer sagt Danke an HKindler für diesen Beitrag:
  • Candalfo
Antworten Top


Gehe zu:


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