Setz mal ein ' oder " davor, das hilft normalerweise. Oder formatiere die Zelle VORHER auf Text (Zellen formatieren, Zahlen, Benutzerdefiniert, Text , am besten gleich einen größeren Bereich oder die ganze Spalte). (hab allerdings nicht OO, sondern andere Tabcalcs.)

...zur Antwort

Wenn ein Text die Rahmen- bzw Gitternetzlinien durchbricht, verschwindet die Linie auf dieser Seite. Wenn du die Zellgröße darstellen willst, musst du die Zelle einfärben oder mit Muster versehen. Das bleibt immer auf die Zelle begrenzt. Ist eben so bei xl (übrigens anders als bei Libre Office calc, aber das hat den Nachteil, dass die Linie häufig die Lesbarkeit des betroffenen Buchstabens beeinträchtigt.)

Wüsste nicht, wo man das einstellen könnte!

...zur Antwort

Geh mal ganz logisch an deine Rechnung ran und schleppe in Deiner Rechnung die Benennungen mit: sie müssen sich am Ende so rauskürzen, dass Ohm übrigbleibt.

Drücke mm in m aus, also 0,85 mm*1m/1000mm = 0,00085 m (die mm kürzen sich)

Mach das gleiche mit 1mm/1000000nm (um den einen irrsinnig kleinen Querschnitt in mm² zu erhalten), immerhin 0,15 mm Breite

Der Widerstand steigt mit der Länge, die muss also in den Zähler, und er sinkt mit dem Querschnitt, der muss also in den Nenner.

Versuche, deinen Denkblock (ist wahrscheinlich) zu beheben und dann müsste das schon klappen!

Die Methode mit dem Mitschleppen und Kürzen Von Benennungen solltest Du dir übrigens merken und auch dann anwenden, wenn es sich um eigentlich Dimensions-lose Zahlen handelt, z B wenn Du -ganz anderes Beispiel- mal Kreisbewegungen zu rechnen hast: 2U(mdrehung)/pro Sekunde ergibt nach 5 s eine Bogenstrecke von

2*r*3,14/U * 2U/s* 5s , U und s kürzen sich weg, es bleibt 2*r*3,14 * 2 * 5 und da r (meist) in m eingesetzt wird, das arithmetische Ergebnis also in m. Ich schreib das entsprechend einer alten (nicht mehr gültigen) Norm so:

2*r[m]*3,14/1[U]*2[U]/[s]*5[s] auf Papier mit waagrechten Bruchstrichen. Nach Kürzen der Benennungen bleibt [m] übrig: so waren also die Faktoren richtig auf Zähler und Nenner verteilt. Hat mir immer und immer wieder geholfen, Formeln richtig zu erstellen, insbes, mit milli-, µ, nano, pico bzw Kilo-, Mega, Giga, Tera- oder sec, min, h, Tage richtig umzugehen:

1[Tag]*24[h]/[Tag]*60[min]/[h]*60[sec]/[min] = 86400[sec]

Die AW ging wegen Netzblockade leider erst mit 1 Tag Verzögerung raus, sorry

...zur Antwort

Schau dir mal die Funktion WAHL() an, auch Vergleich eignet sich

zB =VERGLEICH(9;{0.2.4.7.11.15})-1

Hab das jetzt nicht für dich umgeschrieben, nur ein kurzes Beispiel konstruiert. Musst du selber noch fein"tunen"

...zur Antwort

den Ort des Eintrags D17 findest du mit ="Blatt7!"&ADRESSE(SUMMENPRODUKT((Blatt7!A1:K12="id17")*ZEILE(Blatt7!A1:K12));SUMMENPRODUKT((Blatt7!A1:K12="id17")*SPALTE(Blatt7!A1:K12));4)

den Blattnamen und 4x die Adressen musst du natürlich anpassen.

Das funktioniert, wenn der Bereich höchstens so groß ist wie oben und wenn das Suchwort nur 1x vorkommt. (mach den Bereich so klein wie möglich, die Formel dürfte den Prozessor ziemlich belasten)

Du kannst du die Zeile von A:Z so auswerten:

=indirekt("Blatt7!"&Zeile aus Formel;Spalte())) und nach rechts ziehen.

Die Spalte mit =indirekt("Blatt7!Spaltenbuchstabe aus Formel rechts daneben"&Zeile())

War teilweise Trockenübung, falls was nicht klappt, frag hier nach!

Das ganze natürlich je einmal für jedes Blatt

...zur Antwort

Da ich dein Fähnchen nicht habe, andere Zeichen. Mach eine Benutzer-definierte Zelle: Strg+1, Zahlen, Benutzerdefiniert (nicht: bedingtes Format!), Typ:

➽ Standard;[Rot]► -Standard;➡ Standard; @

anschließend formatierst du die Zelle auf horizontal - verteilt

wieder Strg+1, Ausrichtung, horizontal, ganz unten verteilt(Einzug)

heißt in neueren excels vllt ein bisschen anders, aber du wirst es schon finden!

Die Pfeile sind beliebig austauschbar (für Text hab ich jetzt keinen vorgesehen, wie wärs da mit einem schwarzen Smiley ☻ ? oder einem dicken Punkt ● ??

Gegenüber den bedingten Formaten sind die Ben-def-Zellformate zwar nicht so universell, aber dafür arbeiten sie fehlerfrei. Ich verwende sie gerne, weil mir bedingte Formate unter bestimmten Konstellationen die Datei abstürzen lassen.

...zur Antwort

auch Zuckerrohrsaft, Rübensaft, Ahornsaft etc werden in den grünen Teilen synthetisiert, aber aus anderen Teilen gewonnen! Und wenn die Pflanze aus Zucker Stärke macht, ist das vom Prinzip her auch nichts anders: Kartoffelknolle, Topinambur(weiß nicht, wie man die Inulinhaltigen Wurzelverdickungen nennt), aber auch in allen Getreide-, Mais-, usw ist die Stärke nichts anderes als dort aus Zucker synthetisierte Stärke!

Die Pflanze hat Transportmechanismen, die zwar anders funktionieren als unser Blutkreislauf, aber den Bedürfnissen der Pflanzen durchaus genügen.

Was keinen Zucker synthetisiert, sind Excel-Zellen, die transportieren auch keinen, allenfalls die Anschaffung von Office führt zu einer saftigen Rechnung!

...zur Antwort

Wenn du aus irgendwelchen Gründen mit den schon gemachten Vorschlägen nichts anfangen kannst (sie sollten aber alle gehen), dann kannst du den Mittelwert zurückführen auf Summe/Anzahl (back to the roots!).

Ich hab das jetzt nur innerhalb des Bereichs A6:B16 gemacht (kannst du beliebig erweitern). In C6 die etwas längliche Formel:

=(GANZZAHL(A5)<>GANZZAHL(A6)) *SUMMENPRODUKT((GANZZAHL(A$6:A$16)=GANZZAHL(A6))*B$6:B$16) /SUMMENPRODUKT((GANZZAHL(A$6:A$16)=GANZZAHL(A6))*1)

runterziehen. Ergibt jeweils in der ersten Zeile eines neuen Tages den Mittelwert, auch wenn der Tag 1, 2 oder 4, 5 Messungen umfassen sollte, also sehr flexibel

...zur Antwort

War nicht ganz einfach, aber ich denke, ich habs:

  • Mach Dir in Tabelle2 eine Liste der möglichen Sorten in A (hab da jetzt nur 5 Demo-Zeilen genommen.
  • beginne sie in Zeile 1 mit dem Eintrag AAA und schreib daneben in B1 Nicht gefunden
  • in A2:A4 schreibst Du die möglichen Obstsorten (Apfel, Orange, Traube,  übrigens immer Singular, denn Äpfel<>Apfel uvam. Willst Du auch Äpfel, Orangen erfassen, trage sie extra ein, aber Vorsicht: Traube ist in Trauben enthalten, Apfel in Äpfel nicht)
  • In A5 noch was ganz anderes, zB Zucchini
  • In B1:B5 die Kategorie: nicht gefunden, 3x Obst, in B5 Gemüse

ich habe in Tabelle1!A1 den Eintrag gesetzt: Erdapfelschalen (nicht eben erdÄpfelschalen), also apfel klein und mitten im Text, in A2 leer, in A3 hellorange Kaki

In B1 diese Matrix-{Formel}:

{=INDEX(Tabelle2!$B$1:$B$5;SUMMENPRODUKT(WENNFEHLER(1*(SUCHEN(Tabelle2!$A$1:$A$5;A1;1)>0);0)*ZEILE(Tabelle2!$A$1:$A$5)))}

Bemerkung zu Matrixformeln:

diese Formel aber ohne diese {Klammern} dann anstatt mit einfachem Enter mit Strg+Umsch+Enter eingeben (auch bei Korrekturen wieder). Die {Klammern} entstehen dann automatisch. (mach das mit der rechten Shift- und Ctrl-Taste, dann gehts mit einer Hand und ist leichter zu merken, du brauchst es nach jeder Korrektur!)

Die Formel liefert bei mir Obst, auch wenn ich in zB A3 die o.g. hellorange Kaki eingebe oder in A4 Konserven mit Zucchini-Stücken. bei leeren Zellen und nicht gefundenen Begriffen liefert die Formel Nicht gefunden.

Bei langen Listen könnte es sein, dass die Performance leidet, habs jetzt um halb zwei nachts nicht mehr ausprobiert.

Viel Erfolg, aber frag zurück, wenn was nicht klappt (bitte mit Positionen im Blatt und Fehlerbeschreibung!, nicht nur "im Blatt" einen "Fehler gemeldet")

Ach so, in Englisch folgt sie gleich noch in einem Kommentar

...zur Antwort

Neue Antwort:

ist zwar keine vollständige Automatisierung, aber hoffentlich doch eine Erleichterung bei 1500 Einträgen!

  • Gehe in Deine vorhandene Liste (bzw erst mal eine Kopie davon)
  • OBEN 27 NEUE ZEILEN EINFÜGEN
  • Zeile 28 am Zeilenkopf markieren (ganze Zeile auswählen), Menü Ansicht-Fenster einfrieren-Fenster einfrieren (=>Linie oberhalb)
  • Kopiere aus dem Inet den Datenblock eines Namens.
  • Füge ihn in A1 ein: Es sollte jetzt A1:A26 ausgefüllt sein, aber Deine Liste fängt in Z. 28 an (ob mit oder ohne Überschriften, ist egal, ich nehme aber an, mit)
  • Füge ihn in A1 ein: Es sollte jetzt A1:A26 ausgefüllt sein, aber Deine Liste fängt in Z. 28 an (ob mit oder ohne Überschriften, ist egal, ich nehme aber an, mit.
  • Stehen in den Einträgen A1:A26 immer Bezeichnungen davor? Wie z.B.E-Mail:(Leerz.) oder Name:(Leerz.)? (siehe Kommentar später im Makro)
  • offne/wechsle nun mit Alt,F11 den VBA-Editor
  • Dort Menü: Einfügen, Modul. Kontrolliere, ob in der obersten Zeile Option Explicit steht, wenn nicht, schreibst Du das rein (aus Prinzip, auch wenn nicht nötig!). .
  • eine oder mehrere Zeile(n) unterhalb (Du kommst mir Enter dahin) fügst du den folgenden Code ein (hier kopieren)

´Sub DatenBlock_zu_Liste()
ActiveSheet.Range("A9999").End(xlUp).Offset(1, 0) = ActiveSheet.Range("A1").Value 'anstatt A1 die Zelladresse, wo Region steht
'wenn da Region: davorsteht, leicht verändert ("Region: " hat incl. Leerzeichen 8 Zeichen, also Text ab 9 Zeichen nehmen:
''ActiveSheet.Range("A9999").End(xlUp).Offset(1, 0) = Mid(ActiveSheet.Range("A1").Value, 9, 99) 'vor die nicht benötigte Zeile win Hochkomma setztn (nennt sich auskommentieren)
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 1) = Mid(ActiveSheet.Range("A2").Value, 11, 99) '11 sei der Beginn des tatsächlichen Eintrags
'Beachte: erste Setzung nach Offset(1, 0), da in der Zeile noch nichts steht. Ab dann .offset(0, Spalten)
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 2) = Mid(ActiveSheet.Range("A3").Value, 11, 99) 'immer individuellen Beginn einsetzen!
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 3) = Mid(ActiveSheet.Range("A4").Value, 11, 99)
'....musst Du selbst ausfüllen
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 9) = Mid(ActiveSheet.Range("A10").Value, 11, 99) 'dann kommt die Lücke, also next:
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 14) = Mid(ActiveSheet.Range("A11").Value, 11, 99)
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 15) = Mid(ActiveSheet.Range("A12").Value, 11, 99)
'.... musst Du selbst ausfüllen bis
ActiveSheet.Range("A9999").End(xlUp).Offset(0, 25) = Mid(ActiveSheet.Range("A26").Value, 11, 99)
End Sub

  • Der Code wird im VBA-Editor besser lesbar (Umbrüche erscheinen an richtiger Stelle)
  • erstelle ein Textfeld (Menü einfügen, Textfeld, dieses aufziehen sogroß wie nötig) und schreibe da rein:- Makro Datenblock_zu_Liste starten -formatiere es nach Gutdünken
  • In dessen Kontext-Menü wählst Du Makro zuweisen im Dialogfeld wählst du das wahrscheinlich einzige Makro aus , dann ok.
  • Stelle das untere Fenster so ein, dass Du den nach A1:A26 kopierten Eintrag zum Überprüfen im Blick hast. (je nach Sortierung sollte das ohne größere Umstände möglich sein.)
  • ist der Eintrag nicht vorhanden, starte das Makro durch Druck auf den Textfeld-Knopf. Du brauchst nach Kontrolle der ersten 2-3 Einträge nicht mehr kontrollieren sondern kannst im Bild so wie eingestellt bleiben
  • Du kannst dich drauf verlassen, dass das reproduzierbar geht.

Bei Rückfragen melde dich nochmal!

...zur Antwort

erstmal: es ist unsinnig, die Adressierungen B:B und A$3:A$n zu mischen

Aber es ist auch problematisch, mit KKlkeinste zu arbeiten: da ist jede Nichtübereinstimmung 0, so dass die alle vorher kommen. KKleinste benötigt eine spezielle Syntax/Einbettung:

entweder so:

{=INDEX(B:B;KKLEINSTE(WENN(A:A=E$4;ZEILE(A:A));ZEILEN(E$4:E4)))}

oder so:

{=INDEX(B:B;KKLEINSTE(WENN(A:A=E$4;ZEILE(A:A);99999);ZEILEN(E$4:E4)))}

im zweiten Fall setzt Du bei Nichtübereinstimmung eine sehr große Zahl, im ersten liefert wenn_nicht einen Fehler (das sonst Argument ist nicht aufgeführt => FEHLER) und KKleinste ignoriert Fehler.

Kannst das natürlich nochmal in ein Wennfehler() einkleiden.

Einfacher geht es mit KGrösste, das dreht eben dann die Reihenfolge um.

Anm.: ich arbeite für die Laufzahl gerne mit ZeileN(), weil man dann unabhängig von der Position im Blatt ist. Auch bringt die Formulierung 1:15 oder sowas immer einen Bezug, wenn man abfragt, wohin die Zelle ihre Werte liefert.Mich stört das häufig!

...zur Antwort

Blau ist fürs menschliche Auge ein Weiß, dem das Gelb -oder zusätzlich noch die Komplementärfarben rot UND grün) fehlen. Stoffe, die also von rot über gelb bis incl. grün alles verschlucken, erscheinen blau.

Was alles verrschluckt wird, hängt von der Umgebung der Kobalt-Ionen ab. Anschaulicher ist da Kupfer, dessen Ionen in Wasser schwach blaugrün erscheinen, in Ammonialalischer Umgebung allerdings (je nach Annoniak-konzentration) zunehmend tiefblau erscheint.

...zur Antwort

etwas unscharf:

Ganze Zeile am Zeilenkopf (da wo die Zeilennummer steht) markieren, Formatpinsel, erste Zelle der nächsten Zeile anklicklen.

Sind drei Klicks.

Soll eine unterer Rahmenlinie der Vorzeile verschwinden (weil es sich um ein neues Bereichsende handelt), dann die beiden letzten Zeilen(wieder am Zeilenkopf) markieren, Formatpinsel, die letzte und die neue am Zeilenkopf auswählen.

Ebenfalls 3 KKlicks, nur etwas genaueres Hinschauen beim markieren.

Und was heißt neue Zeile? irgendwo oder die nächste leere? Geh in den Makrorecorder, zeichne die Aktion auf und lass sie Dir hier anpassen.

Muss man nur entsprechend meiner Rückfrage etwas spezifischer formulieren.

Ich garantiere aber: wenn obiges dem User zu aufwändig ist, wird er mit dem Makro auch nicht glücklich: die nervigen Warnungen/Rückfragen verderben die Laune! Die sind wahrscheinlich noch aufwändiger!

...zur Antwort

Heißt die zu öffnende Datei "Dateipfad"? Dann fehlen Laufwerk und Pfad.

Oder ist das eine Variable, die LaufW, DateiPfad und -Namen enthält? dann ohne Anf-Z.

Warum schaltest Du hier Diaplayalerts aus? So siehst du nicht, obs funktioniert!

Wird die Datei denn geöffnet? vermutlich nicht. Weshalb auch das Worksheet nicht gefunden wird. (müsstest du bei Abbruch des Makros sehen)

Ggf musst du vor dem Copy ein

Application.Windows("Dateiname.xlsx").activate (oder wars visible=true?) einfügen.

Ausserdem: Activeworkbook.Worksheets("Berechnung").activate

Bevor Du das in Pems (als Variable ohne Anf-Z) einfügen kannst, musst Du wieder dieses Fenster aktivieren (vllt gehts mit ...Copy destination:=PEMS Before=Sheets(1) oder so ähnlich, habs jetzt nicht ausprobiert.

(vllt ist das ja heute vereinfacht, es war zumindest mal so, glaube ich mich zu erinnern)

...zur Antwort

blockweise Auswertung mit {Matrixformeln} (s.u.!) ab Block 2:

in B2 (!): {=SUMME(INDIREKT("c"&KGRÖSSTE(ISTZAHL($A$1:$A12)*ZEILE($A$1:$A12);ANZAHL($A$1:$A$11)-ZEILE(A1))&":c"&KGRÖSSTE(ISTZAHL($A$1:$A12)*ZEILE($A$1:$A12);ANZAHL($A$1:$A$11)-ZEILE(A2))-1))}

das runterkopieren. Den Fehler für den letzten Block kannst du vermeiden, wenn Du unterhalb nochmals eine Zahl einträgst. Die Zahlen können durcheinander sein, die Blöcke werden aber der Reihenfolge in der Tabelle nach angezeigt

Die Formel für den 1. Block weicht geringfügig ab: da KGrösste(...;0) bzw Zeile(A0) einen Fehler ergibt, muss man KGrösste(...;1)---- KGrösste(...;1)-0 verwenden:

in B1: {=SUMME(INDIREKT("c"&KGRÖSSTE(ISTZAHL($A$1:$A11)*ZEILE($A$1:$A11);ANZAHL($A$1:$A$11)-0)&":c"&KGRÖSSTE(ISTZAHL($A$1:$A11)*ZEILE($A$1:$A11);ANZAHL($A$1:$A$11)-ZEILE(A1))-1))}

'Achtung: Dies ist eine Matrixformel! Die Formel (ohne { } !) anstatt mit einfachem Enter mit der Kombination (gleichzeitig) Strg+Shift+Enter abschließen (nach jeder Neubearbeitung wieder!!!). Es entstehen dann automatisch geschweifte {Klammern}
➳Schreibtechnisch nimmst Du am besten die rechte Strg- und Umschalttaste, dann gehts mit einer Hand und lässt sich auch leichter merken! - - ☺Noch ein Tipp: Wenn Du in der Bearbeitungszeile einen selbständigen Formelteil markierst und F9 drückst, erhältst Du ein(e) Ergebnis{liste} angezeigt. Allerdings dann die Zelle mit Esc verlassen (oder rückgängig machen), Enter würde das gezeigte Ergebnis festschreiben!
Vorläufig kurze Bereiche festlegen (also zB A$1:A$22 etc, damit die Bearbeitungszeile halbwegs übersichtlich bleibt, auch Umbrüche mit Alt+Emter erleichtern das)!
█ manchmal verzögert die Ausweitung auf ganze Spalten die Berechnungsgeschwindigkeit drastisch, dann eben ein Maximum festlegen
Vorläufig kurze Bereiche festlegen! (also zB A$1:A$22 etc. und erst erweitern, wens funktioniert).

Bei anderen zu summierenden Spalten als C (zB M) in den Formeln  c" durch m" ersetzen (das eine " miteinbeziehen, dann kann mans mit Suchen/ersetzen gesammelt machen)

Frag ggf zurück, bin aber nur eingeschränkt hier!

Oder hättest Du die Auswertung lieber immer in der Zeile des Auftretens der Zahl gehabt? ginge wahrscheinlich sogar einfacher, hab ich aber jetzt keine Zeit mehr dafür!

...zur Antwort

Eine Zahl in einer Zelle setzt über eine FORMEL niemals eine Änderung bleibend um. Wenn Du morgen anstatt 10 von heute 5 setzt, dann werden vom Bestand heute morgen plötzlich nur noch 5 abgezogen anstatt 15.

Das taugt so natürlich nicht.

Ohne Makro kannst du dir so helfen, dass Du in die Abgangszelle zu den schon drinstehenden 10 von heute ein + davorsetzt und zu dem +10 morgen +5 schreibst:

=+10+5, sichtbar wird nach Enter die Summe 15.

Ist etwas unschön, aber praktikabel. Eine echte Festschreibung erfordert ein Makro, das zwar nicht kompliziert ist, aber auch seine Tücken hat: Betätigt man es versehentlich 2x, wird auch 2x abgezogen, völlig ohne nachträgliche Kontrolle.

Ich empfehle deshalb ein Makro, das ebenso wie oben die Bestandsveränderung als +50-10-5 usw festhält, damit man zumindest die Einzeländerungen dokumentiert hat und ggf bei Fehlern nachkorrigieren könnte.

Oder eines, das automatisch den Zeitpunkt als Text mit in die Formel (oder ggf. in den Zellkommentar) schreibt, zB

=50-10+N("1.6.17 an Meier")-5+N("4.6.17 an Wrzlbrmpf")

Meier und Wrzlbrmpf müssten dann aber natürlich in ein Dialogfeld eingegeben werden, welches aufpoppt, sobald die Eingabe betätigt wird. (oder in eine Zelle neben dem Abgang.)

Zugänge bräuchten übrigens kein eigenes Feld, sondern können als negative Zahl (sog. altruistische Vorzeichengebung) im selben Feld als übermorgen: -20 etc (je nach Formellösung auch reale Vorzeichengebung möglich, Vereinbarungssache) eingegeben werden.

Negative Zahlen kannst Du per Zellformat rot darstellen, mit Arial MT Rounded Bold  sehr gut dick dargestellt.

DokumentenECHT ist nichts von alledem, Manipulationen sind leicht. (das wäre anders schwierig, wenn auch nicht unmöglich)

Wenn du sowas willst, melde dich IN DIESER AW nochmal.

...zur Antwort
Registerfarbe aufgrund von Zellwert einfärben (Excel)?

Ich arbeite grade für eine Kollegin an einer Excel-Tabelle (Excel 2010). Sie wünscht sich nun, dass sich unter einer bestimmten Bedingung die Farben der Registerblätter automatisch ändern. Ich habe dafür die gesamte Tabelle schon soweit vorbereitet, dass eine Formel mir bereits die entsprechende Bedingung ausliest und ausgibt.

Ich gehe dabei jetzt mal ins Detail: In allen Tabellenblätter gibt das Feld J19 mir einen Wert, der entweder =0 oder >0 ist. Bei =0 soll sich der Registername rot färben, bei >0 grün.

Natürlich habe ich Google dazu schon befragt, und mir ist mittlerweile klar, dass sich das mithilfe eines Makros machen ließe. Allerdings liegt genau hier das Problem: Ich habe noch nie mit Makros gearbeitet, schon gar nicht welche geschrieben. Ich weiß mittlerweile wie ich auf die Entwicklertools komme, und wie ich das "Makros"-Fenster öffne. Allerdings habe ich auch nach mehreren (Copy&Paste aus dem Netz) Versuchen es nicht geschafft, dass mir in dem entsprechenden Dialog ein Makro zum Ausführen angezeigt wurde.

Ich bräuchte also eine genaue Anleitung, wo ich was eintragen muss. Ich habe die Tabelle extra so gestaltet, dass der Wert mir in jedem Tabellenblatt im selben Feld ausgegeben wird.

Was ich bislang nicht rausgefunden habe: Läuft das Makro immer automatisch? Oder muss man es immer wieder neu aktivieren? Das wäre nämlich kontraproduktiv, denn die Tabelle soll weitergegeben werden und das Einfärben der Register soll eine "Kontrollfunktion für Dummies" darstelen. Wenn es also jedes Mal aktiviert werden muss, wäre es sinnlos.

Ich hoffe sehr, dass mir jemand helfen kann.

Vielen Dank im Voraus!

...zur Frage

Das geht mit einem (allerdings erklärungsbedürftigen) Zweizeiler im Modul jeden Arbeitsblattes:

  • Sub Worksheet_activate()
  • If ActiveSheet.Range("J19").Value > 0 Then ActiveSheet.Tab.Color =RGB(0, 255, 0) 'Index = 5 ' vbGreen
  • If ActiveSheet.Range("J19").Value = 0 Then ActiveSheet.Tab.Color =RGB(255, 0, 0) 'Index = 4 'vbRed
  • End Sub 'keine Aktion bei J19<0

Kopiere das hier, öffne den µ-Editor mit Alt+F11: Du bekommst eine Liste aller Blätter angezeigt.

Öffne jedes mit Doppelklick und füge das µ ein. Erstellst du ein neues Arbeitsblatt, muss das auch in dessen Modul reinkopiert werden

Wirkung: Die Färbung erfolgt erst, wenn das Arbeitsblatt verlassen und wieder ausgewählt wird (wählst du es über den Tab aus, passiert das zwar ebenfalls, aber du siehst es nicht, weil der ausgewählte Tab weiß erscheint)

Die RGB-Zahlen kannst Du übrigens bei Hintergrundfarbe einer Zelle als "weitere Farben" wählen und anzeigen lassen. Ich weiß aber nicht, ob xl alle Farbabstufungen akzeptiert oder nur die Grundfarben. RGB(0, 255, 255) =türkis wird akzeptiert, (255, 0, 255) =magenta ebenfalls.

Es gibt auch Alternativen:

  • Worksheet_selectionchange()
  • Worksheet_change()
  • Worksheet_deactivate() 

(plus weitere, kriegst du alle im Aufklappmenü im rechten Teil oberhalb angezeigt)

Zum Makro selbst: Normalerweise erfordert if ein Else und ein End if sowie eine neue Zeile nach Then. Da hier aber keine weitere Möglichkeit gefordert wird und nur eine der Bedingungen zutreffen kann, genügt diese einzeilige Variante. (bei J19<0 passiert gar nichts!)

Melde Dich, wenn was nicht klappt oder der Automatismus anders gewünscht ist (es gibt zB auch ein Workbook_open() oder ein Workbook_sheetchange, da bräuchtest du aber eine Schleife, um jedes Blatt zu erfassen, samt Dim einer Variablen)

...zur Antwort

neben allen bisherigen AW:

kontrollieren mal, wieviele bedingte Formatierungen Du in EINER Zelle (ggf angehäuft) hast. Verlass dich da nicht auf deinen Verstand, sondern schau das nach (Icon bedingte Formatierung - Regeln verwalten). Dann für Zellbereiche wiederholen.

Je nach Konstellation bilden sich nämlich riesige Stapel immer gleicher bedingter Formatierungen, die so groß werden können, dass sie eine Datei zum Absturz bringen können (ist mir schon mehrfach passiert, bis ich das merkte, und vorher war immer eine extrem lange Reaktionszeit, ausserdem angeschwollene Dateigröße)

...zur Antwort

ich hab mal ein Makro gemacht, das die Auswahl bestimmter Zellen verhindert (abgleiten lässt woandershin)

Dadurch muss die Datei natürlich im xlsm- oder im alten .xls-Format gespeichert (und die Unheil verkündenden nervigen Rückfragen abgeklickt) werden, und wenn Makros deaktiviert werden, nützt das auch nichts

(dagegen hab ich mich allerdings geschützt, indem erst durch ein Workbook-open_Makro das Blatt sichtbar wird (bzw ein drübergelegtes Textfeld verschwindet.) Kein 100%iger Schutz, aber doch weitgehend.

Wenn Du trotz der Einschränkungen das Makro willst, such ich es raus, es sollte aber auch nicht allzuschwer selbst zu programmieren sein.

...zur Antwort