Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: X-Achse an Werte anpassen

X-Achse an Werte anpassen
06.03.2013 15:08:17
jana
Hallo zusammen,
ich habe ein Problem mit einem xy-Säulendiagramm. Da sich die Werte, die in dem Diagramm ausgegeben werden ändern können, möcht ich,dass sich die X-Achse den Werten anpasst. Hier ist ein Beispiel:
https://www.herber.de/bbs/user/84223.xlsx
Nun möchte ich, dass das Diagramm in diesem Fall auf der X-Achse nur von c bis f geht, da die retlichen Werte Null sind.
Gibt es hierfür einen code für vba?
LG Jana Eule

Anzeige

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: X-Achse an Werte anpassen
06.03.2013 15:53:11
Daniel
Hi
du könntest beispielsweise die Datentabelle mit dem Autofilter nach "ungleich 0" in der Spalte B filtern.
normalerweise werden in Diagrammen nur die sichtbaren Werte der Datentabelle angezeigt.
als MakroCode dann:
cells(1,1).Autofilter field:=2, criteria1:="0"

du solltest allerdings deiner Datentabelle eine Überschriftenzeile spendieren, die benötigt der Autofilter.
Gruß Daniel

Anzeige
AW: X-Achse an Werte anpassen
06.03.2013 16:10:28
jana
Hey,
danke schon mal für die Antwort!
Ich hab das aber noch nicht so ganz kapiert. muss ich nur den code eingeben, den du geschrieben hast oder kommt da noch was dazu?und wie verbinde ich das dann mit der überschrift?
also so wie ich das gearde probiert habe klappe es auf jeden fall nicht.
könntest du mir vielleicht das was du meinst in der bsp.-datei ändern und dann wieder hochladen?
LG Jana

Anzeige
AW: X-Achse an Werte anpassen
06.03.2013 16:14:54
Daniel
Hi
lass das VBA-Gedöns erstmal weg wende doch einfach erstmal den autofilter direkt in der Tabelle an.
einfach die Datentabelle markieren und dann DATEN - SORTIEREN UND FILTERN - FILTERN klicken.
in der ersten Zeile der Tabelle erscheinen jetzt in jeder Zelle DropDown-Buttons.
da klickst du auf den DropDown-Button in Spalte B und nimmst das Häkchen beim Wert 0 raus.
die erste Zeile kann der autofilter leider nicht ausblenden, denn die benötigt er für die DropDownfelder.
was ne Überschrift ist, muss ich dir hoffentlich nicht erklären.
Gruß Daniel

Anzeige
AW: X-Achse an Werte anpassen
06.03.2013 16:23:10
jana
Hey,
super es funktiniert!
Ich kenn mich mit excel echt nict gut aus und hab so ein filter noch nie genutzt,jetzt hab ich aber auch verstanden, dass man dort eine überschrift braucht!
danke!
LG Jana

Listen sollten immer ...
06.03.2013 16:38:47
Rudi
Hallo,
... eindeutige Überschriften haben.
Überschriften sind für etliche Funktionen Pflicht.
Gruß
Rudi

Anzeige
AW: X-Achse an Werte anpassen
06.03.2013 16:43:57
jana
hey,
hab grad festgestellt, dass der autofilter bei meinem problem nicht die lösung ist.
wenn sich die werte in meiner datentabelle ändern muss ich jedesmal den filter neu aktivieren,damit er die nullen der neuen daten rausfiltert. kann man das problem vielleicht auch anders lösen,ohne,dass man jedes mal den filter neu aktivieren muss?
LG Jana

Anzeige
per Hilfsspalte & Namen
06.03.2013 17:03:42
Rudi
Hallo,
ABCDEFG
1a0  c1 
2b0  d2 
3c1  e3 
4d2  f4 
5e3  #ZAHL!#ZAHL! 
6f4  #ZAHL!#ZAHL! 
7g0  #ZAHL!#ZAHL! 
8h0  #ZAHL!#ZAHL! 
9    #ZAHL!#ZAHL! 

NameBezug
xwerte=Tabelle1!$F$1:INDEX(Tabelle1!$F:$F;ANZAHL(Tabelle1!$F:$F))
ywerte=Tabelle1!$E$1:INDEX(Tabelle1!$E:$E;ANZAHL(Tabelle1!$F:$F))

ZelleFormel
E1{=INDEX($A$1:$A$8;KKLEINSTE(WENN($B$1:$B$8<>0;ZEILE($B$1:$B$8);"");ZEILE()))}
F1{=INDEX($B$1:$B$8;KKLEINSTE(WENN($B$1:$B$8<>0;ZEILE($B$1:$B$8);"");ZEILE()))}
  
E2{=INDEX($A$1:$A$8;KKLEINSTE(WENN($B$1:$B$8<>0;ZEILE($B$1:$B$8);"");ZEILE()))}
F2{=INDEX($B$1:$B$8;KKLEINSTE(WENN($B$1:$B$8<>0;ZEILE($B$1:$B$8);"");ZEILE()))}
  
Achtung, Matrixformel!
Die geschweiften Klammern{} nicht eingeben,
sondern die Zelle mit
Shift + Strg + Enter
verlassen statt Enter alleine.

Formeln eingeben und Namen definieren (strg+F3).
Die Datenreihe anklicken und in der Bearbeitungsleiste die Formel
=DATENREIHE(;'84223.xlsx'!ywerte;'84223.xlsx'!xwerte;1)
eingeben. '84223.xlsx' durch deinen Mappennamen ersetzen.
Gruß
Rudi

Anzeige
AW: per Hilfsspalte & Namen
06.03.2013 21:01:37
jana
hey,
ich hab jetzt alles bis auf den letzten schritt gemacht.
Die Datenreihe anklicken und in der Bearbeitungsleiste die Formel
=DATENREIHE(;'84223.xlsx'!ywerte;'84223.xlsx'!xwerte;1)
eingeben. '84223.xlsx' durch deinen Mappennamen ersetzen.

diesen teil verstehe ich nicht. meinst du mit der datenreihe die spalten A und B oder E und F? und wenn ich diese markiere, und die formel in bearbeitungsleiste schreibe,dann gehen ja die daten bzw. formeln weg...
kannst du mir das bitte noch genauer erklären?
LG Jana

Anzeige
@rudi
07.03.2013 17:53:43
jana
Hey Rudi,
könntest du mir das bitte nochmal genauer erklären? Wäre echt toll, wenn ich endlich eine Lösung für mein Problem hätte... Also die Lösung hast du mir ja geschrieben,kanns eben nur nicht umsetzen =)
LG Jana

@alle: Brauche eure Hilfe
08.03.2013 11:46:59
jana
Hey,
kann mir vielleicht jemand diesen letzten Schritt erklären?
Ich versteh das einfach nicht!
Wenn jemand eine andere Lösung für das Problem hat, ist das natürlich auch ok =)
LG Jana

Anzeige
AW: @alle: Brauche eure Hilfe
08.03.2013 12:42:51
Daniel
HI
damit ist der Wertebereich des Diagramms gemeint.
hier gibst du jetzt nicht mehr die Zellen direkt an, sonden den Namen, der dann auf den Zellbereich verweist.
bei Diagrammen besteht noch die besonderheit, daß man vor dem Namen noch den Dateinamen hinschreiben muss (Ausrufezeichen als Trennzeichen).
Gruß Daniel

Anzeige
AW: @alle: Brauche eure Hilfe
08.03.2013 12:49:04
jana
Hey,
hab das grad probiert und jetzt ist mir auch klar wie das ganz fuktionieren soll, nur jetzt hab ich das Problem, dass die Formel =DATENREIHE(;'84223.xlsx'!ywerte;'84223.xlsx'!xwerte;1) nicht erkannt wird, muss ich dafür noch eine code in vba eingeben?
LG Jana

AW: @alle: Brauche eure Hilfe
08.03.2013 13:35:25
Daniel
Hi
nö, mit VBA brauchst du da gar nichst tun.
du musst halt im Wertebereich des Diagramms den Namen anstelle des direkten Zellbezugs angeben.
das kannst du entweder über den entsprechenden Diagrammassistenen (Kontextmenü - Daten auswählen) oder eben direkt über die Bearbeitungszeile, wenn du im Diagramm die Datenreihe markierst.
die Bearbeitungszeile ist die Zeile, wo du normalerweise die Zellwerte und Formeln eingibst.
besser kann ich dir das jetzt auch nicht am PC erklären.
Gruß Daniel

Anzeige
AW: @alle: Brauche eure Hilfe
08.03.2013 14:56:01
jana
hey, danke für die antwort!
jetzt hats geklappt!
ich hab aber statt DATENREIHE(;'84223.xlsx'!ywerte;'84223.xlsx'!xwerte;1) nur das '84223.xlsx'!ywerte;'84223.xlsx'!xwerte eingegeben, dann hats geklappt...
Aber trotzdem ist mei Problem nicht gelöst!
Wenn ich die Werte ändern und auch die Anzahl der Werte funktioniert das ganze nicht mehr. Wenn sich die Anzahl der Werte verkleinert, wird nun an der Stelle, wo vorher ein Wert war auf der X-Ache #Zahl angezeigt und das möchte ich natürlich auch nicht! Hat denn vielleicht noch jemand eine andere Lösung?
LG Jana

Anzeige
AW: @alle: Brauche eure Hilfe
08.03.2013 15:05:37
Daniel
Hi
das sollte eigentlich nicht passieren, da sich dein Name automatisch an die Anzahl der vorhandenen Werte anpasst und so die Zeilen, in denen der Fehlerwert steht, gar nicht mehr zum Zellbereich des Namens gehören und deswegen auch nicht im Diagramm erscheinen.
setzt natürlich voraus, daß du es so gemacht hast, wie es dir gesagt wurde!
aber am besten ist, wenn du weiterhin Hilfe brauchst, daß du die Datei mit deinem bisherigen Ergebnis hier mal hochlädst, dann kann man am ehesten was sagen.
gruß Daniel

Anzeige
AW: @alle: Brauche eure Hilfe
09.03.2013 08:45:17
Daniel
Hi
du hast den Datenbereich ja gar nicht über die Namen definiert, sondern wieder über die direkte Zelladdresse.
bei Diagrammen muss man da ein bisschen aufpassen.
man kann das Diagramm entweder
a) über EINEN EINZIGEN Zellbereich der alles (alle x-Werte, Achsenbeschriftung) enthält definieren, oder man kann
b) jedes Elemente einzeln definieren, dh jede Datenreihe extra, die Achsenbeschriftung extra usw.
bei Methode a) (die du bisher wahrscheinlich angewendet hast) ist es nicht möglich, Namen zu verwenden, da Excel hier die Namen dann sofort in feste Zellbezüge umwandelt.
wenn man mit veränderlichen Zellbezügen, die über berechnete Namen definiert werden, arbeiten will, muss man Mehtode b) verwenden und jedes Element des Diagramms einzeln definieren.
- hierzu klickst du das Diagramm an (rechte MT)
- wählst Daten auswählen
- klickst auf der linken Seite (Legeneinträge Reihen) "Bearbeiten" und trägst dort im Eingabefenster bei Reihenwerte dann ='Dateiname.xlsx'!xWerte ein
- klickst auf der rechten Seite (horizontale Achsenbeschriftung Rubrik) "Bearbeiten" und trägst dort im Eingabefenster bei Reihenwerte dann ='Dateiname.xlsx'!yWerte ein.
dann sollte das mit den Namenszuweisungen auch funktionieren.
Gruß Daniel

Anzeige
AW: @alle: Brauche eure Hilfe
09.03.2013 13:01:29
jana
Hey,
Vielen Dank für die ausführliche Beschreibung!Jetzt klappt es endlich!
Liebe Grüße Jana
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

X-Achse an Werte anpassen in Excel


Schritt-für-Schritt-Anleitung

  1. Daten vorbereiten: Stelle sicher, dass deine Daten in einer Excel-Tabelle strukturiert sind. Jede Spalte sollte eine Überschrift haben, um den Autofilter zu verwenden.

  2. Autofilter aktivieren:

    • Markiere die gesamte Datentabelle.
    • Gehe zu Daten -> Sortieren und Filtern -> Filtern.
    • Klicke auf den Dropdown-Button in der Spalte mit den Werten, die du anpassen möchtest (z.B. Spalte B) und entferne das Häkchen bei 0, um die Nullwerte auszublenden.
  3. Diagramm erstellen:

    • Wähle die Daten aus, die du visualisieren möchtest.
    • Gehe zu Einfügen und wähle den gewünschten Diagrammtyp (z.B. Liniendiagramm oder Säulendiagramm).
  4. X-Achse anpassen:

    • Klicke mit der rechten Maustaste auf das Diagramm und wähle Daten auswählen.
    • Hier kannst du die x-Achse festlegen, indem du die entsprechenden Daten auswählst.
  5. Wertebereich anpassen:

    • Klicke auf die Datenreihe und gehe zur Bearbeitungszeile.
    • Gib die Formel ein, um die Namen für die x- und y-Werte zuzuweisen, z.B.:
      =DATENREIHE(;'Dateiname.xlsx'!ywerte;'Dateiname.xlsx'!xwerte;1)

Häufige Fehler und Lösungen

  • Fehler: Diagramm zeigt #ZAHL! auf der X-Achse: Dieser Fehler tritt auf, wenn sich die Anzahl der Werte in der Datenreihe ändert. Stelle sicher, dass du die Namen für die Datenreihe korrekt definiert hast, sodass sie sich dynamisch anpassen.

  • Fehler: Horizontale Achsenbeschriftung lässt sich nicht ändern: Überprüfe, ob die Beschriftungszeile in deiner Tabelle als Überschrift definiert ist. Nur dann ist eine Änderung möglich.


Alternative Methoden

  • VBA-Lösung: Du kannst auch VBA verwenden, um die x-Achse dynamisch anzupassen. Ein Beispielcode könnte so aussehen:

    Cells(1, 1).AutoFilter Field:=2, Criteria1:="<>0"

    Damit filterst du die Werte in der Spalte B, um nur die sichtbaren Werte im Diagramm anzuzeigen.

  • Hilfsspalte verwenden: Erstelle eine Hilfsspalte, die nur die Werte zeigt, die du in deinem Diagramm verwenden möchtest, und verlinke diese in deinem Diagramm.


Praktische Beispiele

  • Beispiel 1: Wenn du eine Tabelle mit den Werten A bis H in Spalte A und zugehörigen Werten in Spalte B hast, kannst du die x-Achse mit den nicht-null Werten in Spalte B verknüpfen.

  • Beispiel 2: Bei einem Liniendiagramm kannst du die X-Achse durch die Formel:

    =INDEX(Tabelle1!$F$1:INDEX(Tabelle1!$F:$F;ANZAHL(Tabelle1!$F:$F))

    dynamisch anpassen.


Tipps für Profis

  • Verwende benannte Bereiche für deine Daten. Dies erleichtert die Verwaltung von Diagrammen und Anpassungen.
  • Achte darauf, dass deine Daten stets aktuell und korrekt formatiert sind, um Fehler im Diagramm zu vermeiden.
  • Nutze Bed Conditional Formatting, um visuelle Hinweise in deinem Diagramm zu geben, wenn Werte bestimmte Schwellenwerte überschreiten.

FAQ: Häufige Fragen

1. Wie kann ich die X-Achse in meinem Diagramm anpassen?
Du kannst die X-Achse anpassen, indem du die Datenreihe auswählst und die entsprechenden Werte in der Bearbeitungszeile eingibst.

2. Warum zeigt mein Diagramm #ZAHL! an?
Das passiert, wenn der zugrunde liegende Datenbereich nicht korrekt definiert ist. Überprüfe die benannten Bereiche und stelle sicher, dass sie sich dynamisch anpassen.

3. Kann ich die horizontale Achsenbeschriftung ändern?
Ja, gehe zu Daten auswählen im Diagramm und passe die Beschriftungen für die X-Achse an.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige