Author Archives: Medardus

Meine Kaffeemaschine wurde repariert. Der Techniker meinte, die Muffbrieme war verbrömmelt und angeeumelt. Man musste nur die Dichtbrumme abquastern und neue Flanschpaddendranwöhnern. Die sind nun vierfach gefröbbelt und neu umwienert. Na – das hätte ich auch selbst machen können.

Witzig. Vorlauter Formeln und Assistenten übersieht man manchmal die Wirklichkeit.

Wir schauen die Zielwertsuche an. Mit der Funktion RMZ (regelmäßige Zahlungen) wird die Annuität berechnet.

Nun soll „zurückgerechnet“ werden. Ich möchte wissen wie hoch der Zinssatz bei einer Rückzahlung von 220 Euro ist. Also Zielwertsuche (sie soll ja auch gezeigt werden:

Sie rechnet und liefert:

-4,92% !?! Minus !?!

Es dauert eine Weile, bis wir verstehen: Das Ergebnis ist korrekt. Man müsste mit negativen Zinsen rechnen, um auf diesen Betrag zu kommen … Doch nicht falsch und auch nicht so unrealistisch.

Danke an Hartmut Hilbich für dieses Beispiel.

Natürlich spreche ich mit mir selbst. Manchmal brauche ich eben eine kompetente Beratung.

Gestern im Excelstammtisch. Frank Arendt-Theilen macht darauf aufmerksam, das PowerQuery einen Parameter bei der Funktionen RUNDEN (Number.Round) anbietet:

IntelliSense zeigt allerdings in M, dass diese Funktion einen weiteren Parameter besitzt: roundingMode mit fünf Konstanten:

Die Standardeinstellung von PowerQuery ist RoundingMode.ToEven. Damit unterscheidet sich diese Rundenfunktion von RUNDEN in Excel. Dort wird RoundingMode.AwayFromZero verwendet. Deshalb unterscheiden sich diese beiden Runden-Funktionen: PQ rundet wie VBA; Excel rundet anders …

Vielen Dank, Frank für diesen sehr, sehr wertvollen Hinweis!

Und: während sich auf der Microsoft-Hilfeseite

https://docs.microsoft.com/de-de/powerquery-m/number-round

leider kein Hinweis dazu findet, hat Ken Pulse es sehr gut erläutert:

https://www.excelguru.ca/blog/2014/09/17/power-query-the-round-function/

XLarium weist darauf hin, dass es noch weitere Artikel und Videos zu diesem Thema gibt:

MrExcel hat vor kurzem ein Video dazu gemacht:

Weitere Videos zum Thema Runden:

MROUND In Power Query

TRUNC In Power Quer

CEILING oder FLOOR in Power Query

Ich habe 25 Jeans im Schrank. Eine, die ich jeden Tag trage, eine hippe, die ich nie trage, weil ich eigentlich nicht hip bin und 23 ausrangierte aus den Jahren 2000 – 2020, die ich für potenzielle Maler-, Garten-, Renovierungs- oder Umzugsarbeiten aufgehoben habe.

Zugegeben: geschmunzelt habe ich schon:

Excelschulung. Ich erkläre und zeige (intelligente, dynamische, formatierte, strukturierte) Tabellen:

Ein Teilnehmer behauptet, dass diese Tabellen seine Überschriften löschen würden. Ich bin irritiert. Ich habe eine Weile gebraucht, um zu verstehen, dass die weiße Schriftfarbe, die Excel als Standard einsetzt, nicht sehr clever ist bei einer gelben Hintergrundfarbe …

Natürlich ist die Überschrift noch vorhanden. Nur eben – sehr schlecht lesbar!

Wie komme ich zur Vernunft? – Tut mir leid, ich bin auch nicht von hier.

Outlookschulung. Es kam eine Frage zur Lesebestätigung. Ich sende mehrere Mails mit Lesebestätigung an verschiedenen Personen.

Einige haben einen grünen Haken, andere nicht !?! Diejenigen mit einem grünen Haken haben beim Öffnen eine Gruppe „Anzeigen“:

Wenn ich auf den „Status“ klicke, sehe ich die Liste der Mails – ohne Antwort – obwohl ich die Lesebestätigung bejaht habe.

Bei den anderen fehlt diese Gruppe – obwohl eine Lesebestätigung dranhängt.

Auch hier habe ich meine Kollegin gefragt – sie wusste auch keine Antwort. Auch hier muss ich mit einem Schulterzucken verbleiben. Sorry … Wenn ich noch etwas erfahre, melde ich mich wieder. Kennst du die Antwort auf diese Frage / die Lösung für dieses Problem?

Boah, diese Pilze flashen extrem. Ich sehe jetzt plötzlich magersüchtige Kühe. Kevin, iss deine Champignons. Das sind unsere beiden Dalmatiner.

Ich hätte schwören können, dass es vorhanden ist. Eine Teilnehmerin in der letzten Schulung wollte das Entspricht-Zeichen ( ≙ ) haben. Das Gleichheitszeichen mit dem Dach darüber. Ich hätte es in der Liste der Zeichen vermutet, die die Schriftart Symbol zur Verfügung stellt. Oder im „normalen“ Zeichensatz.

Ich wurde eines Besseren belehrt. Man findet es beispielsweise in der Arial Unicode:

Ich schaue auf dem Firmenrechner nach. Bei dieser Firma ist die Arial Unicode nicht installiert. Was tun?

Nun – wir finden das Zeichen auf einer Seite im Internet und kopieren es von dort heraus. Und hinterlegen es in der AutoKorrektur. Die Teilnehmerin war glücklich. Und ich sehr erstaunt, dass dieses (wie ich dachte) wichtige Zeichen nicht vorhanden ist. Ich werde mal an die IT schreiben und bitten die Unicode-Schriften nachzuinstallieren. In Word könnte man es in einem Feld nachbauen, aber in Excel, PowerPoint und Outlook?

Nein, ich habe deine Kochkünste nicht kritisiert. Ich habe lediglich gesagt, dass wir den einzigen Hund im Ort haben, der nicht am Tisch bettelt.

Hallo Herr Martin,

ich filtere in dem Kunden-Excel die Werte mittels einer Pivot-Tabelle. Der Filter zeigt aber nur die tatsächlich vorhandenen Werte an.

Jetzt möchte ich im Pivot einen festen Wertefilter definieren, unabhängig welche aktuellen Werte vorhanden sind:

Beispiel:

Ich möchte immer alle Einträge < 24 Stunden gefiltert haben

Aktuelle Werteinträge sind 1 und 2 Stunden. Den Filter 24 Stunden kann ich aber erst auswählen, wenn es mindestens einen Eintrag mit 24 Stunden gibt. Lässt sich dies im Pivot einstellen. Ich habe bislang keine Möglichkeit gefunden.

Hallo Herr H.,

der Gedanke der Pivottabelle ist ja, die vorhandenen Werte zu gruppieren und die Zahlen zusammenzufassen (aggregieren, also: summieren, zählen, …) Wenn Sie andere Werte sehen möchten, müssen diese in der Liste stehen (man müsste sie ausblenden).

Hallo Herr Martin,

es gibt im Office 365 Excel den Befehl FILTER, der genau das macht, was ich benötige. Nur hat mein Kunde leider eine ältere Version. Lässt sich das in einem älteren Excel mit einem workaround bauen?

Viele Grüße

Hallo Herr H.,

Nein – bitte nicht die Funktion FILTER verwenden – sonst hat die Firma ein Problem!

Was würde ich tun?

* entweder die Daten dazwischen verstecken (und die Zeilen ausblenden)

* oder die Daten auf einem anderen Blatt sammeln und dort alle notwendigen Daten einsammeln.

Hum. Sonst? Müsste mal überlegen

Liebe Grüße

Rene Martin

Hallo Herr Martin,

Filter geht beim Kunden nicht, aber ist die Funktion so gefährlich?

Ich habe mittels Pivot die Daten auf ein anderes Blatt ausgelagert und nutze das Ergebnis für die Dropdown-Felder.

Ich habe jetzt einen Dummy-Wert eingefügt, damit die Pivots die Auswahlfelder behalten, auch wenn keine Daten auszuwerten sind. Ggf. wäre eine Lösung ganz ohne Pivots zu arbeiten, aber dazu bräuchte ich so etwas wie die Filter-Funktion.

Hallo Herr H.,

nein, nein: FILTER & co sind klasse – Problem: nicht jeder hat diese Funktionen. Deshalb: bauen wir den Filter doch nach!

Werfen Sie mal einen Blick in meine Liste: In Spalte H befinden sich die sechs Werte. Einer wird in J2 ausgewählt. In Spalte L ermittle ich die Zeilennummer, falls gefunden. In Spalte M sammle ich diese Nummern ein; gruppiere sie also. Mit BEREICH.VERSCHIEBEN baue ich die Liste ab O1 auf (ich hätte auch INDIREKT oder INDEX / VERGLEICH verwenden können).

Ich könnte es auch mit AGGREGAT aufbauen – aber lassen wir das …

kommen Sie damit klar?

Liebe Grüße

Rene Martin

Die Kondomindustrie hat echt Humor. Die packen zehn Stück in eine Packung und dann sind de nur vier Jahre haltbar.

Andreas Thehos erhält Post:

Hallo Andreas,

Kannst du auch einmal ein Tutorial über diese defekten Tabellen machen und wie man die wegbekommt? Bei meinen Recherchen habe ich bis jetzt nur gefunden das die erstellt werden wenn Excel abstürzt. Die einzige Lösung de in foren geholfen hatte, war eine neue Mappe zu erstellen und alle Daten zu übertragen. Aber das kann doch nicht die Lösung sein oder? Alle Änderungen die vorgenommen werden beziehen sich nur auf „DieseArbeitsmappe“

Andreas weiß keinen Rat. Und ich? Ich hatte mal eine solche korrupte Datei gesehen – ist schon eine Weile her. Und nein – sorry – ich weiß leider auch keinen Rat.

Aber Andreas wird fündig:

https://stackoverflow.com/questions/18273071/excel-vba-project-has-generated-multiple-workbook-objects/49073426

Ich sitze im Café und verbinde mich mit dem Netzwerk „Martin Router King“. Was soll man sagen? – „I have a stream.“

In der letzten Excelschulung haben wir über Listen gesprochen. Beim Sortieren von Daten kann man nach Zeilen und Spalten sortieren. Man findet diese Einstellung in den Sortieroptionen:

Prompt kam die Frage, ob man auch nach Spalten filtern könne.

Zuerst überlegte ich, ob dies überhaupt sinnvoll sei.

Die korrekte Antwort lautet: Nein! man kann den Autofilter nicht neben der ersten Spalte einschalten. Man muss die Liste transponieren:

Dann kann man den Filter für die erste Zeile einschalten, die in der ursprünglichen Tabelle die erste Spalte darstellte:

Und so ergeben sich sicherlich einige Anwendungsbereiche.

Ich kaufe keine Bio-Lebensmittel. In meinem Alter nehme ich alles, was ich an Konservierungsstoffen bekommen kann!

Vorgestern in der Outlook-Schulung. Eine Teilnehmerin fragt mich, warum sie ihre Ordner nicht verschieben kann. Damit ein Ordner an erster Stelle stehe, müsse sie einen Unterstrich einfügen. Ich glaube es erst, als ich es sehe und wundere mich sehr.

Wir suchen eine ganze Weile und werden fündig:
Schaltet man in Outlook in der Registerkarte „Ordner“ die Option „Alle Ordner von A nach Z anzeigen“ ein, werden sie sortiert, können jetzt aber in ihrer Reihenfolge nicht mehr verschoben werden!

Ich zeige Männern gerne, was ich im Bett mag. Leider schlafen die meisten während meiner einstündigen PowerPoint-Präsentation ein.

Gestern Excelschulung. Ich zeige, wie man Zahlen benutzerdefiniert formatieren kann. Eine Teilnehmerin meldet sich zu Wort. Wie man Zahlen mit Nullen auffüllen kann. Sie hat „alte“ Personalnummern – diese sollten führende Nullen erhalten. Nun – das Zahlenformat 00000 ist wohl kein Problem:

Dann kam die Frage, wie man die Anzahl der Nullen so festlegen könne, dass die größte Zahl keine führende Null hat, alle anderen sich daran ausrichten.

In den benutzerdefinierten Zahlenformaten kann man leider keine Formel eintragen. Deshalb geht das DA wohl nicht. Aber man kann benutzerdefinierte Zahlenformate in der bedingten Formatierung einsetzen:

Die größte Anzahl der Ziffern (vor dem Komma) kann beispielsweise mit

=MAX(AUFRUNDEN(WENNFEHLER(LOG10(A:A);0);0))

ermittelt werden. Nun kann man überprüfen, ob dieses Ergebnis = 1, dann: Zahlenformat: 0. Ergebnis = 2, dann: Zahlenformat: 00, Ergebnis = 3, dann: Zahlenformat: 000, Ergebnis = 4, dann: Zahlenformat: 0000, und so weiter.

Funktioniert. Ist aber weder schön, noch elegant noch schnell!

Ich schlafe gerne nackt. Wenn es jemanden stört – es fahren auch noch andere Busse.

Hallo René,

habe mir dein Buch mal durchgearbeitet. Respekt, viele richtig spannende Sachen dabei.

Einen Satz habe ich allerdings nicht verstanden. Unter 4.10 auf Seite 104 sagst du, dass es nicht möglich sei Hintergrundfarbe, Schriftart und -größe in Notizen festzulegen.

Sie mal hier…

Hallo Hannes,

stimmt: ich hätte noch das Wörtchen „als Standard“ hinzuschreiben sollen. Du kannst nicht die Standardschrift, Standard-Hintergrund … von Notizen in Excel festlegen

Liebe Grüße und danke für den Hinweis

Rene

In einem Meeting einen Zettel hochhalten: „Sprecht ganz normal weiter! Wir werden abgehört! Lasst euch nichts anmerken!“

Lieber Rene

Wie geht es dir? Ich habe wieder mal eine Frage:

Im Anhang findest du eine Tabelle. Was ich möchte ist folgendes:

Ich möchte wissen, welche Zahlen zwischen der kleinsten und der grössten Zahl alle noch fehlen. Am liebsten hätte ich alle fehlenden Zahlen in einer Spalte.

Herzliche Grüsse

Andreas

Hallo Andreas,

ich verstehe nicht ganz – in der Liste befinden sich keine Zahlen, sondern Texte. Texte der Form CHE-xxx.yyy.zzz

Was heißt in diesem Zusammenhang „die kleinste und die größte Zahl“?

LG ::  Rene

Lieber Rene

CHE-000.000.000 (kleinst mögliche), CHE-000.000.001 …..  CHE-999.999.999 (grössmögliche).

Vielleicht sollte ich besser „Nummern“ schreiben, das „CHE-“ könnte man auch weglassen, man könnte auch die Punkte durch tausender Trennzeichen ersetzen, damit es  Zahlen werden: 000’000’001 bis 999’999’999

In der Matrix hat es eine Auswahl von möglichen „Nummern“, eine „Nummer“ ist die Grösste, eine die Kleinste, dazwischen hat es in der Matrix welche, aber es fehlen auch welche. Ich möchte gerne alle Nummern, von der kleinsten Nummer bis zu Grössten Nummer, die mir noch fehlen und so, dass ich Sie in einer Spalte habe und sortieren kann.

Konnte ich mich verständlich ausdrücken?

Herzliche Grüsse Andreas

Hoi Andreas,

kurz nachgeschaut:

die kleinste „Zahl“ in deiner Liste ist CHE-100.000.058, die größte: CHE-499.992.187. Das heißt: wir müssten fast 500 Millionen Zahlen prüfen.

Ich habe es mal mit den Zahlen zwischen 100.000.000 und 101.000.000 versucht – bei einer Formel (bist du drin? -> Zählenwenn) geht Excel in die Knie. Nicht auszudenken, wenn du das in einer Spalte „zusammengefasst“ haben möchtest und das ganze x 500!

Da stürzt Excel ab.

Ich würde es entweder mit PowerQuery lösen oder mit VBA.

Liebe Grüße

René

Hoi Rene

1.000 Dank!

Ich prüfe das nochmals…

Herzliche Grüsse

Andreas

Nach zwei Stunden Babysitten glaube ich, dass ich doch keine Kinder, sondern lieber etwas Harmloseres möchte. Krokodile zum Beispiel. Oder Löwen.

Hallo Excel-Meister

ich arbeite an einem VBA – Projekt, dass aus Power BI Dateien die Metadaten rauslesen soll.

Das Auslesen geschieht über Power Query (what else….), aber ich muss noch ein paar Prüfungen mit VBA erstellen und insbesondere die Power Query Abfragen on the fly erstellen. Letzteres geht problemlos.

Der Ablauf:

  1. Prüfe, ob User die pbix geöffnet hat.
  2. Falls nicht, bitte freundlich darauf aufmerksam machen
  3. Falls nein, Abbruch – falls ja, pbix öffnen.

Bis dahin klappt alles.

Nun kommt der Punkt, wo der Benutzer sich gegenüber der Power BI Datei authentifizieren muss, nachdem er ja gesagt hat.

falls er aber den Dialog hier abbricht (…..DAU…….), kommt eine „schöne“ Meldung:

Nun meine Frage:

Wie kann ich hier meine eigene Meldung einbauen und vor allem, wie fange ich das ab?

Bin schon voller Zweifel…..

Merci, lieber René für deine Geduld mit mir

Freundliche Grüsse Hans Peter

########################################

die unwissenden erleuchten sich selber

habs gefunden. nach Drücken von „Senden“ fiel es mir wieder ein, da stand was im Buch von René

ich danke dir!

Hier der Code, falls es dich interessiert.

Sub GetData()

‚XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

‚ Code erstellt durch: Pfister BI Consulting GmbH

‚ Zweck: Holt Metadaten aus der Power BI Datei

‚ Erstelldatum: 8.3.2021

‚ Aenderungsdatum:

‚XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

‚Testen, ob pbix Datei geöffnet ist. Falls nicht, Mesagebox und fragen, ob sie geöffnet werden soll. Fall nicht, Abbruch

    If Dateigeoeffnet(Range(„Dateipfad_PBIX_Original“)) = False Then

        If MsgBox(„Die Datei muss geöffnet sein. “ & Chr(10) & “ Soll die Datei geöffnet werden?“, vbYesNo, „Power BI Datei öffnen?“) = vbNo Then

            Exit Sub

            Else: Call Open_PBIX

                Application.Wait (Now + TimeValue(„0:00:10“))

            End If

   End If

’notwendige Abfragen aktualisieren

Abfragen_starten:

On Error GoTo ErrHandler

    ActiveWorkbook.Connections(„Abfrage – Tabellen“).Refresh           ‚Teil Abfrage – “ muss unbedingt vermerkt sein!

    ActiveWorkbook.Connections(„Abfrage – Memory Usage Tabellen“).Refresh           ‚Teil Abfrage – “ muss unbedingt vermerkt sein!

    ActiveWorkbook.Connections(„Abfrage – Tabellenliste“).Refresh           ‚Teil Abfrage – “ muss unbedingt vermerkt sein!

    ActiveWorkbook.Connections(„Abfrage – Liste nicht geladene Queries“).Refresh           ‚Teil Abfrage – “ muss unbedingt vermerkt sein!

    ActiveWorkbook.Connections(„Abfrage – Abfragen – nicht geladen“).Refresh           ‚Teil Abfrage – “ muss unbedingt vermerkt sein!

  Call Listen_befuellen

ErrHandler:

    ‚Fehler No. 1004 abfangen

    If Err = 1004 Then

        If MsgBox(„Soll der Prozess abgebrochen werden?“, vbYesNo, „Bitte Identifikation vornehmen“) = vbYes Then

            Exit Sub

        ’sonst Abfrage wieder aufnehmen

            Else: Resume Abfragen_starten

        End If

    End If

End Sub

Gruss Hp

Seirtdem ich mich vom Beinbruch erholt habe, laufe ich besser als früher. Jetzt fehlt mir nur noch eine Gehirnerschütterung.

Hallo Rene,
ich benötige BITTE DRINGEND Deine Hilfe!!!
Ich habe hier irgendetwas abgeschossen……
Kann eine ausgeschnitte Zeile nicht mehr einfügen….
DANKE

es geht es geht……
DANKE DANKE DANK!!!!!!!!!!!
Was war es???

vor der Antwort eine Frage:
klick mal bitte in Excel auf Datei / Konto.
hast du auch Version 2102?

Hallo JA, die habe ich auch.
wobei jetzt gerade ein update läuft…. 🙁
hoffe es geht dann noch alles….
habe jetzt: Version 2102 Build 13801.20294
ABER ES LÄUFT!!!

Eben, Jörg: Microsoft macht Updates. ich vermute stark, dass Microsoft etwas kaputt gemacht hat.

In eurem Makro verwendet ihr ein uraltes Tool, um Masken (Dialoge) anzuzeigen. Aus Excel 4.0. Da lief ungefähr in der Zeit, als die Dinosaurier ausstarben. Ich habe dich ja im Dezember mal gefragt, ob man (ich) nicht mal den ganzen alten Schrott, der in euren Makros steckt, erneuern soll. Und ich fürchte: heute ist es passiert – da wird etwas aus den 90er Jahren nicht mehr unterstützt …

Ich habe dir im Dezember einen Screenshot von der Maske geschickt. Deshalb wusste ich, dass sie damals bei mir noch lief. Heute bei mir auch nicht mehr.

ich habe die Maske mit den aktuellen Bordmitteln nachgebaut – deshalb sieht sie ein klein wenig anders aus … beispielsweise der Titel in der Titelzeile.

Ich werde das mal in Foren posten und fragen, ob jemand eine ältere Version hat – ob es da noch läuft …

Bevor dein Chef dich tötet, flehe um Gnade und sag ihm einen schönen Gruß von mir, dass Microsoft Sachen kaputt macht … nicht nur du …

Liebe Grüße

Rene

####

Jörg war glücklich. Ich habe ihm vorgeschlagen, das Makro zu überarbeiten. Habe ihm ein Angebot gemacht. Er hat sich seitdem nicht mehr gemeldet.

Er hat zu Hause immer das letzte Wort: Meistens: „Ja, Schatz!“

Vor zwei Tagen habe ich eine sehr nette, sympathische Gruppe von „Ich will da rauf! – Klettern für Menschen mit und ohne Behinderung“ in Excel unterrichtet. Wer schauen möchte:

https://www.iwdr.de/

Als ich Notizen (früher: Kommentare) zeigte, kam die Frage, wie man denn diese roten Ecken ausblenden könne.

Ich habe gestutzt. Meine Gegenfrage: „Warum wollen Sie das?“ wurde mit einem „ich möchte nicht, dass andere sofort meine Kommentare sehen“ beantwortet.

Nun gut.

Ich gestehe: ich habe ein bisschen suchen müssen:

Die Antwort: in den Excel-Optionen in Erweitert findet sich in der Gruppe „Anzeige“ die Option „Keine Kommentare, Hinweise oder Indikatoren“.

Zugegeben: Über Überprüfen / Notizen / Alle Notizen anzeigen könnte man sie wieder einblenden. Ebenso über den Aufgabenbereich Start / Bearbeiten / Suchen und Auswählen / Auswahlbereich:

Nachricht von den Nerven: „Falls du uns suchst – wir sind am Ende.“

Erstaunlich! Auf dem letzten Excelstammtisch, den Frank Arendt-Theilen organisiert hat, hat er angemerkt, dass die PowerQuery-Funktion Date.WeekOfYear, die man über Spalte hinzufügen / Datum / Woche / Woche des Jahres nach dem US-amerikanischen Modell rechnet. Zwar verfügt Excel seit vielen Versionen über die Funktion ISOKALENDERWOCHE, welche die KW korrekt nach ISO 8601 berechnet. Auch Outlook unterscheidet bei den Kalenderwochen zwischen USA und Europa. Jedoch nicht PowerQuery. „Haben die das vergessen?“, fragt Frank. Also muss man diese Funktion in PQ nachbauen …

Ich habe einige Punkte von der ToDo-Liste auf die WasSolls-Liste gesetzt.

Ein großes Dankeschön an Frank Arendt-Theilen, der gestern den Excelstammtisch organisiert hat. Es war wieder ein toller, informativer, spannender und erfrischender Abend.
Auch ein Dankeschön an Sven Amrhein für seinen Vortrag über PowerQuey, Excel und SharePoint. Bemerkenswert ist sein Hinweis zu der Fehlermeldung.

Eine Ausnahme vom Typ „Microsoft.Mashup.Engine.Interface.ResourceAccessForbiddenException“ wurde ausgelöst.
Der Mashup-Fehler tritt bei der Datenabfrage von einer Excel-Datei auf eine zweite Excel-Datei auf, die dann auf dem SharePoint liegt.

Man muss das Dokument entweder auschecken und wieder einchecken oder – es gibt eine bessere Lösung:
Unter Datei / Informationen befindet sich ein Feld für den Manager. Dort müssen alle Anwenderinnen und Anwender eingetragen werden, die mit dieser Datei arbeiten. Dann kann reibungslos und ohne Fehlermeldung damit gearbeitet werden.

Danke an Sven für diesen wichtigen Hinweis.

Klar müsste ich mal wieder die Fenster putzen. Andererseits ist Privatsphäre auch wichtig.

Hi René, Danke für die Präsentation. Was mich kurz interessieren würde: Wenn ich z. B. das Währungssymbol von Ungarn möchte, scrolle ich mir einen Wolf, bis ich es gefunden habe. Geht das schneller? Wie lange brauchst du dafür? Tipp: Ungarn liegt zwischen Kamerun und Haiti. Oder: Polen zwischen Lateinamerika und Mazedonien. Klar, einmal gefunden, kann ich das Format einfach übertragen. Aber hin und wieder kommen so Währungs-Exoten und da ist die Auswahl sehr mühsam. Danke und dir einen schönen Abend! Christa

Hi Christa, interessante Frage. Stimmt: wenn du „H“ drückst, springt Excel zu HUF – also zu den Texten im ISO-Code – nicht zu den Symbolen. Tipp: in meinem Skript (hast du?) und auch im Internet gibt es Listen, wie man die Währungssymbole im ASCII-Code eingeben kann. Vielleicht schneller als die Sucherei. Die Ländersortierung ist immer merkwürdig. Meistens liegt eine englischsprachige Tabelle dahinter. Mich würde ja auch interessieren, ob es eine Liste der Symbole gibt. Steht das Excel? Ich mach mich mal auf die Suche… LG ::  Rene

Hi René, oh cool. Vielen Dank. Ja, ASCII hatte ich noch in der Ausbildung zur Europasekretärin. Und ich bin Baujahr 78 wohlgemerkt. Dein Skript habe ich gestern heruntergeladen. Danke!!! Ja, das würde mich interessieren, wenn du so eine Liste gefunden hast. Kein Stress

Hi Christa, ich habe mal ein bisschen probiert. Der Makrorekorder hilft nicht weiter, weil er die Zeichen nicht richtig codiert. Also: VBA scheidet aus. Ich habe mal die fast 300 Symbole angeklickt –  die Datei gespeichert, in .ZIP umbenannt und aus dem XML-Archiv die Währungssymbole herausgeholt. Auch nicht ganz befriedigend. Immerhin: ich habe entdeckt, dass es doch ein BTC-Symbol/Zeichen für Bitcoin gibt … irgendwo dazwischen. Wie man allerdings die angezeigten Texte der Combobox herausbekommt … keine Ahnung! Ich schick dir mal die Datei LG  ::  Rene

Übrigens: nach 200 Zahlenformaten hört Excel auf. Ich habe zwei Dateien erstellen müssen.

Gerne können Sie die Liste von meiner Seite herunterladen:

http://www.excel-nervt.de/wp-content/uploads/2021/03/Waehrungen.xlsx

Und: wer den Vortrag ansehen möchte – man findet ihn unter:

https://www.youtube.com/watch?v=9UI9IwDVlGc

Drosseln sind Vögel – sie in Motorräder zu stecken ist Tierquälerei.

Letzte Woche habe ich einen Vortrag auf dem Londoner Excel-meetup zu (benutzerdefinierten) Zahlenformaten in Excel gehalten. Dabei habe ich auch gezeigt, dass man mit dem Zahlenformat

[=1]0 „Motorrad“;0 „Motorräder“

die Zahl 1 anderes formatieren kann als die übrigen:

Johannes Sandkamp hat mich darauf aufmerksam gemacht, dass man die Zahlen auch bündig ausrichten kann. Der Unterstrich hilft dabei. Oder genauer: der Unterstrich gefolgt von einem Buchstaben. Also so:

[=1]0 „Motorrad“_e_r;0 „Motorräder“

Klappt. So sieht das Ergebnis aus:

Übrigens: wer den Vortrag ansehen möchte – man findet ihn unter:

https://www.youtube.com/watch?v=9UI9IwDVlGc

Ich liege hier wie Gott mich schuf! – Du hast einen beigen Pullunder mit Karomuster an und eine Feinrippunterhose. – Es ist ein grausamer Gott!

Vorgestern habe ich einen Vortrag über Zahlenformate in Excel auf dem Excel-meetup in London gehalten. Danach kam die Frage nach (ost-)arabischen Ziffern, beziehungsweise Datumsangaben. Ein Teilnehmer erzählte, wie schwierig das Umrechnen der verschiedenen Kalender ist. Ich probiere es aus:

Ich schalte die Oberfläche auf Persisch. Ich hätte auch Arabisch nehmen können. Ich trage die Zahl 1 ein, ziehe mit gedrückter [Strg]-Taste herunter. Klappt. Ich hole aus der Zeichentabelle die arabisch-indische Ziffer 1, und ziehe mit [Strg] nach unten. Klappt auch:

Amüsanterweise werden die Zahlen in „unserer“ arabischen Schreibweise in der Bearbeitungsleiste angezeigt.

Übrigens: ein Umstellen der Sprache auf Persisch (Farsi):

ermöglicht leider nicht die Eingabe der arabisch-indischen Ziffern:

Deshalb muss die Zeichentabelle herhalten:

Ich drücke [Strg] + [;] für das heutige Datum. Runterziehen – kein Problem. Ein Blick in das Kombinationsfeld Zahlenformat zeigt: das heutige Datum (12.03.2021) würde in das Datum 22.12.1399, das im Iran das aktuelle Datum ist, umgerechnet werden:

Ein Klick auf die Schaltfläche bestätigt das – nicht gerade vertrauenserweckend, wenn in der Bearbeitungsleiste ein völlig anderes Datum steht als in der Zelle:

Und die ostarabischen Ziffern? Ich wechsle die Datumssprache auf Farsi und finde dort mehrere Schreibweisen für das Datum:

Oder so?

Nicht gerade einfacher macht die Tatsache, dass wir dort noch einen dritten Kalender zur Verfügung haben: den Hijri-Kalender, den islamischen Kalender. Dort schreiben wir heute den 29.07.1442. Uff!

Übrigens: wer sich mit Arabisch und/oder persisch auskennt, stellt fest, dass die persische Ziffer für 4, 5 und 6 verwendet werden: ۴۵۶, nicht die arabische Ziffern: ٤٥٦

Ein Blick auf die Tabelle offenbart die Schwierigkeiten, die Microsoft zu bewältigen hat und auch Anwender und Anwenderinnen, die von einem Kalender in einen anderen umrechnen müssen:

Also wieder ganz schnell zurück zu Deutsch / Deutschland:

Übrigens: wer meinen Vortrag ansehen möchte – man findet ihn auf:

https://www.youtube.com/watch?v=9UI9IwDVlGc

und ein Dankeschön an Faraz Shaikh für seinen Hinweis zu seinem Video, indem er erklärt, wie man ein Datum aus dem Hijri-Kalender in ein Datum des gregorianischen Kalenders konvertiert:

https://www.youtube.com/watch?v=Du3uuhKel5w

Jeder sollte jemanden haben, der im entscheidenden Moment nachschenkt.

Vorgestern habe ich auf dem Excel-Meetup einen Vortrag über Zahlenformate in Excel gehalten. Nach dem Vortrag schreibt Tanja:

Hallo René

Danke für deinen Vortrag. War ein sehr guter Überblick.

Wieso hast du das Problem mit den Monaten über Hilfsspalten und nicht über die Gruppierung des Datums gemacht?

Dann wäre es ja ganz einfach die fehlenden Monate anzuzeigen.

Sonnige Grüsse aus der Schweiz

Hallo Tanja,

ich freue mich über Mails, die beginnen mit „warum hast du nicht …?“ Es gibt immer drei Möglichkeiten:

* entweder ich habe etwas übersehen – und es gibt wirklich elegantere Lösungen

* oder es gibt mehrere Lösungen; ich habe mich für die eine entschieden, weil …

* oder meine Lösung ist bewusst gewählt, weil …

Ich habe gestern Abend noch einmal nachgedacht:

[und dann folgt eine lange Erklärung, warum ich es nicht so gemacht habe, wie sie es vorschlägt. Das soll an dieser Stelle nicht wiederholt werden.]

Liebe Grüße  aus dem verregneten München

René

PS: Beim Durchschauen habe ich gerade bemerkt, dass die Option „Elemente ohne Daten anzeigen“ nicht aktivierbar ist, wenn das Datenmodell eingeschaltet ist. Wusste ich nicht …

Hallo Rene

Danke für deine Erläuterungen. […]

Ich kann mir vorstellen, warum das nicht aktiv sein kann. Beim Zusammenspiel mit dem Datenmodell kann ich ja auch nicht in der Pivot-Tabelle nach einem Datum gruppieren. Wenn ich es sauber aufbaue, brauche ich dazu im Datenmodell ja eine Kalendertabelle und dort kann das Problem mit fehlenden Jahren oder Monaten gar nicht auftauchen, da eine Kalendertabelle ja immer den kompletten «Datumsbereich» enthalten muss.

Übrigens: wer meinen Vortrag ansehen möchte – man findet ihn auf:

https://www.youtube.com/watch?v=9UI9IwDVlGc

Ich baue jetzt schon mal auf Placebo-Effekt: Sportsachen angezogen: der Körper denkt, ich mache Sport. Los: Kilos – purzeln!

Gestern auf Excel-meetup in London habe ich einen Vortrag über Zahlenformate in Excel gehalten. Anschließend kam folgende interessante Frage:

In einer Zelle steht =12/24. Das Ergebnis soll allerdings als Bruch dargestellt werden. Leider weigert sich bei der Zellformatierung Excel, ihn mit den ursprünglichen Werten 12 und 24 darzustellen:

Ich fürchte, das wird auch nicht funktionieren. Der Wert der Berechnung beträgt 0,5. Wie soll diese Ergebniszahl wissen aus welchen Werten sie entstanden sind. Natürlich kann mit FORMELTEXT die Funktion (und damit die Werte) anzeigen lassen – jedoch: DAMIT kann nicht weitergerechnet werden.

Übrigens: wer meinen gestrigen Vortrag ansehen möchte – man findet ihn unter:

https://www.youtube.com/watch?v=9UI9IwDVlGc

Ich soll der Praktikantin die Grundlagen für Arbeit mit Excel zeigen. Stehen jetzt im Supermarkt vor dem Spirituosenregal.*)

Hallo René, 

ich dachte, ich meld mich mal mit einer kleinen Excel-Anekdote (und einer kleinen Frage). Wahrscheinlich ein alter Hut für dich, ich fands aber ganz witzig. 😉

Zuletzt kam ein Kollege zu mir, er hat ne Excel-Frage. Er hat da eine Datei geschickt bekommen und wenn er da irgendwo in eine Excel-Zelle ne Zahl schreibt und auf „Währung“ beim Zahlenformat (das € Deutsch natürlich) klickt…dann steht da D-Mark.

Hatte ich so auch noch nicht gehört. Also schauen wir in unter „Zellen formatieren“. Da war ein benutzerdefiniertes Zahlenformat eingestellt. Kann es jetzt leider nicht 1:1 wiedergeben, da ich die Datei selbst nicht habe, aber es müsste das hier gewesen sein:

_-* #.##0 €_-;-* #.##0 €_-;_-* „-“ €_-;_-@_-

Nur anstelle das €-Zeichens stand „DM“. Wie kommt das da rein?

Ich schaue auf das Erstell-Datum der Datei…26.09.2001.

Auch gut, wenn eine Datei seit fast 20 Jahren in einem Unternehmen hin und her geschickt wird. 😉

So, jetzt zu meiner kleinen Frage. Die Einstellung Berechnungsoptionen > Manuell in der Registerkarte „Formeln“ ist, wenn ich mich nicht sehr irre, eine Einstellung, die alleine auf die jeweilige Arbeitsmappe beschränkt ist. 

Jetzt bin ich einigen Leuten begegnet, die steif und fest behaupten, dass diese Einstellung „rüberwandert“, wenn man mehrere Dateien offen hat. 

Also beispielsweise bekommst du per E-Mail eine Datei mit ausgeschalteter Berechnung, öffnest diese, hast aber noch zwei andere Dateien offen. Dann soll die Einstellung auf die zuvor geöffneten Dateien rüberwandern.

Ich konnte dieses Phänomen nie reproduzieren. Auch nicht, wenn ich aus der Mappe mit ausgeschalteter Berechnung heraus (z.B. mit Strg + n) eine neue erzeuge.

Hast du schon mal davon gehört?

Wäre es theoretisch möglich, dass man auf VBA-Ebene bei allen geöffneten Mappen die Berechnung ausschaltet, wenn ich die Datei öffne und Makros aktiviere? (Bei den Leute, die mir das berichtet haben, halte ich es eher für unwahrscheinlich, dass die xlsm-Dateien hin- und hergeschickt haben)

Danke dir und viele Grüße, 

Dominic

Hallo Dominic,

ich kann es nicht ganz nachvollziehen. Wenn du in der Excelmappe, die in der Zeit erstellt wurden als es noch keinen Euro gab, auf das Buchhaltungszahlenformatsymbol klickst, wird die Zelle als DM formatiert:

Wenn man das Tabellenblatt in eine neue Arbeitsmappe kopiert, ebenso.

Nicht jedoch, wenn ich einige Zellen in eine neue Datei kopiere; auch nicht, wenn ich das Blatt in eine vorhandene Mappe kopiere.

Ich wüsste nicht, wie dieses Zahlenformat in eine andere Datei „wandern“ kann … ich glaube diesen Menschen nicht, die so etwas behaupten …

Liebe Grüße Rene

*)PS: Danke für die hübsche Headline – sie wird den heutigen Tag überschreiben.

Solange nicht geklärt ist, warum die Dinosaurier ausgestorben sind, darf die Männergrippe nicht verharmlost werden.

Hallo Herr Dr. Martin,

da Sie mir schon mal bei dem Rauten Problem sehr geholfen haben, hoffe ich nun das Sie mir bei dem folgenden Problem auch helfen können. 

Ich kann in meinem Kalender aus einem Dropdown-Menü Tage Markieren an denen ich „im Urlaub oder Krank“ bin Auswählen. Nun möchte ich aber das nach der Auswahl der Wert 1 für einen Tag in einer anderen Zelle und auf einem andere Blatt angezeigt, und dann auch zusammen gezählt wird. Habe einen Teil dieser Funktion auch mit einer wenn Formel zb. =Wenn(H6“Krank“;“1“;““) bzw. =Wenn(B6“Urlaub“;“1“;““) hinbekommen, die Zahl 1 steht dann in der gewünschten Zelle nur wenn ich weitere Tage mit „Urlaub oder Krank „ markiere, sollten diese in der Zelle dann auch Aufaddiert werden  und das geht nicht. Wie kann ich das hinbekommen, können Sie mir da vielleicht auch weiter helfen?  Mit freundlichen Grüßen

Hallo Herr B.,

dafür gibt es zwei Lösungsansätze:

Entweder sie ermitteln in einer Spalte jeweils, ob in der Kalenderspalte der Text „krank“ steht:

=WENN(B2=“krank“;1;0)

oder in einer anderen Spalte, ob dort „Urlaub“ steht:

=WENN(B2=“Urlaub“;1;0)

Unter den Spalten ziehen Sie nun die Summe.

Oder Sie berechnen die Gesamtanzahl der „kranken“ Zellen mit

=ZÄHLENWENN(B2:B28;“krank“)

Das Gleiche für Urlaub.

Und beide zusammen? Na – addieren:

=ZÄHLENWENN(B2:B28;“krank“)+ZÄHLENWENN(B2:B28;“Urlaub“)

Werfen Sie mal einen Blick in die beigefügte Datei!

Liebe Grüße

René Martin

Dein Bart macht dich so männlich! – Nicht anfassen, die Himbeer-Aloe-Vera-Spülung muss erst einwirken!

Hallo Herr Martin

Es kommt wieder mal eine Frage aus der Schweiz.

Für den damaligen Kunden hatte ich mit Ihren Angaben und Ihrem Buch eine eigene Registerkarte für die Vorlage erstellt. Das hat super funktioniert. Nun gibt es noch Ergänzungen einiger zusätzlicher Schaltflächen. Nur bockt diesmal etwas.

Haben Sie dazu eine Idee?

Hallo Herr S.,

im Ordner _rels befindet sich eine XML-Datei mit Namen .rels. In ihr muss eingetragen werden, dass im Ordner ribbon\customUI die Datei customUI1.xml mit der Ribbon-Definition liegt, beispielsweise so:

<Relationship Id=“rId2″ Type=“http://schemas.microsoft.com/office/2007/relationships/ui/extensibility“ Target=“ribbon/customUI/customUI1.xml“/>

Die Id muss eindeutig sein!

Liebe Grüße

Rene Martin

ceterum censeo: Headlines sind sinnlos!

Zugegeben: Ein bisschen nervös bin ich schon!
Alan Murray hat mich eingeladen am Dienstag, dem 09. März um 19 Uhr (MEZ) auf seinem Excel-meetup einen Vortrag zu halten. 175 Personen haben sich bereits angemeldet – Uff – vor so einem großen Publikum habe ich noch nie gesprochen!

Ich habe mir das Thema „Zahlenformate“ ausgesucht – gefühlte 100.000 Gimmicks rund um die Zahlenformate, die Excel bereithält. Beispielsweise die Unterschiede zwischen Währung und Buchhaltung / Currency and Accounting.

Interessiert? Neugierig?
Einfach anmelden:

https://www.meetup.com/de-DE/London-Excel-Meetup-Group/events/276115976/

Ich brauche heute einen zweiten Kaffee, der nachguckt, warum der erste seine Arbeit nicht macht …

Ich habe ein Problem mit Excel 2016:

In einer großen Tabelle (~17.000 Zeilen) muss ich ein einer Spalte eine Rechtschreibkontrolle durchführen. Hier scheinen „Alle ignorieren“ und „Immer ändern“ nicht zu funktionieren – wenn ich Fehler mit diesen Schaltflächen bearbeite (um z. B. ein bestimmtes Wort aus der Schweizer Rechtschreibung in die deutsche Standard-Rechtschreibung umzuwandeln), werden sie mir bei ihrem nächsten Vorkommen wieder angezeigt, statt (wie erwartet) einmal komplett durch die Spalte zu gehen und alle Vorkommnisse dieses Fehlers zu beheben. Dies bremst mich natürlich erheblich aus. Gibt es einen Trick, damit die Excel-Rechtschreibkontrolle so effektiv funktioniert wie in Word, oder muss ich mit diesem Problem leben? Und wurde das Problem eventuell in Excel 2019 behoben?

Ich danke für eure Antworten!

Hallo Herr P.,

Ich habe es gerade bei einer Liste mit 300.000 Zeilen probiert – in meinem Excel in Microsoft 365 läuft [alles ignorieren] prima durch: der Fehler „Huerth“ wird in Zeile 299.991 gefunden, in der übernächsten Zeile übergangen.

Fehler wird gefunden – „Alle ignorieren“
Dann wird der Fehler nicht mehr gefunden

Aber ich kann die Frage gerne mal posten – vielleicht hat jemand ein ähnliches Problem.

Liebe Grüße 

René Martin

Hallo Herr Martin,

vielen Dank für Ihre Rückmeldung. Es könnte wirklich ein Problem meiner „älteren“ Version von MS Office sein.

In jedem Fall freue ich mich schon auf Ihre Rückmeldung.

Liebe Grüße

Liebe Leserin, lieber Leser,

gerne dürfen Sie einen Kommentar abgeben, wenn SIE dieses Problem in Excel haben / kennen. Wir würden uns freuen.

Und: Die Namensliste, die Sie oben sehen, habe ich mit dem fakename-Generator erzeugt:

https://www.fakenamegenerator.com/

Ich muss meinem Gesichtsausdruck beibringen, wie man seine Meinung für sich behält.

Lieber René,

nachfolgender Code läuft fehlerfrei unter
Win 7 + Word 2010
Win 7 + Word 2013
Win 10 + Word 2019
Win 10 + Word 365

nur nicht unter Win 10 + Word 2016.
Die rot markierte Zeile ist mein Problemkind.

Vielleicht hast Du noch eine Idee.

Sub TopAktuell_Einfügen()
       Application.ScreenUpdating = False
   DocPath = "O:\Topaktuell\"
   ChDrive ("O:\")
   ChDir ("O:\Topaktuell\")
   Dim datei As String
         Selection.EndKey Unit:=wdStory
      For dokumente = 1 To 30
        If Dir(DocPath & dokumente & "_1.docx") = "" Then Exit For
   For seiten = 1 To 20
     datei = dokumente & "_" & seiten & ".docx"
     If Dir(DocPath + datei) = "" Then Exit For
    Selection.InlineShapes.AddOLEObject ClassType:="Word.Document.12", _
    FileName:=datei

     Next
 Next

   Application.ScreenUpdating = True
End Sub

Danke.

LG Traudl

Hi Traudl,

Seit über 20 Jahren schreibe ich VBA-Code. Dabei ist mir aufgefallen, dass sich einige wenige Objekte verändert haben. Ich habe mal vor vielen Jahren ein Makro geschrieben, das Text in eine Word-Tabelle geschrieben hat und den Text mit einem Hyperlink auf ein Word-Dokument versehen hat. Eine der Parameter beim Befehl Hyperlinks.Add wurde geändert.

Deshalb sage ich nicht, dass das nicht sein kann.

ABER! Bitte, bitte, bitte: adressiere doch sauber.
Ändere seinen Code in:
Dim wdBereich As Range

Set wdBereich = ActiveDocument.Range(Start:=ActiveDocument.Range.End - 1)

(Ende des Dokuments)

Und dort:
wdBereich.InlineShapes.AddOLEObject ClassType:="Word.Document.12", _
FileName:=datei

Es kann natürlich sein, dass es trotzdem nicht unterstützt ist – aber eher unwahrscheinlich als das „Hoppeln“ an Ende:
Selection.EndKey Unit:=wdStory
Raus damit!

Und: wenn du gerade dabei bist:
ChDrive ("O:\")
ChDir ("O:\Topaktuell\")

Raus damit!

Und: deklariere die Variablen:
Dim docpath As String
Dim dokumente As Integer
Dim seiten As Integer
Dim datei as String

Und schließlich: Warum fügst du ein Word-Dokument in ein anderes ein? Ich würde es öffnen, an eine Objektvariable übergeben, den Inhalt (brauchst du die Formate?) entweder in einer Stringvariable speichern oder kopieren und ins Dokument einfügen.

Hilft das?

Liebe Grüße

Rene

Ich danke Dir ganz, ganz herzlich für Deine Vorschläge, lieber René.

Den Code hatte ich 2017 erstellt und war froh, dass er läuft. Er ist eine Sub aus einem unfangreichen Makro. Ich bin allerdings keine Programmiererin. Dazu benutze ich VBA viel zu wenig.

Deine Vorschläge werde ich natürlich umsetzen .

Ich gebe Dir Bescheid, wie es funktioniert.

Liebe Grüße Traudl

90% der Jugendlichen haben Schlafprobleme. Die restlichen 10% haben kein facebook.

Ich war irritiert. Ich erhalte eine Datei, öffne sie und bekomme beim Speichern eine mir bislang unbekannt Meldung:

Vorsicht: Teile Ihres Dokuments enthalten möglicherweise personenbezogene Informationen, die von der Dokumentprüfung nicht entfernt werden können.

Ich bin irritiert.

Ich suche.

Ich finde:

In der Makrosicherheit (Optionen / Dokumentschutzoptionen) wurde für diese Datei die Option „Beim Speichern personenbezogene Daten aus Dateieigenschaften entfernen“.

So ein süßer Bub! – Es ist ein Mädchen! – Aber er hat etwas Blaues an. – Sie wird zweifarbig erzogen.

Hallo Herr Martin,

ich zweifle an meinem Verstand – ich kann den Fehler in der Differenzrechnung  Zeile 38 nicht entdecken, obwohl ich alle Formatierungen und Eingaben mehrfach gecheckt habe. Der Fehler tritt nur in der Zelle i38 auf, die Formel habe ich mehrfach neu eingegeben und Zeilen und Zellen gelöscht usw. der Fehler bleibt  – HILFE!

Ich bin froh, dass es nur eine private Tabelle ist und nichts Wichtiges, aber so was ist doch nicht zu ertragen…

Übrigens: Ihre Sprüche sind grandios! Wenigstens konnte ich mehrfach laut lachen!

Mit freundlichen Grüßen Ulrike

Hallo Frau H.,

Danke für das Lob der Sprüche – manchmal befürchte ich, dass einige nur auf meine Seite wegen der dummen Sprüche klicken. Die sollen doch mit mir über Excel diskutieren! *lach*

Ich verstehe Ihr Problem nicht:

130,45- 150,31 = 19,86

SO haben Sie es in den anderen Zeilen auch gerechnet.

Wer von uns beiden „denkt falsch“?

Liebe Grüße

Rene Martin

Guten Tag Herr Martin,

erstmal danke für die schnelle Reaktion, die ich zuerst nicht verstanden habe. Beim erneuten Öffnen der gesendeten Mail konnte ich sehen, dass die Zeilen, um die es geht, darin nicht zu sehen sind, obwohl ich das ganze Blatt schicken wollte. Das liegt evtl. an der Druck-einstellung. Ich schicke die Mappe nochmal und stelle fest, dass es Zeile 39 ist, wo der Fehler auftritt (ich hab das mit der Nummerierung der Positionen verwechselt! – war ja auch schon etwas Gaga nach dem vielen rumprobieren) Die Formel heißt also: <=H39-G39> und müsste = ergeben, tut sie aber nicht.

Also noch mal meine Bitte, den Fehler zu identifizieren.

Liebe Grüße Ulrike

Hallo Frau H.,

Ich würde gerne helfen, aber Zeile 39 ist leer!

Liebe Grüße

Rene Martin

Dann bitte bei Zeile 40 nachschauen, folgende Beträge: 129,74 € – 61,67 € ergibt  nicht -67,80€ sondern – 68,07€! Ulrike

Da ist ein Zahlendreher in Ihrem Kopf oder ihrer Wahrnehmung, liebe Frau H.

In der Zelle G40 steht der Wert 129,47 und nicht 129,74:

Vier – sieben – NICHT: sieben – vier!

Liebe Grüße

Rene Martin

Oh mein Gott— gut, dass ich niemand anders gefragt habe – es ist zu peinlich!

Ganz lieben Dank für die Mühe! Ich werde die Seite weiterempfehlen – nicht nur wegen der Sprüche!

Gruß Ulrike

Was sagt der Teig zum Bäcker? – Ich bin gerührt!

Guten Tag Herr Martin,

ich bin durch Zufall auf Ihren Blog aufmerksam geworden.

Leider hat Excel immer wieder merkwürdige Verhaltensweisen.

Warum auch immer.

Ich habe auf einem Rechner ein Problem mit der Funktion Daten „Abrufen und transformieren“

Ich kann auf dem PC keinerlei Daten über diese Funktion aufrufen.

Keine CSV noch eine Tabelle aus einem SQL Server.

Ich bekomme immer wieder die Fehlermeldung, dass die Initialisierung der Daten fehlgeschlagen sei.

Lade ich die CSV auf einem anderen Rechner ein, funktioniert dies Problemlos.

Gleiches gilt bei der SQL Abfrage.

Haben Sie noch eine Idee wo ich das Problem suchen kann?

In der PowerQuery kann ich die Daten sauber sehen.

Nur das Einfügen der Daten aus der Verbindung in das Tabellenblatt funktioniert nicht.

Vielen Dank für Ihre Zeit. Mit besten Grüßen,

####

Ich habe es mir gerade angesehen: Excelversion 2016.

Ich erstelle eine intelligente Tabelle, ziehe sie in PQ, klappt; ich bearbeite, ich tue, ich mache, M-Code ist vorhanden – klappt.

Ich lade sie als Verbindung. Klappt.

Aber sobald ich die Daten als Tabelle „sehen“ / „haben“ möchte – knallt es:

Kennt jemand diesen Fehler?

Initialisierung der Datenquelle schlug fehl.
Überprüfen Sie den Datenbankserver oder kontaktieren Sie Ihren Datenbankadministrator. Vergewissern Sie sich, dass die externe Datenbank verfügbar ist, und wiederholen Sie den Vorgang. Sofern diese Nachricht wieder erscheint, erstellen Sie eine neue Datenbankquelle um mit der Datenbank Verbindung aufzunehmen.

Wo liegt Maßen? Mein Arzt sagt, ich solle dort trinken.

Irgendwie doof. Ich habe eine Tabelle, in der sich mehrere Kommentare (Notizen) befinden.

Nun lautet die Anweisung, dass ich diese Kommentare in eine eigene Spalte schreiben soll. Stellt man im Dialog „Seite einrichten“ ein, dass Kommentare am Ende der Tabelle erscheinen, kann man das im Drucken-Dialog sehen:

Au, prima, denke ich – und speichere die Datei als PDF. Was passiert?

Die Kommentare sind NICHT im PDF!

Anders jedoch, wenn ich einen PDF-Drucker installiert habe – dann kann ich die Datei drucken und Kommentare erscheinen auf dem letzten Blatt.

Warum mache ich das? Nun – das PDF kann in Word geöffnet werden; die Kommentare entnommen und weiter verarbeitet werden.

Und was mache ich, wenn ich keinen PDF-Drucker habe?

Die Antwort: ich kann die Datei mit der Endung ZIP umbenennen, entzippen und die Datei comments1.xml aus dem Ordner xl öffnen. Dort finden sich auch die Kommentartexte, die ich leicht entnehmen kann:

Anders als ihre Artgenossen die Seidenspinner werden die Zahnseidenspinner in kleinen Plastikgefäßen gehalten, wo sie zirka 50 Meter Zahnseide produzieren und dann sterben.

Eine Weile habe ich gebraucht, bis ich es verstanden habe. Excel behauptet, dass auf diesem Tabellenblatt eine Verknüpfung zu einer anderen Datei liege.

„Da liegt nix“, denke ich: auf dem Blatt befindet sich nur ein Button, der ein Makro aufruft:

Nach einer Weile dämmert es mir. Ich kopiere regelmäßig den Bereich von anderen Dateien hier auf dieses Blatt. Und richtig: damit auch die Schaltflächen. Und mit ihnen die Verknüpfungen auf andere Dateien. *gggrrrr*

Mama, was macht der Storch, nachdem er die Kinder abgeliefert hat? – Liegt auf der Couch und schaut Bundesliga.

Hallo René,

ich komme heute mit einer Frage auf Dich zu.

In einem „unserer“ Excel-Stammtische hast Du uns ein Besispiel gezeigt, wie Du durch ein Klick auf ein Bild „Inhalte aktivieren“ bestätigen kannst (d.h. der Benutzer muss nicht oben auf den orangefarbende Balken klicken , um die Makros der Arbeitsmappe zu aktivieren…).

Leider musste ich feststellen, dass meine Kollegen gerne die Aufforderung „Inhalte aktivieren“ übersehen und so meine Arbeitsmappen mit Makros nicht aktiviert werden. Um das ersichtlich zu machen bzw. zu erzwingen, würde ich gerne Deine Lösung einbauen.

Kannst Du mir dazu bitte Dein Beispiel zukommen lassen?

Das wäre großartig!

Vielen Dank & Grüße

Sebastian

so!

Ich habe ein Bild auf das Blatt gelegt, das ich beim Öffnen per Makro unsichtbar mache.

Werden die Makros nicht aktiviert, bleibt das Bild sichtbar.

Die Erklärung: Manchmal beschweren sich Anwender, dass bestimmte Befehle deaktiviert sind. Es wäre praktisch ein Makro zu haben, das meldet, dass die Makros nicht aktiviert wurden. Dies geht natürlich nicht. Um sicherzustellen, dass die Makros aktiviert wurden, kann in ein Projekt ein Bild eingefügt werden.

Werden die Makros nun aktiviert, wird das Bild gelöscht.

Man kann Shapes einen Namen geben oder mit einer Schleife alle Shapes / Bilder durchlaufen und entweder löschen oder Unsichtbar machen (Visible = False)

Das Bild wird beim Schließen der Arbeitsmappe wieder eingeblendet:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

On Error Resume Next

ThisWorkbook.Worksheets(„BCM“).Shapes(„Hinweis“).Visible = _

   msoTrue

Hallo René,

super! Klasse! 

Ich danke Dir!

Ich war von Deiner Lösung damals so begeistert, dass die hängen geblieben ist.

Da ich allerdings nicht mit (externen) Kunden arbeite, hatte ich keinen Anwendungsfall – bis ich letzte Woche erfahren durfte, dass meine Kollegen gerne den Balken übersehen und so nicht meine Datei funktioniert.

Ich werde Deine Lösung am Montag einbauen- das Bild wird selbstverständlich geändert.

Tausend Dank nochmal und bis bald.

Liebe Grüße  Sebastian 

Gute Eltern nehmen ihre Kinder mit in den Zoo. Sehr gute Eltern nehmen sie danach wieder mit nach Hause

Letzte Woche hat Christian Gröblacher auf unserem Excelstammtisch ein Referat über Sharepoint-Listen, Power Apps, Power Automate, Power Query und Power Pivot gezeigt. Am Ende kamen Exceldaten raus. Sehr beeindruckend. Das soll an dieser Stelle nicht wiederholt werden. Sondern die letzte Folie seiner Präsentation, die mich zum Schmunzeln brachte:

Vor allem das gequetschte Excel lässt Interpretationen offen: haben wir es im Griff? Müssen wir das grüne Teilchen manchmal würgen? Kann man es richtig handeln? Schaut es wirklich so blöde aus der Wäsche? Oder ist es einfach unser aller Begleiter – manchmal zur Freude, manchmal zum Leid?

Danke Christian, dass ich die Folie hier zeigen darf. Und hier noch einmal Excel – gaaaaaaaaanz groß!

Wenn ein Fahrrad gestohlen wird, hat keiner etwas gesehen. Aber wehe, jemand stellt die gelben Säcke zwei Tage zu früh auf die Straße – dann ist hier Party!

Ich erstelle für einen Kunden in Excel mit VBA ein mächtiges Eingabeformular. Schnell sind wir uns einig darüber, der der Anwender und die Anwenderin nicht mit dem Befehl Suchen-Ersetzen Texte auf einem Tabellenblatt austauschen sollen. Also nehmen wir in diesem Formular dieses Symbol (genau: die ganze Gruppe) aus dem Menüband:

Dazu sind ein paar Zeilen in der XML-Datei nötig, in der das Menüband beschrieben wird:

Der Code:

<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
  <ribbon startFromScratch="false">
    <tabs>

      <tab idMso="TabHome">
        <group idMso="GroupEditingExcel" visible="false" >
        </group>
      </tab>

Und wie wird ersetzt? Natürlich über ein eigenes Werkzeug:

Ich überlege: dem Anwender und der Anwenderin bleiben immer noch die Möglichkeit mit den Tastenkombinationen [Strg] + [F], beziehungsweise [Strg] + [H] den Suche-Dialog zu öffnen. Also raus damit:

Private Sub Workbook_Open()
    On Error Resume Next
    Application.OnKey "^f", "BitteNicht"  ' suchen
    Application.OnKey "^h", "BitteNicht"  ' ersetzen
End Sub

Beim Öffnen der Datei werden diese beide Tastenkombinationen „verbogen“, indem das Makro „BitteNicht“ aufgerufen wird. Es erscheint ein Meldungsfenster. Diese Prozedur wird auch beim Aktivieren der Mappe gestartet:

Private Sub Workbook_Activate()

Schnell merke ich, dass das Makro nach Schließen der Datei (oder auch Wechseln in eine andere Datei) noch aktiv ist. Also: raus damit:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnKey "^f", ""  ' suchen
    Application.OnKey "^h", ""  ' ersetzen
End Sub

Ebenso beim Ereignis Workbook_Deactivate.

Und was passiert? Richtig – wenn ich jetzt [Strg] + [F] drücke, passiert: NICHTS. Warum? Genau – ich muss natürlich schreiben:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    Application.OnKey "^f"  ' suchen
    Application.OnKey "^h"  ' ersetzen
End Sub

DANN ist das Ereignis wiederhergestellt!

Das Leben ist zu kurz, um Deutsch zu lernen

Hallo Herr Martin,

Ich weiß nicht, ob Sie mir weiterhelfen können. Ich untersuche englische Dramentexte bezüglich der Wortlänge in der Anzahl der Zeichen.

Jetzt habe ich 100 Spalten. Jede Zeile enthält in jeder Spalte ein Wort eines fortlaufenden Textes. In den Spalten 101 – 110 möchte ich gern die Anzahl der Worte festhalten, die ein, zwei, drei, etc. 

Buchstaben lang sind. Spalte 111 soll für jede Zeile den Wert größer zehn enthalten.

Mit meinen Formelversuchen bin ich kläglich gescheitert, auch wenn Ihre Anmerkungen in der Formelsammlung tröstlich und erheiternd waren. 

Auch wenn Sie keinen Tipp haben sollten, herzlichen Dank für Ihre Mühe.

Hallo Herr I.,

die Lösung heißt SUMMENPRODUKT.

Sie kann als Matrixfunktion LÄNGE verarbeiten.

Werfen Sie mal einen Blick auf das Beispiel – Sie müssen natürlich Zeilen und Spalten vertauschen und einige Spalten einfügen … aber ich glaube das ist die Lösung, die Sie haben möchten. (ich zähle hier die Wörter mit zwei, drei, vier, …) Buchstaben aus Spalte A, B, C, …

Liebe Grüße

Rene Martin

Lieber Herr Martin,

Danke für die schnelle und perfekte Lösung. Der Hintergrund ist, dass sogenannte Marlowianer die Identität Marlowes mit Shakespeare behaupten und dazu die häufigste Wortlänge von 4 Buchstaben ins Feld führen, die bei beiden identisch ist. Tatsächlich ist das aber eine Eigenschaft des englischen Sprachsystems, nicht aber Autorenidentität.

Liebe Grüße

Hallo Herr I.,

ach – DIE Diskussion. Jo, kenn ich; und die hundert anderen Antworten auf Frage, wer Shakespeare wirklich war …

Sollte man wirklich solche positivistischen Ansätze, die im 19. Jahrhundert verwendet wurden, ins Feld ziehen? *hum* *hum*

Trotzdem: viel Spaß mit Willi, Chrisi & Excel

wünscht Rene Martin

Entweder ist gerade ein grünes Zebra in meinen Kleiderschrank gekrochen und singt gerade die Nationalhymne oder das waren keine Aspirin.

Access kann auch nerven! Ich erstelle gerade eine Datenbank für einen Kunden. Ich schreibe mehrere Hundert Daten per VBA in eine Tabelle. Sehe nach, ob die Daten alle „angekommen“ sind:

Up – nein!? – Die Warengruppen sind nicht da!? Der Filter zeigt nichts an!

Doch: aus irgendeinem Grund werden in dieser Spalte einfach keine Daten zum Filtern angeboten, obwohl sie weiter unten in der Tabelle zu finden sind:

Im ersten Moment dachte ich, meine VBA-Routine wäre falsch …

Männer sind alle gleich. Sie sehen nur unterschiedlich aus, damit man sie unterscheiden kann.

Hallo Herr Martin

Es kommt wieder mal eine Frage aus der Schweiz.

Für den damaligen Kunden hatte ich mit Ihren Angaben und Ihrem Buch eine eigene Registerkarte für die Vorlage erstellt. Das hat super funktioniert. Nun gibt es noch Ergänzungen einiger zusätzlicher Schaltflächen. Nur bockt diesmal etwas.

Mein Vorgehen:

  • Entpacken der xltm.
  • Ich ergänze die customui.xml
  • Zippen aller Daten, umbenennen zu xltm .

Ergebnis: Datei kann nicht mehr geöffnet werden. Ich habe gefühlt alles genau gleich gemacht wie beim ersten Mal. Haben Sie dazu eine Idee?

Besten Dank für einen Tipp dazu 🙂

Freundliche Grüsse – Kind regards

Hallo Herr S.,

es könnte möglicherweise am Zippen liegen.

Achten Sie darauf, dass Sie „auf der richtigen Ebene“ sind und ALLE Ordner und die XML-Datei markiert haben, also HIER:

(wahrscheinlich haben Sie mehr Ordner)

Versuchen Sie es noch einmal, bitte!

schöne Grüße aus München

Rene Martin

Ich hatte auch mal Körper und Seele im Einklang. Aber da lag ich noch im Bett.

Kennt ihr das? Ich bislang nicht. Ich erhalte eine Exceldatei, die auf dem Macintosh erstellt wurde. Ich versuche die Datei als PDF zu speichern im Format PDF/A:

Excel weigert sich mit der Bemerkung:

Das Dokument wurde nicht gespeichert. Das Dokument ist möglicherweise geöffnet, oder beim Speichern ist ein Fehler aufgetreten.

Ich kreise den Fehler ein und finde ihn schließlich in einer Zelle. Darin befinden sich Zeilenumbrüche ([ALT] + [Enter]). Die mag mein PDF/A für PC nicht …

Die Ehe ist ein lustiges Wort für die Übernahme eines erwachsenen männlichen Kindes, dessen Eltern nicht mehr in der Lage waren, die Situation zu bewältigen.

Hallo Herr Martin,

ich wieß nicht mehr genau, ob ich Sie einmal auf folgende Thematik angesprochen hatte.

Es ging um die Umformatierung von Postleitzahlen aus einer Spalte in Aneinanderreihung

in einer Zelle mit Komma/-Lehrzeichen-Trennung (siehe Anhang „screenshot“):

Diese Schreibweise (nebeneinander) ist die auf unserem content-management-system.

Wenn ich nun größere Zahlenmengen erhalte, wird es händisch sehr aufwendig.

Könnten Sie mir bei diesem Prozedere wieder behilflich sein?

Vielen Dank schon vorab.

Mit besten Grüße

Hallo Herr S.,

welche Excel-Version haben Sie denn? Haben Sie die Funktion TEXTVERKETTEN? DAMIT klappt es ganz einfach:

=TEXTVERKETTEN(„, „;WAHR;E3:E14)

E3:E14 ist natürlich der Bereich der Postleitzahlen. Dann kopiere ich den Bereich an eine andere Stelle und füge ihn als Werte ein – schon habe ich die Liste.

Klappt das?

Liebe Grüße

René Martin

Hallo Herr Martin,

vielen dank für die schnelle Reaktion. Ich habe die 2010’er Version Version 14.7263.5000 (32 Bit)

Direkt das Wort TEXTVERKETTEN ist in den Formeln nicht enthalten.

Gibt es unter dieser alten Version vielleicht trotzdem eine Lösung? 

Beste Grüße nach München C. S.

Hallo Herr S.,

oder so:

wiederholen Sie in der ersten Zelle den Wert, bspw.: =E16

schreiben Sie darunter: =F16&“, „&E17

ziehen Sie die untere Formel runter!

das Ergebnis der letzten Zelle können Sie kopieren und an andere Stelle als Wert einfügen

Liebe Grüße

Rene Martin

Einfach genial,

Sie machen einem Freude! ! !

Einfach soo logisch, dass ich mir immer wieder die Frage stelle,

warum komme ich nicht einmal selbst auf solch logische Lösungen.

Ich hoffe, dass ich ihre Geduld und Zeit nicht zu sehr in Anspruch nehme. 

Ganz herzlichen Dank. Bleiben Sie gesund und zuversichtlich

C. S.

Bereits dieser Artikel enthält den Tagesbedarf an A, B, C, D, E und K und vielen weiteren, wichtigen Buchstaben.

Gestern habe ich (mal wieder) eine Knobelaufgabe in Excel gepostet. Die Aufgabe lautet:

„Lust auf Knobeln? Mit Excel? Mit Excel-Diagrammen?
In einer Liste stehen Werte. Auf diesen Werten wird ein Diagramm – ein Kreisdiagramm oder Liniendiagramm aufgesetzt. Dumm nur, dass einer oder einige Werte 0 sind. Dumm, dass die Datenbeschriftung angezeigt wird, aber kein Wert: im Kreisdiagramm kein Tortenstück; im Liniendiagramm eine Lücke. Aber natürlich automatisiert – also: wenn sich die Werte ändern, sollen die entsprechenden Werte verwendet werden. „

Die Antwort lautet natürlich, dass man aus 0 ein #NV machen muss – beispielsweise mit einer WENN-Funktion. Es genügt #NV bei den Werten zu verwenden. Das ist die Grundeinstellung der Diagramme:

Ich erhalte die Frage:

„bei meiner Excel-Version sieht das noch anders aus:“

Nachgeschaut. Auf der Seite

https://support.microsoft.com/de-de/office/anzeigen-von-leeren-zellen-nullwerten-n-v-und-ausgeblendeten-arbeitsblattdaten-in-einem-diagramm-a1ee6f0c-192f-4248-abeb-9ca49cb92274

steht:

Hinweise: 
Dieses Feature ist nur verfügbar, wenn Sie über ein Microsoft 365-Abonnement verfügen und derzeit nur für Insider verfügbar ist. Wenn Sie Microsoft 365-Abonnent sind, vergewissern Sie sich, dass Sie über die neueste Office-Version verfügen.

Ah – man (ich) muss auch das Kleingedruckte lesen!

Ich bin froh, dass ich mein Essen nicht selbst jagen muss. Ich wüsste gar nicht, wo Pommes leben!

Christian ist irritiert. Zwar übertragen und übernehmen die Arrayfunktionen (SORTIEREN, FILTERN, SEQUENZ, …) nicht die Formatierungen:

Aber wenn man mit dem Gleichheitszeichen auf einen Bereich zugreift, wird in der ersten Zelle das Zahlenformat übernommen, in den übrigen nicht:

Erklärbar – dennoch: irritierend.

Wisst ihr, was einen guten Laptop ausmacht? Eine halbe Tasse Kaffee!

Hallo Rene,

da du ja nervige Dinge sammelst, hast du vielleicht auch eine Antwort auf mein Phänomen, was mich einige Nerven gekostet hat,

bevor ich auf eine Lösung gestoßen bin. Anbei ein Screenshot meines Diagramms ( habe mich nicht getraut eine Datei zu versenden) was ich eigentlich mal ganz schnell erstellen wollte,

bis zu dem Zeitpunkt, wo ich den aus einem Fehlerindikator dargestellten dynam. Pfeil ein wenig zurechtrücken (rechts- links verschieben) wollte.

So geht es nicht!

Es hat lange gedauert den Wert im Array dann mit einem Dezimalpunkt einzugeben,….weil die bearbeitete Datenreihe immer ein Komma anzeigt. Ich denke, dass es nicht nur mir so ergeht,

oder irre ich mich ?,  wie Sam Hawkens es einmal bei Winnetou so schön sagte.

So klappt es!

Mit lieben Grüßen in den Süden.

Hallo Jürgen,

Hübsch – DAS kannte ich noch nicht. Du hast recht: HIER wird Komma als Trennzeichen und Punkt als Dezimaltrennzeichen interpretiert. Wahrscheinlich hat an dieser Stelle ein Programmierer geschlafen …

Liebe Grüße und: danke!

Rene

Schade, das es so teuer ist, Leute auf den Mond zu schießen. Ich hätte da ein paar.

Hallo René,

ich habe ein für mich unerklärliches Excel Phänomen in der Version 365.

In der Zelle C1 habe ich berechnet: 6*7=42 (s. Anlage).

Dieses Ergebnis habe ich zum Datum 18.07.2017 addiert und erhalte das Datum 24.01.6837.

Addiere ich 42 als Zahlenwert zum Datum 18.07.2017, erhalte ich das richtige Ergebnis 29.08.2017.

Hast Du eine Erklärung?

Liebe Grüße
  Traudl

Hi Traudl,

du MULTIPLIZIERST das Datum (18.07.2017 = 42.934) mit 42

42.934 x 42 = 1.803.228 = 24.1.6837

Stimmt schon!

Rene

Oh je René, danke. 

Dass ich multipliziert habe, ist mir gar nicht aufgefallen. Zudem habe ich die Berechnung mehrfach wiederholt.

Wahrscheinlich Corona Blackout.

Sorry, dass ich Dich mit so einer Lapalie belästigt habe.

Liebe Grüsse 

Traudl 

Es ist total spannend älter zu werden. Man lernt jeden Tag neue Knochen kennen.

Hi René,

ich stehe mal wieder auf dem Schlauch:

Kannst Du mir sagen, wie ich, wenn in einem Tabellenblatt einen Wert aus einem anderen Reiter angegeben ist, in der daneben liegenden Spalte automatisch den Wert aus einer anderen Spalte der Tabelle in dem anderen Reiter ausgebe?

In A2 habe ich per Dropdown mit INDIREKT „<10%“ aus tab_AntwortKategorie[Kategorie].

In B2 möchte ich automatisch den dazugehörigen Wert aus tab_AntwortKategorie[Wert].

Was muss ich in B2 eingeben?

Ohne INDIREKT wüsste ich es, aber wie gesagt – ich stehe einfach auf dem Schlauch.

Momentan „fuhrwerke ich wild (und falsch) rum“, z.B.
=WVERWEIS($AE4;tab_AntwortKategorie[Kategorie];[Wert])

Bye

Michael

Hallo Michael,

wenn du den Wert DANEBEN haben möchtest, musst du den SVERWEIS verwenden, nicht den WVERWEIS. „S“ steht für „senkrecht“, heißt: die Liste ist von oben nach unten aufgebaut.

Schau mal in mein Beispiel:

Hilft das?

Liebe Grüße

Rene

Hi René

aaaaah (über eigene Dummheit)!

Ja, danke.

Bye

Michael

Alexa, wie verhindere ich, dass meine Daten ins Internet kommen?

Hallo, ich habe auch so ein Problem in meinem Kalender zur Arbeitszeitberechnung mit den Rauten. Excel gibt mir aber den Hinweis, das entweder die Zelle zu klein ist, oder ein Negativ Wert darin enthalten ist. Bei mir scheint es wohl der Negativ Wert zu sein da eine Formel in der Zelle enthalten ist bei der ich zb. 8 von 9 in meinem Fall Stunden abziehen möchte. Da ich die Zeiten über Dropdown Listen eingebe, habe Rauten in den Zellen solange ich noch keine Werte eingegeben habe. Das sieht natürlich nicht so gut aus. Nun meine Frage. Kann man diese Rauten auch einfach nur ausblenden ohne das die darin enthaltenen Formeln auch ausgeblendet sind? Ich hoffe das ich mein Problem verständlich erklären konnte.

Gruß Uli.

Hallo Uli?

Ich würde um die Formel (wie sieht sie aus?) beispielsweise
=C2-B2
eine WENN-Funktion bauen:

=WENN(C2-B2<0;““;C2-B2)

Hilft das?

Liebe Grüße

René Martin

Hallo Herr Dr.Martin,

Danke Ihnen nochmal für ihre Hilfe, es hat geklappt mit der Formel.

War für Sie bestimmt eine Logische und einfache Sache, aber für mich als Blutiger Anfänger ein Riesen Problem. Würde mich freuen wenn ich mal wieder so ein Problem hätte, mich an Sie wenden dürfte.

Mit freundlichen Grüßen U.

Klar, Uli,

einfach schreiben! Ich helfe gerne

Liebe Grüße aus dem verregneten München

Rene Martin

PS: ich mag den Begriff „logisch“ nicht. Es läuft eine gewisse erlernbare Mechanik ab. Jeder von uns hat ein bestimmtes Wissen und erkennt Lösungen „intuitiv“ und kann sie sicherlich auch beschreiben, warum dieser oder jeder Weg der richtige (oder der geeignete) ist. Also: Kopf hoch, dranbleiben, schmunzeln – ich halte Excel für wichtig – nicht, weil ich häufig damit arbeite, sondern weil sehr, sehr viele Menschen häufig damit arbeiten.

Seit ich gesehen habe, wieviel schlanker ein Bär nach seinem Winterschlaf ist, kommt mir das Konzept noch viel attraktiver vor.

Hallo Rene,

Ich hätte da nochmal eine Frage zu den Matrixfunktionen. Wenn ich die Rückgabematrizen in einen Bereichsnamen packe, funktioniert der auf dem Tabellenblatt wunderbar. Wenn ich allerdings diese Matrix über den Bereichsnamen in einer Datenüberprüfung als Liste ausgeben möchte, kann ich ihn zwar über F3 ansprechen, erhalte dann aber eine Fehlermeldung.

Gruß

Hannes

Hallo Hannes,

du musst den Namen im INDIREKT in einen Bezug umwandeln. Meinst du das?

Liebe Grüße :: Rene

Hallo Rene,

ja genau, da sind einige Haken drin.

Die Liste in der Datenüberprüfung übernimmt offensichtlich nur Werte aus Bereichen die auf einem Tabellenblatt liegen und keine Rückgabewerte aus Funktionen.

Aber wenn ich innerhalb einer „formatierten“ Tabelle einen benannten Bereich anlege passt sich dieser Bereich auf die Tabellengröße an und die Werte können auch in der Datenüberprüfung dynamisch verwendet werden.

Wenn ich über die Sequenz-Funktion Werte ermittle und die in einen Bereichsnamen packe, werden die Werte innerhalb eines Tabellenblattes zurückgegeben, innerhalb der Datenüberprüfung jedoch nicht als Liste übernommen.

Die Problematik ist wahrscheinlich, dass die Datenüberprüfung ausschließlich Werte aus dem Tabellenblatt ausliest, daher auch die Bezugsherstellung mit der Indirekt-Funktion.

Keine Ahnung, ob man das irgendwie austricksen kann.

Gruß

Hannes

PS: hier mein „Versuchsaufbau“ zu dem ich ein bisschen was erzählen könnte. Kannst ja vorab schon mal einen Blick drauf werfen, ob das interessant sein könnte

Ich habe gerade „ach-da-brauchst-du-nichts-draufschreiben-man-sieht-ja-was-drin-ist“ aus der Gefriertruhe geholt und bin gespannt, was ich heute koche.

Hi Rene,

sag mal: kann man in intelligenten Tabellen keine Matrixfunktionen verwenden? Hintergrund: ich möchte gerne mit der Funktion SORTIEREN oder SORTIERNNACH eine Liste sortieren und diese sortierte Liste als Basis für eine Tabelle verwenden. Also so:

Und dann passiert:

Hallo Johannes,

eine kleine Überlegung: (Intelligente) Tabellen „denken“ nur zeilenweise oder in Bezug auf eine ganze Spalte. Also:
=[@Umsatz]*19%
oder:
=SUMME(Tabelle1[Umsatz])
analog:
=TEILERGEBNIS(109;[Umsatz])

DAS kollidiert mit einer Arrayfunktion (EINDEUTIG, SORTIEREN, SORTIENNACH, FILTER), die dynamisch einen Bereich definiert oder ZUFALLSMATRIX und SEQUENZ, in die die Größe eines Bereichs eingetragen wird.

Moin Rene,

Danke Dir für die ergänzenden Infos 🙂   Ich habe es jetzt so gelöst … So hat sich auch der Vorteil ergeben, dass es etwas übersichtlicher ist 🙂

My wife asked me why I was talking so softly in the house, I told her I was afraid that Mark Zuckerberg would hear me! She laughed, I laughed, Alexa laughed, Siri laughed and Cortana laughed (James Franco)

Merkwürdig. Ich importiere per VBA Daten aus anderen Tabellen in eine Arbeitsmappe. Die Daten der Importtabelle sind als intelligente Tabelle gespeichert, in der aktuellen Tabelle liegt auch eine intelligente Tabelle. Damit sich diese beiden Tabellen nicht überlagern, ist es wohl das Beste die Tabelle zu löschen. Aber wie heißt der Befehl „In Bereich konvertieren“?

Nun – der Makrorekorder hilft:

Sub ZurueckZuDummerTabelle()
'
' ZurueckZuDummerTabelle Makro
'

'
    
End Sub

Nein – der Makrorekorder hilft nicht! Er zeichnet nur den Befehl auf: lösche das Tabellenformat. Aber nicht: lösche die Tabelle. Also muss ich doch auf die Suche gehen. Ich werde schnell fündig: die Methode heißt Unlist. Damit klappt es:

                For j = 1 To xlBlatt.ListObjects.Count
                    xlBlatt.ListObjects(j).TableStyle = ""
                    ' -- lösche die Formtierung
                    xlBlatt.ListObjects(j).Unlist
                    ' -- in Bereich (zurück) konvertieren
                Next j

Warum nicht gleich?

Ich hab mal nachgedacht. Das Sportlichste bei mir zu Hause ist der Läufer im Flur.

Tabellenblätter in Excel in Excel haben nicht nur einen (sichtbaren) Namen, der vom Anwender oder von der Anwenderin geändert werden kann. Im VBA-Editor gibt es auch noch einen Name (Codename), der nur dort und nur per Hand geändert werden kann. Ich kann nun per Programmierung leicht überprüfen, ob alle Tabellen, die ich benötige, noch vorhanden sind. Ich habe eine Funktion GibtEsTabellenblatt geschrieben, die überprüft, ob die aktuelle Datei ein Tabellenblatt mit einem solchen Codenamen hat. Ich möchte die Arbeitsmappe nicht schützen, weil der Anwender oder die Anwenderin neue Blätter hinzufügen, löschen, umbenennen darf. Allerdings: meine Blätter dürfen nicht gelöscht werden. Ich sehe nach:

Jedes der Tabellenblätter hat ein Ereignis BeforeDelete:

Dieses Ereignis hat allerdings kein Abbruchkriterium (Cancel), mit dem man das Löschen verhindern könnte.

Der zweite Blick fällt auf das Objekt Workbook. Gibt es dort ein Abbruchparameter?

Das Ereignis dort heißt SheetBeforeDelete und hat auch keinen solchen Parameter:

Allerdings einen Parameter Sh mit dem ich gezielt überprüfen kann, welches Blatt nicht gelöscht werden darf (und die Liste schnell erweitern kann:

Select Case Sh.CodeName
    Case "tbl_Unternehmen", "tbl_Standorte", "tbl_Zuordnung1", "tbl_Organisationseinheit", "tbl_Zuordnung2", "tbl_Geschaeftsprozesse", "tbl_Zuordnung3", "tbl_Uebungstyp", "tbl_Szenario", "tbl_Verantwortlich", "tbl_Uebungsplanung", "tbl_Zuordnung4"
        MsgBox "Bitte löschen Sie nicht das Tabellenblatt """ & Sh.Name & """!", vbCritical

End Select

Problem: Die Meldung wird angezeigt und DANN das Blatt gelöscht. Doof!

Nächster Versuch: Und wenn ich DANACH die Arbeitsmappe schütze?

Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
    On Error Resume Next
    Select Case Sh.CodeName
        Case "tbl_Unternehmen", "tbl_Standorte", "tbl_Zuordnung1", "tbl_Organisationseinheit", "tbl_Zuordnung2", "tbl_Geschaeftsprozesse", "tbl_Zuordnung3", "tbl_Uebungstyp", "tbl_Szenario", "tbl_Verantwortlich", "tbl_Uebungsplanung", "tbl_Zuordnung4"
            MsgBox "Bitte löschen Sie nicht das Tabellenblatt """ & Sh.Name & """!", vbCritical
            ThisWorkbook.Protect
    End Select
End Sub

Klappt! Hier die drei Meldungen, die erscheinen:

Allerdings: DANN ist die Arbeitsmappe geschützt. Was ich ja eigentlich nicht wollte. Also flux den Arbeitsmappenschutz wider aufheben. Wo? Am besten beim Wechseln auf ein anderes Arbeitsblatt:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    On Error Resume Next
    ThisWorkbook.Unprotect
End Sub

Wir haben gestern einen Porno geschaut. Da hat der Mann die Frau mit Honig beträufelt und abgeleckt. Wir wollten das heute nachmachen, hatten aber keinen Honig. Um es kurz zu machen … Mit grober Leberwurst ist es nicht das Gleiche. Und wenn dann noch der Hund im Schlafzimmer liegt …

Im VBA-Editor kann man den (internen) Namen eines Tabellenblattes ändern. So kann man auf dieses Blatt über diesen (Code-)Namen zugreifen, egal an welche Position es der Anwender oder die Anwenderin schiebt; egal ob es in Excel umbenannt wird. Allerdings kann es der Anwender oder die Anwenderin löschen. Kein Problem – ich baue einen Button ein, der ein neues Blatt erzeugt:

Dim xlBlattNeu As Worksheet
Set xlBlattNeu = ThisWorkbook.Worksheets.Add
xlBlattNeu.CodeName = "tblITAnwendungen"

*gggrrrrr* CodeName ist schreibgeschützt.

Zuweisung an schreibgeschützte Eigenschaft nicht möglich.

Kann also nicht in VBA umbenannt werden. Ich kann nur überprüfen, ob das Blatt vorhanden ist. Aber nicht (den Namen) erzeugen. Schade! Ärgerlich! Aber verständlich.

Ich hasse Kettenbriefe. Wenn du sie auch so wie ich hasst, leite diese Nachricht an zehn Freunde weiter.

Wenn man per VBA auf ein Blatt zugreifen möchte, gibt es zwei Varianten. Entweder über den Namen:

Also beispielsweise

ThisWorkbook.Worksheets("Unternehmen")

oder

ActiveWorkbook.Worksheets("Standorte")

Problem: Wird die Arbeitsmappe nicht geschützt, kann der Anwender oder die Anwenderin den Namen ändern!

Die zweite Möglichkeit lautet:

ThisWorkbook.Worksheets(1)
ActiveWorkbook.Worksheets(2)

Problem: der Anwender oder die Anwenderin kann das Blatt verschieben, wenn die Arbeitsmappe nicht geschützt ist. Außerdem ist die Zählung bei ausgeblendeten Blättern schwierig.

Es gibt noch eine dritte Variante. Im VBA-Editor kann man in den Eigenschaften einen Namen festlegen:

Über diesen Namen kann man auf das Blatt zugreifen, beispielsweise:

tbl_Uebungsplanung.Range("F1").Value = _
   tbl_UnternehmenCode.Range("A1").Value ' -- Unternehmen

Erstaunlicherweise versagt:

MsgBox ThisWorkbook.tbl_UnternehmenCode.Range("A1").Value

Auch der Zugriff auf ein Blatt über seinen Codename in einer anderen Datei geht nicht!

    Dim xlDatei As Workbook
    Set xlDatei = Application.Workbooks.Open("D:\Übungspanung.xlsx")
    MsgBox xlDatei.tbl_UnternehmenCode.Range("A1").Value

Schade! Man muss mit einer Schleife über alle Blätter iterieren und abfragen, ob der Codename = „tbl_UnternehmenCode“. Und darauf einen Verweis setzen.

Schnell wieder die Beine rasieren, bevor man zu den alten Nordmann-Tannen am Straßenrand gestellt wird.

Ich erstelle gerade ein größeres VBA-Projekt für einen Kunden. Und bin mal wieder verblüfft! Die größte Verblüffung hatte ich letzte Woche. Man erstelle in Excel eine XLSM-Datei mit Makros. Ein Makro wird über eine Schaltfläche (oder ein Bild, ein SmartArt, eine Form, ein Diagramm) aufgerufen:

Ich kopiere das Tabellenblatt in eine andere Datei

und speichere die Datei OHNE Makros als XLSX! Ich schließe alles, öffne die XLSX-Datei und werde gefragt, ob ich die Makros aktivieren möchte:

Okay. Ich aktiviere die Datei. Ein Klick auf die Schaltfläche und werde darauf hingewiesen:
Microsoft Office hat ein potenzielles Sicherheitsrisiko erkannt.

Was passiert? Die andere Datei wird im Hintergrund geöffnet, das Makro wird ausgeführt! Denn: hinter der Schaltfläche steht noch immer der Dateiname und Makroname.

Fazit: Mein Glaubenssatz: XLSX-Dateien sind sicher, denn sie können keine Makros enthalten, ist erschüttert! Zwar enthalten XLSX-Datei weiterhin keine Makros, können aber Makros aus anderen Dateien aufrufen!

Siri – warum bin ich Single? – *Siri öffnet die Frontkamera*

Ich suche gerade nach einer Lösung: Bei mir ist plötzlich der Zoom in der Seitenansicht eingeschränkt. Früher sah ich eine ganze Seite bei Druckvorschau. Jetzt ist der Zoomfaktor größer und ich muss zum unteren Seitenrand skrollen.

Hat jemand eine Idee, wie man das wieder ändert? Hatte das gleiche Problem vor Jahren schon mal, aber Google findet leider diese Seite nicht mehr….

Hallo Peter,

ich schreibe mal direkt.

Meinst du so etwas?

Wenn die Skalierung Anpassen auf 1 x 1 Seite eingestellt ist, macht Excel so etwas. Zurück auf Ansicht / Normal – beim zweiten Mal ist der Spuk verschwunden.

Liebe Grüße

René

Hallo Martin,

wow, mit soo einer schnellen Reaktion habe ich nicht gerechnet. Vielen Dank!

Ich habe das „Problem“ anhand von zwei Screenshots verdeutlicht: auf dem Rechner meiner Frau wird eine Seite A4 in der Druckansicht komplett dargestellt, bei mir auf dem Rechner (seit kurzem) nicht mehr, d.h. ich muss um das Seitenende zu sehen scrollen.

Der „Schalter“ in der rechten unteren Ecke zoomt bei mir nicht mehr auf Seitengröße – wie gesagt, ich hatte das Problem vor Jahren schon mal, aber finde die Lösung nicht mehr…

Liebe Grüße

Peter

Neuer Trend bei Deutschlehrern: Kommasaufen.

Sehr geehrter Herr Martin,

ich habe eben begonnen, Ihre Übungen zu den statistischen Funktionen durchzuführen.

Bei dem Thema Häufigkeit sehe ich eine Differenz zwischen dem, was Sie zeigen und dem, was ich gemacht habe, obwohl die Zahlen, die Sie benutzen, die Zahlen sind, die ich auch genommen habe (ich habe diese Zahlen von Ihrem Beispiel abgetippt).

Ich verstehe nicht den Unterschied, obwohl ich wie Sie die Funktion Häufigkeit verwendet habe.

Das betrifft auch das Ausrechnen der Häufigkeit als Matrix. Auch hier unterscheiden sich die Zahlen.

Zur Überprüfung schicke ich Ihnen meine Datei mit.

Hallo Herr F.,

HÄUFIGKEIT liegt in zwei Varianten vor: als Matrixfunktion und als „normale“. Wenn Sie im „neuen“ Excel HÄUFIGKEIT verwenden, wird es als Arrayfunktion interpretiert: wie viele Daten sind bis zu Wert x, wie viele darüber:

Bei den „älteren“ Excel-Versionen ist dies nicht nötig. So kann ich die Funktion runterziehen. Dazu muss der Datenbereich fixiert werden. Die Daten werden also kumuliert:

Da HÄUFGKEIT matrixfähig ist, muss ich (in denen neueren Excel-Versionen) nicht mehr mit Umschalt + Strg + Enter beenden. Dann werden die einzelnen Bereichen berechnet:

Laut ADAC sind 11 Winterreifen gut. Nach meiner Erfahrung sage ich: 4 genügen!

Guten Morgen,

also, es geht um die Funktion „Text in Spalten“. War eigentlich eine Frage eines Kollegen, die ich selbst nicht beantworten konnte.

Ich habe eine CSV-Datei, in der die Werte auch wirklich durch Kommas getrennt sind:

Jetzt ist es so, dass auch innerhalb der Texte, die zu Zellinhalten werden sollen, Kommas drin sind, wie z.B. in Zeilen 1 und 2. Wenn ich jetzt „Text in Spalten“ mit der Option „Getrennt“ auswähle, dann packt Excel natürlich den Teil rechts vom Komma in eine neue Zelle:

Gibt’s ne Möglichkeit, das mit „Text in Spalten“ sauber zu trennen? Mit PowerQuery krieg ich es hin, also saubere Trennung + korrektes Anzeigen von Umlauten, ich frag mich nur, ob das „Text in Spalten“ nicht auch irgendwie kann.

Danke dir und viele Grüße, Dominic

####

Hallo Dominic,

ich denke die Frage hast du schon selbst beantwortet:

* PowerQuery

* VBA

* Formeln (uff!)

Wenn der Anwender Zeichen in seinen Texten verwendet, die als Trennzeichen vorgesehen sind; kann der Assistent Daten / Text in Spalten das nicht abfangen. Wie wir wissen: die Grenzen von „Text in Spalten“ wurden ja in PowerQuery erweitert – da geht mehr …

Liebe Grüße

Rene

PS: Man könnte die Blitzvorschau versuchen; ist aber mühsam und wahrscheinlich funktioniert auch das nicht.

Warum sind Blondinenwitze immer so kurz? – Damit auch Männer sie verstehen!

Lieber Herr Martin,

Excel nervt nicht, ich weiß nur noch nicht ob es kann was ich gerne hätte.

Ich müsste Zellen in Spalten verknüpfen, wenn diese einer Bedingung in einer anderen Zelle

Entsprechen. So wie SummeWENN ich diese Zellen zusammenaddieren kann ist die Frage ob

Ich den Inhalt der Zellen auch verkettet ausgeben kann.

Vielen Dank

Bevor ich eine Antwort gebe, Frau L.,

zwei Gegenfragen: sind die Daten sortiert (nach den Kategorien, nach denen sie gruppiert werden sollen) und: haben Sie die Funktionen FILTER und EINDEUTIG? Haben Sie XVERWEIS? (damit geht es „recht einfach“)

Liebe Grüße

Rene Martin

So ist es mir recht,

leider kein XVERWEIS und kein WENNS… hoffe auf ein besseres 2021…

Eindeutig? Index? Geht nicht mit Liste sondern nur Matrix oder Bezug, damit kenn ich mich nicht aus…

Gruppiert nach der Nummer insofern dass sie untereinander geschrieben wurden (händisch…) allerdings Filter vorhanden

Die erste Spalte soll als Referenz herangezogen werden die letzte Spalte beinhaltet die Informationen die ich gerne zusammen verkettet hätte, also

Für 20-44 sollte dort MFM, MFM; CPS, PIB stehen, fantastisch wäre, wenn jeder Wert nur 1x vorkommen würde, aber soweit wage ich nicht zu träumen…

Beim Trennzeichen wäre ich emotional flexibel

Die erste Spalte wird in einem Übersichtssheet sozusagen als Einzeiler ausgegeben.

Vielen Dank

Hallo Frau L.,

ich hoffe, Sie haben die Funktion TEXTVERKETTEN. DAMIT klappt es.

Entweder Sie setzen eine Pivottabelle auf die Liste auf, gruppieren die Daten und verketten dann die Infos der letzten Spalte. Dann haben Sie allerdings Duplikate.

Oder Sie erstellen zwei Pivottabellen: eine für die gruppierten Infos der ersten Spalte und eine mit den Werten der ersten und letzten Spalte. Und verketten so die Texte.

Die erste Formel lautet:

=TEXTVERKETTEN(„;“;FALSCH;BEREICH.VERSCHIEBEN($I$1;
VERGLEICH(L2;$A$2:$A$27;0);0;
VERGLEICH(L2;$A$2:$A$27;1)-
VERGLEICH(L2;$A$2:$A$27;0)+1))

Die zweite:

=TEXTVERKETTEN(„;“;FALSCH;BEREICH.VERSCHIEBEN($M$31;
VERGLEICH(O32;$L$32:$L$51;0);0;
VERGLEICH(O32;$L$32:$L$51;1)-
VERGLEICH(O32;$L$32:$L$51;0)+1))

Klappt das? Ist es das, was Sie möchten?

Immer wenn sich irgendwo ein Mensch an einem Papier in den Finger schneidet, kichert irgendwo ein Baum.

Ich erhalte eine Frage:

„Das Problem ist, daß sich Excel/Windows leider nicht wie beschrieben verhält:

In dem Feld müßte eigentlich 02.12.2020 stehen, es wird jedoch 02.12.1920 angezeigt, obwohl die Einstellung in der Systemsteuerung korrekt ist.

Das Problem tritt auch nur über die Formel auf. Wird das Datum manuell mit zweistelliger Jahreszahl angegeben, dann wird die Ergänzung der ersten zwei Ziffern korrekt vorgenommen …

Ich benötige die Formel zur Umsetzung eines Datumsfeldes aus einem Datenabruf im Format „JJMMTT“. Ich habe mir jetzt mit einer „wenn“-Funktion einen „Workaround“ gebastelt, aber es kann doch nicht sein, daß die Excel-Formel sich nicht an die Windows-Regeln hält …“

Und meine Antwort darauf:

„genau hinschauen! Excel verlangt bei der Funktion DATUM eine Jahreszahl zwischen 1900 und 9999:

So wie beispielsweise der Sinus die Angaben nicht in Grad, sondern im Bogenmaß haben will.

Monat verlangt beispielsweise einen Monat zwischen 1 und 12. Wenn ich die Monatszahl 24 eintrage, rechnet Excel Monat 12 + 12 weitere Monate. Ebenso beim Jahr.

Der Beginn liegt bei 1900. Wenn ich nun 20 eingebe, wird das Datum -1880 Jahre berechnet. Das kann Excel nicht. Eigentlich müsste ein Fehler die Folge sein: #ZAHL – ebenso wie bei

=DATUM(-2021;1;18)

Wahrscheinlich sind die ersten 1.900 Zahlen abgefangen und ins Jahr 1900 transformiert worden.

Eigentlich schon korrekt – gib Excel, was des Excels ist: wir leben im Jahre 2021 und nicht im Jahr 21!

Und: richtig: bei der Eingabe von Zahlen wird der eingegebene Wert immer interpretiert:

12-1-21 wird in Deutschland zum 12. Januar 2021; in den USA zum 01. Dezember 2021. Deshalb drücken wir auch [Enter] und überlassen dem Compiler, was er aus der Eingabe macht.

Liebe Grüße

Rene

Warum gibt es bei Tastaturen nicht auch so Krümelschalen wie bei Toastern?

Wenn ich in VBA für Excel programmiere, muss ich häufig ermitteln, ob ein Wert in einer Liste vorhanden ist. Die Funktion

Application.WorksheetFunction.CountIf([Spalte],[Wert])

also: ZÄHLENWENN, leistet, was ich möchte: ein Befehl (ohne Schleife) und ich habe die Information (Wert in der Spalte oder nicht vorhanden). Ebenso verwende ich häufig SUMMEWENN:

Application.WorksheetFunction.SumIf

oder – um die Zeilennummer zu ermitteln VERGLEICH:

Application.WorksheetFunction.Match([Wert],[Spalte],0)

So spare ich mir das Schreiben von Schleifen. Nun wollte ich die kumulierten Geldbeträge zu bestimmten Monaten wissen. In Excel lautet die Funktion

=SUMMENPRODUKT((MONAT(A:A)=1)*(B:B))

also: summiere die Werte der Spalte B, wenn eine Datumsangabe in der Spalte A ein Datum des ersten Monats (Januar) im Jahr enthält. Klappt wunderbar. Und in VBA? Dort versagt eine Zeile wie:

Application.WorksheetFunction.SumProduct(Month(ActiveSheet.Columns(1) = 1) * ActiveSheet.Columns(1))

Die Ursache ist schnell gefunden: Colums(1) = 1 kann nicht verarbeitet werden; auch nicht Month(Columns(1)); der Gleichheitsoperator in VBA ist nicht matrixfähig; „=“ kann nur identische Dinge vergleichen.

Schade – also doch eine Schleife …

Oma: Homofiss – iss datt wedder son Schwulengrupp? – Enkel: Oma: datt heet Homeoffice. Net Homo-fiss!

Angelika ruft erneut an: „Hallo Rene: SVERWEIS kann DOCH zwischen Groß- und Kleinschreibung unterscheiden. Schau mal, ich hab’s gefunden!“

Prinzipiell glaube ich andere Menschen NICHT. Ich schaue die Datei an, die sie mir geschickt hat:

„Schau“, sagt sie, „der Text arnstein steht einmal groß- und einmal kleingeschrieben in der Liste. Wenn ich die Liste nun sortiere, und den Parameter WAHR beim SVERWEIS verwende, findet Excel den unteren, großgeschriebenen Eintrag.“

Ich prüfe das und trage den Text in Kleinbuchstaben ein: „arnstein“.

Auch hier wird der untere gefunden. Ich stutze: „Angelika: deine Liste ist nicht sortiert. Probier mal aus: =CODE(„A“) ergibt 65, =CODE(„a“) liefert 97. Arnstein ist kleiner als arnstein. Du musst anders herum sortieren.

Wir probieren es aus:

und auch:

Beide Male wird der untere Text gefunden. Die folgende Vermutung liegt nahe:

SVERWEIS „läuft“ bei der Verwendung des Parameters WAHR in [Bereich_Verweis] in einer Liste so lange nach unten bis ein größerer Wert als der gesuchte gefunden wird. Dann „stoppt“ SVERWEIS und gibt den Wert der zuletzt gefundenen Zeile zurück. Dabei wird weder bei WAHR noch bei FALSCH zwischen Groß- und Kleinschreibung unterschieden (wie fast an kleiner Stelle in Excel).

Fazit: Wenn man Texte in Listen mit SVERWEIS suchen muss (was durchaus sein kann – Artikelnummern, Personalnummer, Länderkennzeichen, etc. die alphanumerisch aufgebaut sind), sollte man NIEMALS die Liste sortieren und mit dem Parameter WAHR (oder ohne diesen Parameter) in SVERWEIS arbeiten. Schließlich möchte man ein eindeutiges Ergebnis. WAHR ist nur bei numerischen Reihen sinnvoll, beispielsweise: Umsatzzahlen, Erlöse, Gewinne, Kosten, Kilometer … von Betrag x bis Betrag y. Oder Datum von d1 bis d2.

Ich glaube, Angelika war mit meiner Erklärung einverstanden. Ganz sicher bin ich mir nicht. Ich werde sie noch einmal anrufen.

Habe meiner Pflanze vorgeschlagen, sie nur noch einmal im Monat zu gießen. Sie ist darauf eingegangen.

Angelika fragt weiter: „Kennst du das Problem? Ich habe eine Liste in der Begriffe mehrmals in unterschiedlicher Schreibweise vorliegen – manchmal in Großbuchstaben, manchmal nur in Kleinschreibweise. SVERWEIS findet leider nur den ersten Eintrag – egal wie er geschrieben ist.“

Bevor ich antworten kann, beantwortet Angelika ihre Frage selbst: „Ich habe vor Kurzem einen Artikel von Martin gelesen; dem Tabellenexperten – er beschreibt dort das Problem mit der Lösung IDENTISCH. Diese Funktion unterscheidet Groß- und Kleinschreibung.“

https://www.tabellenexperte.de/wie-sverweis-nur-richtig/

„Ja“, pflichte ihr bei: „den Artikel habe ich auch gelesen. Ich habe es ausprobiert – ja, er hat recht. Und: seine Lösung funktioniert so!“

Abends gehe ich mit einer Schüssel Kartoffelsalat spazieren. Das gibt mir das Gefühl, ich wäre bei einer Party eingeladen.

Meine Freundin und Kollegin Angelika ruft an:

„Hallo René – ich hab ja während der Weihnachtsfeiertage alles vergessen. Wie geht das nochmal, dass ich Formeln in Werte umwandle?“

„Angelika, das meinst du jetzt nicht ernst? Das weißt du doch: kopieren – Inhalte einfügen als Werte“. Da gibt es ein Symbol mit einem [123].

„Nein, nein, das meine ich nicht. Das kenne ich natürlich. Nein – da gab es doch einen Trick?“

„Ach – du meinst: am Rand mit der RECHTEN Maustaste ziehen und dann fallenlassen. Dann kann man über das Kontextmenü „Hierher als Werte einfügen“:

„Ja! Genau! Das war’s! Danke!“

Ich habe ein Rezept zum Abnehmen gefunden. Ich laufe im Supermarkt hinter ganz schlanken Leuten her und kaufe genau das Gleiche ein wie sie. Heute gibt es Luftballons bei mir!

Ein Freund von mir erklärt mir häufig, dass er sich nicht bei facebook anmeldet, weil fb ein Zeitfresser sei.
Nun: ich kenne einen anderen Zeitfresser. Er heißt: VBA!
Kennt ihr folgende Anomalie? Ich erstelle ein Userform mit einem Listenfeld. Zu den Einträgen sollen mehrere Einträge ausgewählt werden können. Ich entschließe mich für ein zweites Listenfeld, das ich daneben platziere. Dem Auftraggeber gefällt es nicht, weil die Userform groß und unübersichtlich ist (sehr viele Steuerelemente). Ich entschließe mich zu einer zweiten Userform. Also: Eintrag auf dem Listenfeld wird ausgewählt: Doppelklick, eine zweite Userform wird geöffnet, mit Werten gefüllt, von denen der Anwender mehrere auswählen kann (MultiSelect).

Zirka zwei Stunden lang habe ich über folgendes Problem gestutzt: Während des Doppelklicks öffnet sich die zweite Userform. Das Klickereignis wird schon abgefangen und sorgt dafür, dass auf der zweiten Liste der zweiten Maske auch Einträge selektiert werden. Sämtliche Versuche per VBA alles zu deselektieren (Selecetd(i) = False) scheitern!
Ich habe mich dann entschieden die Userform umzubauen. Das Listenfeld der zweiten Form liegt nicht mehr über dem Listenfeld der ersten. Dann klappt es!

Böses, böses Excel – manchmal nervst du!
Also doch lieber facebook – dort vertrödle ich weniger Zeit!

Mein Liebesleben 2020: Der Kühlschrank hat mich öfters nackt gesehen als irgend jemand anders!

Die Teilnehmerin der Excelschulung überlegt sich für jede Kategorie ein eigenes Tabellenblatt zu erstellen. So kann sie es leichter als PDF speichern und verschicken.

Ich überlege, ob die Berichtsfilterseiten ein geeignetes Werkzeug sein könnten. Ich erstelle eine Pivottabelle und achte darauf, dass die Daten NICHT zum Datenmodell hinzugefügt werden. Sonst kann man keine Berichtsfilterseiten erstellen:

Dennoch: der Befehl „Berichtsfilterseiten erstellen“ ist ausgegraut …

Ich habe eine Weile überlegt. Dann fiel mir ein: damit ich Berichtsfilterseiten erstellen kann, muss ich in der Pivottabelle einen Filter erstellen:

Die Daten, die auf den einzelnen Tabellenblättern dargestellt werden sollen, müssen als Filter vorliegen.

Tatsächlich! JETZT geht es!

Also: zwei Voraussetzungen, um Berichtsfilterseiten zu erstellen :

  • Beim Erstellen der Pivottabelle NICHT dem Datenmodell hinzufügen!
  • Filter einschalten!

Darf ich dich mal nackt fotografieren? – Klar, wenn dir das nicht zu kalt ist, meinetwegen …

Amüsant. Wir kennen das: Wenn ich in Excel eine Zahl schreibe, herunter oder nach rechts (oder nach oben oder links) ziehe, steht in der jede Zelle die gleiche Zahl:

Drückt man die [Strg]-Taste, zählt Excel weiter:

Ebenso kann man das Weiterzählen über das Smarttag erzwingen:

Bei Datumsangaben oder bei Text-Zahl-Gemischen wird hingegen weitergezählt:

Natürlich kann man auch den Assistenten „Datenreihe ausfüllen“ verwenden, den Sie in Start / Bearbeiten / Ausfüllen finden:

Formatiert man allerdings eine Zelle als Text und fügt eine Zahl ein (oder schreibt ein Apostroph vor eine Zahl; zieht nun diese Text-Zahl nach unten oder rechts, so wird jetzt weitergezählt. Ähnlich wie bei Text-Zahl-Gemischen.

Sweet dreams are made of cheese, who am I to dis a Brie?

In der letzten Excelschulung waren wir erstaunt. Wir verknüpfen mehrere Tabellen miteinander:

Warum dauert das Verknüpfen der Daten in PowerQuery so lange?

Die Ursache war schnell gefunden: die Teilnehmerin hatte den Cursor nicht in die Liste gesetzt und so aus der Liste eine (intelligente) Tabelle erzeugt, sondern die ganzen Spalten markiert und dann diese (mit den leeren Zeilen) in eine Tabelle umgewandelt.

Der Anfang der Tabelle:

Und das Ende:

Als wir den Fehler entdeckt hatten, wollte die Teilnehmerin den Bereich „per Hand“ nach oben ziehen:

Ich werde nervös, wenn Aktion SOOO lange dauern. Ein kurzer Blick … das muss doch schneller gehen … und wirklich: es geht schneller. Das Werkzeug „Tabellengröße ändern“ in der Registerkarte „Tabellenentwurf“ bietet eine schnelle Möglichkeit Tabellen zu vergrößern und verkleinern. Man muss nur $A$1:$E$2156 tippen – und schon ist die Tabelle kleiner. Und PowerQuery schneller!

Ich habe mich eben mit meinem Handy auf die Waage gestellt und war total entsetzt. Wusstet ihr, dass ein Smartphone-Speicher so um die fünf Kilo wiegt?

Ich erstelle ein VBA-Projekt in Excel, das auf dem Mac und auf dem PC laufen soll. Da die Trennzeichen zwischen den Ordnern unterschiedlich sind („\“ auf PC, „/“ auf Mac), überprüfe ich, auf welchem System das Programm gerade läuft. Die Funktion

=INFO(„SYSTEM“)

liefert entweder „pcdoc“ oder „mac“. Prima!

Dann kann ich das doch in VBA verwenden. Ich werde eines Besseren belehrt:

Die Funktion INFO (oder Info) findet sich nicht in der Liste der Worksheetfunctions! Objekt unterstützt diese Eigenschaft oder Methode nicht. Lautet die Fehlermeldung. Abhilfe schafft der Befehl die Funktion in eine Zelle zu schreiben, den Wert auszulesen und die Formel wieder zu löschen. Beispielsweise so:

Dim xlBlatt As Worksheet
Dim strSystem As String

Set xlBlatt = ActiveSheet
xlBlatt.Range("A1").FormulaR1C1 = "=INFO(""SYSTEM"")"
strSystem = xlBlatt.Range("A1").Value
MsgBox strSystem
xlBlatt.Range("A1").ClearContents

Habe so viel über die bösen Auswirkungen von Rauchen, Trinken und Sex gelesen, dass ich beschlossen habe, im neuen Jahr mit dem Lesen aufzuhören.

Dass die Zwischenablage in Excel für Mac fehlt – damit kann ich leben:

Aber ein fehlender Namensmanager – das ist doof! Vor allem, weil man so nicht erkennen kann, ob ein Name lokal für ein Blatt oder global für die Mappe vergeben wurde.

Auch Excel online stellt keine Alternative dar, wenn man gerne mit Namen in Excel arbeitet:

Danke an Andreas Thehos für diesen Hinweis

Bevor ich 2021 zustimme, möchte ich die Geschäftsbedingungen lesen.

Vor vier Wochen war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

In einem Liniendiagramm wollten wir mehrere Linien glätten. Muss man jede Linie markieren und einzeln die Option „glätten“ aktivieren?

Auch die Wiederholfunktion ([Strg] + [Y] oder [F4]) funktionieren nicht …

Kunden, die die Schreibtischlampe gekauft haben, haben auch Verlängerungskabel gekauft.

Vor vier Wochen war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Wir erstellen ein Diagramm, das die durchschnittlichen Prozesskosten berechnet. Und zwar der Jahre 2013 – 2018 und 2019 – 2020. Und daneben der Gesamtdurchschnitt. Das Diagramm sah wie folgt aus:

Einer der Rechtsanwälte warf einen Blick darauf und sagte, dass die Berechnung (und die Darstellung) nicht stimmen könne: der Durchschnitt der beiden Durchschnitte sei doch der Mittelwert. Im Diagramm sei er viel zu gering.

Mein Bauchgefühl sagte, dass dies nicht stimmen könne. Ich nahm ein Blatt Papier und rechnete:

Der Durchschnitt von 2 und 4 ist 3. Der Durchschnitt von 10 und 20 ist 15. Der Durchschnitt von 3 und 15 ist 9; ebenso wie der Durchschnitt von 2, 4, 10 und 20. Sollte der Rechtsanwalt doch recht haben? Zweiter Versuch:

Ich berechne den Durchschnitt von 1, 2, 3, 4 und 5. Er lautet 3. Der Durchschnitt von 10 und 20 beträgt 15. Mittelwert von 3 und 15 ist 9; jedoch: Durchschnitt von 1, 2, 3, 4, 5, 10 und 20 lautet 6,42857

Stimmt: wenn die Anzahl unterschiedlich ist, ist der Durchschnitt zweier Duchschnitte eben nicht der Mittelwert aller Zahlen. Der Rechtsanwalt hat sich geschlagen gegeben. Wäre doch gelacht!

Am zuverlässigsten unterscheiden sich Fernsehprogramme immer noch durch den Wetterbericht. (Woody Allen)

Vor vier Wochen war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Die Daten werden auf Basis anderer Daten erhoben und berechnet. Auf diesen Daten wird ein (Linien-)Diagramm aufgesetzt, das die Entwicklung abbilden soll. Erstaunlicherweise zeigt der Trend im Jahr 2020 nach unten. Der Grund ist einfach: es liegen noch keine Daten für Dezember vor; die Berechnung ergibt 0; die Trendlinie zeigt nach unten. Nein – DIESER Datenpunkt darf nicht verwendet werden.

Kreuzworträtsel: Schatz – starke Verbindung zwischen zwei Menschen mit drei Buchstaben und in der Mitte steht ein „H“? – „UHU“

Vor vier Wochen war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Wir wollten einen Titel ändern. Er ließ sich allerdings nicht editieren. Weder mit [F2] noch per Doppelklick:

Es hat eine ganze Weile gedauert, bis ich bemerkt habe, dass der Text nicht in der Titelzeile steht, sondern in einer Zelle, auf die Bezug genommen wird. Nur dort (in der Bearbeitungsleiste oder in der Zelle) kann der Text geändert werden.

In der Singlebörse wollte sich jemand mit mir treffen um spazieren zu gehen. Solche Sportsfreaks blockier ich doch gleich!

Lieber Herr Martin,

Ich muss zugeben, Excel nervt mich normalerweise nicht, aber ev beschäftige ich mich zuwenig

Damit..

Jetzt habe ich einen neuen Job und muss SVERWEISE nachvollziehen, prinzipiell fühle ich mich dazu

In der Lage, allerdings habe ich heute als Spaltenindex folgendes gefunden.

=SVERWEIS($A393;’specs quotation‘!$F$14:$DD$150;F$2;FALSCH)

Was bedeuted F$2

Vielleicht können sie mir ja helfen.

Vielen Dank

Judith

Ps: ich liebe ihre Seite :-J

Hallo Judith,

danke für das Lob.

Die Antwort ist (wahrscheinlich) einfach:

Schauen Sie mal in dem Tabellenblatt nach, welcher Wert in der Zelle F2 steht. Mit Sicherheit die Nummer der Spalte aus der der Wert des Bereichs !$F$14:$DD$150 des Blattes „specs quotation“ geholt wird.

Ich vermute, dass der SVERWEIS in mehreren Zellen der gleichen Spalte verwendet wird – deshalb wurde die Zeile 2 fixiert, also statt F2 wurde geschrieben F$2. Vielleicht wird er auch in mehreren Spalten verwendet. Was steht in G2? Was in H2? Wenn der SVERWEIS auch in mehreren Spalten benutzt wird, dann bedeutet F (ohne $-Zeichen) ein relativer Bezug – das heißt: in der Spalte daneben wird der Wert aus G$2 verwendet.

Wenn SVERWEIS nur in einer Spalte zu finden ist, hätte man auch $F$2 schreiben können, F$2 ist aber auch okay.

verstehen Sie die Ausführung?

schöne Grüße aus dem kalten und sonnigen München
Rene Martin

Lieber Herr Martin,

Vielen Dank, in Zelle F2 steht leider nix und in allen Formel Zeilen nach unten steht immer F$2 (eh klar),

die Info die in der Zelle aufscheint steht in Spalte :-J…

Es braucht definitiv Smiley in Outlook…

Ev nervt es ja doch, noch so kurz vor Weihnachten…

Danke

Lg Judith

Hallo Judith,

klicken Sie mal bitte auf die Zelle mit der Formel SVERWEIS.

klicken Sie mal auf den Funktionsassistenten fx neben der Eingabezelle.

Dort müsste der Werte von F$2 angezeigt werden:

Die Erleuchtung kam gerade, yup, in F2 steht 5, dass ist die 5te Spalte in der der Wert

Steht ausgehend von der Matrix.. Excel nervt doch nicht J

Vielen Dank!

Liebe Grüße ins wunderschöne München!

Frohe Feiertage und einen guten Rutsch ins nächste Jahr!

Judith

Mut ist, wenn du morgens um 4 Uhr knallvoll nach Hause kommst, deine Frau mit dem Besen in der Ecke steht und du sie fragst: „Bist du am Putzen oder fliegst du noch weg?“

Ich habe bereits darüber geschrieben. Bill Jelen hat einen Artikel darüber geschrieben:

https:// www .youtube.com/watch?v=iaJv6E0GRC4

Auch auf der Seite von Microsoft ist zu lesen:

https: // support.microsoft.com/en-us/office/-spill-volatile-size-05aad07c-947e-4c9b-bd6f-7b1f8ae6a7dc?fbclid=IwAR3-mdf2DsQoMOTCOt5Z2m2i2ib5_rVYLikGthKeQllPdFZM94Bfbxz_2bc

Eben:

Dynamic array resizes may trigger additional calculation passes to ensure the spreadsheet is fully calculated. If the size of the array continues to change during these additional passes and does not stabilize, Excel will resolve the dynamic array as #SPILL!.

Nochmal langsam:

This error value is generally associated with the use of RAND, RANDARRAY, and RANDBETWEEN functions. Other volatile functions such as OFFSET, INDIRECT, and TODAY do not return different values on every calculation pass.

Ich probiere es aus: In einer Spalte stehen Zufallswerte:

=ZUFALLSBEREICH(„1.1.2020″;“31.12.2020“)

Die beiden Funktionen SORTIEREN und SORTIERENNACH funktionieren problemlos:

Jedoch erzeugen die beiden Funktionen FILTER und EINDEUTIG regelmäßig einen Fehler:

=FILTER(A3:A100;A3:A100>44000)
und
=EINDEUTIG(A3:A100)

Allerdings nicht immer:

Die Funktion ZUFALLSMATRIX, welche die Funktion ZUFALLSBEREICH in den Parametern min und max verwendet, bleibt erstaunlicherweise stabil:

=ZUFALLSMATRIX(5;5;MIN(A2:A100);MAX(A2:A100);WAHR)

Verwendet ZUFALLSMATRIX jedoch die Funktion ZUFALLSBEREICH in den Zeilen oder Spalten, ist #Überlauf ein häufiger Fehler:

=ZUFALLSMATRIX(M11;M12)
In M11 und M12 steht:
=ZUFALLSBEREICH(1;10)

Und schließlich kann auch die Funktion SEQUENZ nicht mit ZUFALLSBEREICH zusammen arbeiten:

=SEQUENZ(M11;M12)

Fazit: Finger weg von den neuen Arrayfunktionen im Zusammenhang mit den Zufallsfunktionen
ZUFALLSBEREICH
ZUFALLSZAHL
ZUFALLSMATRIX

Eben: Dynamic array resizes may trigger […] #SPILL!.

Wurde der Fernseher repariert? Schneidet der Gärtner die Hecke zu Ende? Gibt es Trinkgeld für die Pizza? – Pornos lassen immer so viele Fragen offen …

Hallo, i ch benötige kurze Hilfe, ich habe hier ein Makro, noch von meinem Vorgänger, das wohl in einer Excel Liste eine Zeile entfernt und wo anders
dann wieder einsetzen kann. Nun ist es aber so, das ich Zeilen habe, die einen Zeilenumbruch in der Zelle haben, und dann immer eine Fehlermeldung 1004 kommt. Können Sie mir hier BITTE helfen????
Danke
Jörg

Hallo Jörg,
so groß und schwierig kann das ja wohl nicht sein – wenn das Makro vorher gelaufen ist …
schick es mir doch mal, bitte, dann schreibe ich dir etwas dazu.
Liebe Grüße Rene

Hallo Rene,

hier mal so….

In einer Excel Zelle habe ich einen Textumbruch, mit sehr viel Text.

Den kann ich zwar über den Makro „löschen“, aber dann nciht

mehr an einer anderen Stelle einfügen…..

BITTE Um HILFE! DANKE

Sub FahrtAuswaehlenEinfach()
Dim aDlg As DialogSheet
     Dim aRow As Range
     Set aDlg = Sheets("Fahrtauswahl")
     
     i = 1
     aDlg.ListBoxes("Fahrten").RemoveAllItems
     Do While Sheets("Tabelle2").Cells(i, 2).Value <> ""
         astring = Format$(Sheets("Tabelle2").Cells(i, 2).Value, "short time")
         astring = astring + " - " + Format$(Sheets("Tabelle2").Cells(i, 3).Value, "short time")
         astring = astring + "  " + Sheets("Tabelle2").Cells(i, 4).Value
         astring = astring + " --- " + Sheets("Tabelle2").Cells(i, 8).Value
         astring = astring + " / " + Sheets("Tabelle2").Cells(i, 11).Value
         aDlg.ListBoxes("Fahrten").AddItem astring
         i = i + 1
     Loop
     
     If aDlg.Show = True Then
         i = aDlg.ListBoxes("Fahrten").ListIndex
         Sheets("Tabelle2").Rows(i).EntireRow.Cut
         Sheets("Linienpläne - quer").Select
         ActiveCell.EntireRow.Insert Shift:=xlDown
         Sheets("Tabelle2").Rows(i).EntireRow.Delete xlUp
     End If 
End Sub

    Zuerst musst ich schlucken und mich auf die Suche machen. Was bitte ist ein DialogSheet? Ich werde fündig: in Excel 4.0 konnte man ein Dialogblatt einfügen. Und darauf Steuerelemente platzieren. Und die verwenden so etwas immer noch im Jahre 2020?

Egal. Meine Vermutung liegt beim Operator „+“. Wenn in den Zellen Zahlen stehen, hat VBA ein Problem beim Verketten von

astring = astring + "  " + Sheets("Tabelle2").Cells(i, 4).Value

Das ist aber nicht die Lösung. Ich bitte um die Daten. Der Zeilenumbruch ist nicht das Problem, sondern:

Der Text ist zu lang! Excel lässt mehr als 8.000 Zeichen / Zelle zu, die ListBox leider nur 255

Also schnell den Code geändert:

Sub FahrtAuswaehlen()

    Dim aDlg As DialogSheet
    Dim aRow As Range
    Set aDlg = Sheets("Fahrtauswahl")
    
    i = 1
    aDlg.ListBoxes("Fahrten").RemoveAllItems
    Do While Sheets("Tabelle2").Cells(i, 2).Value <> ""
        astring = Format$(Sheets("Tabelle2").Cells(i, 2).Value, "short time")
        astring = astring & " - " & Format$(Sheets("Tabelle2").Cells(i, 3).Value, "short time")
        astring = astring & "  " & Left(Sheets("Tabelle2").Cells(i, 4).Value, 200)
        astring = astring & " --- " & Sheets("Tabelle2").Cells(i, 11).Value
        aDlg.ListBoxes("Fahrten").AddItem astring
        i = i + 1
    Loop
    
    If aDlg.Show = True Then
        For i = aDlg.ListBoxes("Fahrten").ListCount To 1 Step -1
            If aDlg.ListBoxes("Fahrten").Selected(i) Then
                Sheets("Tabelle2").Rows(i).EntireRow.Cut
                Sheets("Linienpläne - quer").Select
                ActiveCell.EntireRow.Insert Shift:=xlDown
                Sheets("Tabelle2").Rows(i).EntireRow.Delete xlUp
            End If
        Next
    End If
    
End Sub

Die Antwort:

Hallo Rene,

JA, das wars wohl! Klappt SUPER!!!

TAusend DANK!!!

Wie kann ich mich revangieren?

D A N K E ! ! !

Gruß

Jörg

Machst du eigentlich Sport, Susanne? – Ja, natürlich – ich habe ganz oft Laufmaschen in den Strumpfhosen.

Ich erstelle per VBA in Excel dynamische Formulare, in die Daten eingetragen werden. Dabei greife ich auf Mastertabellen zu, die ich einblende, kopiere und modifiziere. Eine der Tabellen hat ein Kommentar (okay – eigentlich eine Notiz). Unter bestimmten Voraussetzungen muss ich ihn löschen.

Okay – ich hätte ihn auch umgekehrt einfügen können – ich entschließe mich für die Variante des Löschens:

ZelleLinksOben.Offset(i, 0).Comment.Delete

Allerdings erhalte ich einen Fehler, wenn in der Zelle kein Kommentar mehr vorhanden ist:

Wie kann ich überprüfen, ob eine Zelle einen Kommentar hat? Die Zelle hat ja keine Comments-Sammlung, so dass ich über die Eigenschaft Count herausbekäme, ob Kommentar oder nicht.

Ich schreibe eine Funktion, die auf einen Kommentar zugreift. Ist dieser nicht vorhanden, erhalte ich einen Fehler. Diesen kann ich abfangen:

Public Function GibtEsKommentar(Zelle As Range) As Boolean
Dim blnVorhanden As Boolean
Dim s As String

On Error Resume Next
Err.Clear
s = Zelle.Comment.Text
If Err.Number = 0 Then
blnVorhanden = True
Else
blnVorhanden = False
End If
Err.Clear
GibtEsKommentar = blnVorhanden
End Function

Damit kann man (ich) arbeiten:

    If RisikoanalyseTyp <> "Dienstleistung" Then
        If GibtEsKommentar(ZelleLinksOben) Then
            .Comment.Delete ' -- lösche den Kommentar
        End If
    End If

Nach einer Weile entdecke ich, dass es zum Löschen eines Kommentars einen anderen Befehl gibt: ClearComments

ZelleLinksOben.Offset(i, 0).ClearComments

Und er löscht einen vorhandenen Kommentar oder macht nichts, wenn sich in der Zelle kein Kommentar befindet. Warum nicht gleich so?

Mein Husten ist schon viel besser geworden. Es antworten nur noch neun Hunde aus der Nachbarschaft.

Böse! Böse! Sehr böse! Auch Outlook kann widerlich sein!

Ich markiere alle Anlagen einer Mail und lösche sie mir [Umschalt] + [Entf]:

Die Meldung:

Dies wird endgültig gelöscht. Okay – ja – löschen!

Allerdings: ich hatte die Mails im Posteingang markiert und endgültig gelöscht. Auch dort die gleiche Meldung:

Dies wird endgültig gelöscht.

In solchen Momenten hat man dann plötzlich sehr viel Zeit. Was tun?

Laptop hochfahren.

Internetverbindung trennen.

Die Mails des Posteingangs in einen anderen Ordner kopieren.

Internetverbindung einschalten.

Schweiß von der Stirn wischen.

Microsoft verfluchen wegen des undifferenzierten Wortes „DIES“.

Wenn du meinen Charakter beschreiben sollest, welches Tier wäre ich dann? – Eine Miesmuschel!

Hallo René,

hast du das gelesen? 😉

https://www.golem.de/news/microsoft-excel-bringt-endlich-das-ende-von-vba-2012-152627.html

Ich finde ja diese Formulierungen ja immer so bemerkenswert, wenn in der Presse die Rede von Microsoft Excel ist:

„VBA gehört aber zu jenen Sprachen, die nahezu jedem den Verstand rauben und mit denen fast niemand freiwillig programmiert. Wer es dennoch muss und dafür bezahlt wird, wird die Bezahlung eher als Schmerzensgeld betrachten.“

Weiß nicht, ob du den 2. Satz bestätigen kannst. 😉 Viele Grüße, Dominic

Hi Dominic,

nein – das habe ich nicht gelesen. Ich würde ihm erwidern: „Wer so etwas schreibt hat diese Sprache weder gelernt noch verstanden.“

In Corona-Zeiten, in der meine Schulungen weggebrochen sind, bin ich froh, dass ich VBA-Lösungen entwickeln darf. Ich mache das sehr, sehr gerne!

Liebe Grüße

Rene

Wenn dich jemand ignoriert – störe ihn nicht dabei!

In der letzten Outlook-Schulung kam folgende interessante Frage:

Wie kann man in Outlook die Aufgabenbereiche „Kalender“ und „Aufgaben“ so einstellen, dass statt „heute“ und „morgen“ das Datum in der Titelleiste steht?

Meines Wissens geht das nicht. Ebenso wenig wie ich im Posteingang diese Texte durch das Datum ersetzen kann:

Warum machen wir eine Wattwanderung? – Meer war nicht drin.

Hallo ihr Excel-Götter

Ich habe urplötzlich ein nerviges Phänomen.

Wenn ich eine Exceldatei über den normalen Dialog in Excel neu erstelle, ist alles in Ordnung.

Sobald ich aber in einem Ordner per Rechtsklick eine neue Exceldatei erstelle, erhalte ich ein arabisches Layout.

  • Siehe Video.

Hat das jemand von euch schon erlebt?

Und WIE löst man das?

Die üblichen .xltx habe ich schon durchforstet….. Nix!

Merci für Eure Unterstützung.

Ein genervter Hp

#####

Hoi HP,

schau mal im Explorer nach:

1. im Ordner %appdata% Roaming\Microsoft\Excel\XLSTART liegen EINIGE deiner Vorlagen:

* eine Datei Mappe.xlsx wird beim Öffnen von Excel gestartet

* eine Datei Mappe.xltx wird DANN über [Strg] + [N] oder Datei / Neu geöffnet

* eine Datei Tabelle.xltx wird verwendet, wenn du ein neues Tabellenblatt erzeugst.

Findest du hier deine Vorlage?

2. schau mal in der Registry nach. Unter

Computer\HKEY_CLASSES_ROOT\.xlsx\Excel.Sheet.12\ShellNew

Findest du den Pfad, hinter dem sich die Mappe verbergen, die über rechte Maustaste / Neu / Excel-ArbeitsBLATT (!?!) geöffnet wird. Bei mir:

C:\Program Files (x86)\Microsoft Office\Root\VFS\Windows\ShellNew\excel12.xlsx

Schau mal nach, ob du diese hast, bzw. wie sie aussieht.

@Tanja: Wenn du eine andere/weitere Lösung hast – her damit! Wir haben vor zwei Jahren mal einen Excelstammtisch zum Thema „Vorlagen“ gemacht und solche Sachen rausgefunden

Liebe Grüße aus dem großen Nachbarkanton

Rene

PS: die Laufrichtung von rechts nach links ist hübsch – ich habe mal ein bisschen arabisch und persisch gelernt und mal (aus Spaß) umgestellt – sehr amüsant!

######

[…] genau die ist es. Letztes Speicherdatum 19.3.2020….. habe ich aber noch nie bemerkt…
Habe unter Optionen/Erweitert die Option wieder auf Links – Rechts Ansicht gedreht
Nun geht es wieder!

Hab DANK für die Unterstützung. Googeln hat nix gebracht.

Ich wünsche ein schönes Wochenende.

Liebe Grüsse

Hp

Ich bin eine Mischung aus Saugenichts und Nichtsputz.

Letzte Woche war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise waren wir plötzlich sehr irritiert, warum auf einmal die Differenz zweier Zahlen so hoch ausfällt:

33 881 285 – das ist zu viel!

Der zweite Blick fällt auf den kleinen Bobbel – die Zelle wurde anders formatiert – mehrere Nachkommastellen … Es handelt sich um ein Komma als Dezimaltrennzeichen und nicht um einen Punkt als Tausendertrennzeichen. Alles in Ordnung – und den Schweiß von der Stirn wischen!

Meine Ex schreibt mich an: „Wünschte, du wärst hier.“ – Das macht sie immer, wenn sie über den Friedhof geht.

Letzte Woche war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Basierend auf berechneten Daten wird zwei Kreisdiagramme. Das eine besteht aus zwei Totensegmenten, beim anderen ist einer der Teile in zwei Bereiche unterteilt. Erstaunlicherweise ändern sich plötzlich die Zahlen:

Der Grund ist einfach: Excel versucht die Zahlen des Tortendiagramms immer so darzustellen, dass die Summe 100% ergibt – also drei gleich große Teile werden nicht mit jeweils 33% beschriftet, sondern mit 33%, 33% und 34%. Wenn das stören sollte, könnte man die Zahlen als Prozentzahlen formatieren – mit Nachkommastellen:

Mein Lieblingswintergemüse ist die Marzipankartoffel.

Letzte Woche war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Erstellt man ein Pivotchart und bemerkt, dass Zeile und Spalte vertauscht sind:

kann man das Diagramm transponieren.

Erstaunlicherweise wird dann auch die Pivottabelle gedreht:

Bereits ein Buch enthält den Tagesbedarf an A, B, C, D, E und K. Und viele weitere lebenswichtige Buchstaben.

Letzte Woche war ich in einer Rechtsanwaltskanzlei und habe gefühlte 15.000 Diagramme bearbeitet. Dabei sind mir eine Reihe an Dingen aufgefallen. Beispielsweise:

Wir haben Datenpunkte, die in einem Liniendiagramm dargestellt werden. Durch sie soll jeweils eine Trendlinie gehen – darum ging es in diesem Diagramm. Mit dem Vorne-Hinten-Spiel kann man die Reihenfolge der Legendeneinträge ändern – jedoch nicht der Legendeneinträge der Trendlinien. Schade!

Wenn du die Wahl hättest zwischen Traumfrau und Traumauto – welche Felgen würdest du dann nehmen?

Hallo Rene!

Benötige bitte deine Hilfe.

Zum Jahresende fallen die Auszahlungen der Subventionen an.

Die vorgelegten Unterlagen entsprechen nicht immer den Formvorschriften.

Damit bei dem Jahresbericht zu lesen ist warum etwas nicht anerkannt wurde habe ich die beiliegende Tabelle erstellt.

Nun möchte ich, dass bei der Zusammenfassung der Paare bei den Anmerkungen und Beleg-Nr. die Ziffern aus der Aufstellung jeweils in einer Zwelle eingetragen werden.

Bitte um deine bewährte Hilfe.

Bleib gesund,

mit besten Grüßen

Peter

Meine erste Überlegung: mit VERGLEICH(F28;tbl_KF_Kosten[Turnierpaar];1)-VERGLEICH(F28;tbl_KF_Kosten[Turnierpaar];0) kann ich die Differnez zwischen letzten gefundenem Wert und erstem gefundenem Wert ermitteln. BEREICH.VERSCHIEBEN liefert mir den Bereich; TEXTVERKETTEN fasst sie zusammen. Das Problem hierbei ist jedoch, dass die Werte nicht gruppiert untereinander stehen und auch nicht alphabetisch sortiert sind. Also: zweiter Versuch: FILTER:

=TEXTVERKETTEN(",";WAHR;FILTER(tbl_KF_Kosten[Bel
Klub];tbl_KF_Kosten[Turnierpaar]=F28;""))

Und damit geht es hervorragend!

Mein Schatz sagt oft „Du Hengst“ zu mir. Vorhin zum Beispiel: „du Hengst nur noch auf der Couch rum!“

Einfach nicht aufgepasst!

Programmieren Sie VBA? Programmieren Sie Formeln in VBA? Auf einem Tabellenblatt befinden sich in den Spalten BJ und BL Daten, die vertikal angeordnet sind:

Auf einem anderen Blatt wird Bezug auf diese Daten genommen:

Während ich die erste Spalte nach unten ziehen kann, muss ich die Formeln der ersten Zeile getrennt eingeben – ich möchte weder mit MTRANS, INDIREKT noch mit BEREICH.VERSCHIEBEN arbeiten. Es handelt sich um maximal sechs Werte.

Die Formeln müssen per VBA neu geschrieben werden. Der Makrorekorder ermittelt für die Formel

=WENN(tbl_Basisdaten!BJ2="";"";tbl_Basisdaten!BJ2)

der Zelle A2 den VBA-Code:

ActiveCell.FormulaR1C1 = " =IF(tbl_Basisdaten!RC[61]="""","""",tbl_Basisdaten!RC[61])"

Dabei ist RC[61] ein relativer Bezug: R -> gleiche Zeile; C[61] -> Spalte um 61 Spalten verschoben. Wäre der Bezug absolut ($BJ$2) wäre der Code:

R2C62

also: in Zeile 2 und in Spalte 62 – egal, wo sich die Zielzelle befindet. Der Code wird in einer Schleife verwendet:

For i = 1 To 6
   ThisWorkbook.Worksheets("tbl_Risikomatrix").Range("A1").Offset(i, 0).FormulaR1C1 = _
      "=IF(tbl_Basisdaten!RC[61]="""","""",tbl_Basisdaten!RC[61])" ' -- erste Spalte A
Next i

Klappt famos! Und nun die erste Zeile. Der Makrorekorder zeichnet auf:

ActiveCell.FormulaR1C1 = _
    "=IF(tbl_Basisdaten!R[1]C[62]="""","""",tbl_Basisdaten!R[1]C[62])"

Das kann doch leicht angepasst werden:

For i = 1 To 6
    ThisWorkbook.Worksheets("tbl_Risikomatrix").Range("A1").Offset(0, i).FormulaR1C1 = _
        "=IF(tbl_Basisdaten!R[" & i & "]C[62]="""","""",tbl_Basisdaten!R[" & i & "]C[62])" ' -- erste Zeile 1
        
Next i

Padautz – das funktioniert nicht! In B1 greife ich auf Spalte 63 zu, also 62 Spalten „neben mir“. In C1 dagegen benötige ich die Spalte, die sich 61 Spalten neben mir befindet, in D1 dagegen 60 Spalten. Also noch einmal:

For i = 1 To 6
    ThisWorkbook.Worksheets("tbl_Risikomatrix").Range("A1").Offset(0, i).FormulaR1C1 = _
        "=IF(tbl_Basisdaten!R[" & i & "]C[" & (63 - i) & "]="""","""",tbl_Basisdaten!R[" & i & "]C[" & (63 - i) & "])" ' -- erste Zeile 1
Next i

Und das klappt! Man muss so aufpassen bei den Bezügen! Und beim Umdenken von =BL2 auf =R[1]C[62].

Kinder, wie die Zeit rast! Noch zweimal duschen, dann ist Heiligabend!

Mourad Louha hat darauf hingewiesen, dass Namen eine maximale Länge von 255 Zeichen haben dürfen. Während man Namen mit einer Länge bis zu 244 Zeichen problemlos verwenden kann, produziert Excel bei einer Buchstabenstabenanzahl von 255 Zeichen Probleme. 256 Zeichen und mehr ist nicht zugelassen.

Test?

Schnell einen langen Text erzeugen – Kleist liefert sehr viele. Die Funktion LÄNGE ermittelt die Anzahl der Zeichen. Und diese kann man in den Namensmanager kopieren und so die Namen erzeugen:

Ein Name mit einer Länge von 273 funktioniert nicht.

Und dann: die Auswahl über das Namensfeld funktioniert nicht:

Die Datenüberprüfung kann den 255er-Namen mit [F3] nicht verwenden:

Und auch nicht die Diagramme:

Also: Finger weg von einem Namen mit 255 Buchstaben! Beschränken wir uns auf Llanfairpwllgwyngyllgogerychwyrndrobwllllantysiliogogogoch – das sind 58 Buchstaben.

In ein „Wenn-du-ausgetrunken-hast-dann-geht-es-ins-Bett“-Kind passen ungefähr 1,5 Liter Milch.

In ein Tabellenblatt kann x- und y-Werte eintragen und die z-Werte, also f(x,y) berechnen lassen. Und so ein Diagramm erzeugen.

Während man bei Datenreihen mit nicht äquidistanten Werten von Linie zu XY-Diagramm (Punktdiagramm) wechseln kann, gibt es bei den 3-D-Diagrammen leider keine Lösung.

Schade, so fangen das die Teilnehmer der letzten Excelschulung.

Ich nehme ja gerne mal Anhalter mit. So fangen zwar viele Horrorfilme an, aber auch viele Pornos.

Mourad Louha stellt die neuen Datentypen vor, die man über Powerquery erstellen kann:

http://www.excel-ticker.de/eigene-datentypen-mit-power-query-erstellen/

In der Registerkarte „Transformieren“ findet man das Symbol, um eigene Datentypen zu erstellen:

Gibt man die Daten zurück, erhält man das typische Symbol der Datentypen:

Mit einer Datenüberprüfung wird eine Dropdownliste geschaffen. Aus ihr wird das Attribut ausgewählt: =[Zelle].Attribut:

Mourad bemängelt, dass man die Datentypen leider nicht in Abfragen verwenden kann. Schade ist auch, dass sie nicht in der Registerkarte erscheinen:

Einige Dinge fehlen – aber ich zuversichtlich, dass Microsoft hier „nachrüsten“ wird.

79% der Abonnenten hat nicht gemerkt, dass ihr Fitnessstudio geschlossen ist.

Fast wäre ich reingefallen. Folge Mail erreichte mich:

Hallo René

Du hast mir kürzlich mit dem SVerweis geholfen.

Nun habe ich wiederum ein kurze Frage:

Im Anhang die Angaben von Personen. Ich möchte diese aufteilen in Anrede (Mr.), Vorname und Nachname.

Wie geht das?

Herzliche Grüsse

Andreas

Das kann doch kein Problem sein, dachte ich klickte auf den Assistenten „Daten / Text in Spalten“. Doch der belehrte mich eines besseren:

Ich schreib zurück:

Hallo Andreas,

die Funktion

=CODE(TEIL(A2;4;1))

liefert 160. Das ist der ASCII-Code des „Leerzeichens“ zwischen „Mr.“ und „Rüdiger“. Das Leerzeichen hat Code 32.

Woher hast du die Daten? Aus dem Internet? Aus Word? Von einem fremden System? DAS hat kein Mensch getippt!

Antwort: Wir brauchen Leerzeichen!

Markiere das Teilchen zwischen „Mr.“ und „Rüdiger“. Kopiere es.

Dann rufe den Ersetzen-Dialog auf (Strg + H).

Ersetze (Strg + V) durch Leerzeichen.

Das Ergebnis sieht aus wie vorher.

Dann kannst du die Spalte A markieren und mit dem Assistenten Daten / Text in Spalten trennen. Voilà.

Klappt das?

Liebe Grüße

René

Hoi René

Perfekt! Hat super geklappt!

LG Andreas

Was war das für ein Krach heute Nacht? – Die Schuhe sind umgefallen! – Bitte? – Ich stand noch drin.

Manchmal bin ich erstaunt. Und verblüfft. Was ich alles noch nicht weiß.

Ich habe genörgelt, dass VBA nicht alle Objekte, Methoden und Eigenschaften anzeigt:

Peter hat mich darauf hingewiesen, dass einige Objekte im Objektkatalog ausgeblendet sind. Über das Kontextmenü kann man sie einblenden:

Dann sind sie nicht nur im Objektkatalog sichtbar

sondern stehen auch in VBA sichtbar zur Verfügung:

Dennoch bleibt die Frage: Warum macht Microsoft denn so etwas?

Ich hasse es, wenn mich jemand mit dem Satz weckt: „Los aufstehen, die Sonne scheint!“ – Was soll ich machen? – Photosynthese?

Pia Bork bemängelt, dass Word nicht richtig rechnen kann. Okay – eine Summe, aber man muss sie aktualisieren.

Und COUNT? – Die Anzahl der Zahlen in einer Tabelle? Ist leider nicht – COUNT zählt nicht Inhalte (also Werte ohne Überschrift), sondern Zeilen – egal, ob leer oder gefüllt. Und damit ist diese Funktion in Word wenig brauchbar:

Danke für den Hinweis:

https://bork.blog/2020/11/17/word-funktion-count/?fbclid=IwAR3iN9lIZdJ5BDx_q7Ucx2aqRyWs03IBswqCq6a1WXdAdNZdRVOgJB_qByU

Wenn du dann Probleme brauchst, ich bin für dich da

Gestern rief Stefan an. Warum Excel sehr, sehr langsam startet, wollte er wissen. Wir überlegten gemeinsam. Hatten keine Idee. Er suchte alleine weiter und fand in den Tiefen des Internets die Lösung:

Wird das Ribbon verändert, beispielsweise durch Installation eines AddIns, wird der Schlüssel MsoTbCust in
Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Options in der Registry geändert. Man muss ihn wieder zurücksetzen.

Danke an Stefan Lau für diesen wertvollen Hinweis!

Glück ist das einzige, was sich verdoppelt, wenn man es teilt. Und Bakterien!

Gestern war ich sehr verblüfft und erstaunt. Ich habe eine Excelmappe mit einer intelligenten (strukturierten, dynamischen, formatierten) Tabelle. In einer ANDEREN Datei greife ich darauf zu – per SVERWEIS, INDEX und VERGLEICH oder XVERWEIS:

Also beispielsweise über:

=SVERWEIS([@Name];Datenquelle.xlsx!tbl_Schlumpf[#Alle];2;FALSCH)

oder:

=INDEX(Datenquelle.xlsx!tbl_Schlumpf[Schlumpf];VERGLEICH([@Name];Datenquelle.xlsx!tbl_Schlumpf[Name];0))

oder:

=XVERWEIS([@Name];Datenquelle.xlsx!tbl_Schlumpf[Name];Datenquelle.xlsx!tbl_Schlumpf[Schlumpf])

Beide Dateien, die sich im gleichen Ordner befinden, werden geschlossen. Nur die Zieldatei wird geöffnet. Das Ergebnis: Fehlermeldungen bei allen drei Formeln:

Ich ersetze die Bezüge, also

Datenquelle.xlsx!tbl_Schlumpf[Name]

durch

[Datenquelle.xlsx]Quelle!$A:$A

Das ist nicht schön! Aber – es funktioniert! Hat Microsoft vergessen DAS bei intelligenten Tabellen zu implementieren? DAS ist ja ein Schritt zurück! DAS will ich eigentlich nicht (mehr). Immerhin: es funktioniert. So kann ich die Zieldatei öffnen, die Werte werden aktuell angezeigt, ohne dass die Quelldatei offen sein muss.

Danke an Christa für den Hinweis, dass man die Verknüpfung über PowerQuery organisieren kann.

Und: vielen Dank an den Hinweis von Mourad Louha: DAS IST GEWOLLT!

https://support.microsoft.com/en-sg/help/2299192/links-to-data-tables-residing-in-external-files-display-ref?fbclid=IwAR32YcJ4HKAB_B_lMBHB17OtX8y8rIV0dVoFCFrmeYTjH4zxnPADLGigbM8

James Bond soll weiblich besetzt werden? – Richtig cool: geile Autos, riesige Explosionen, Unfälle und viele Tote. Und das alles schon beim Einparken!

Amüsiert. Ich habe eine große Excel-Dummy-Liste mit 20.000 Zeilen. Ich schaue in der Druckvorschau nach:

1.203 Seiten.

Ich verringere die Seitenzahl, indem ich eine Seite breit und 200 Seiten hoch einstelle:

Ein erneuter Blick in die Seitenansicht ergibt 146 Seiten. Ich habe es mit anderen großen Dokumenten probiert – ähnlich Ergebnisse.

Die Vermutung: Excel passt auf eine Seite breit an und berechnet dann die Anzahl der Seiten in der Höhe selbst.

Sie: Warum liegst du im Anzug mit gefalteten Händen auf dem Bett? – Er: Ich habe Halsschmerzen und bereite mich vor.

Hallo René,

Mich treibt gerade etwas um. Es mag für manchen nur Kosmetik sein, mich macht es aber gerade kirre… Wenn du schnell einen Tipp parat hast, würde ich mich freuen; ich erwarte aber keinen Support. Vielleicht lautet deine Antwort ja auch: Ja, möglich, aber mit etwas (Programmier-)Aufwand. Dann ist an der Stelle sowie Schluss.

Seitenumbrüche einfügen – anpassen: kein Problem, kann ich.

Seitenlayout anpassen auf beispielsweise 1 Seite breit, 7 Seiten hoch – auch kein Problem.

Was aber, wenn die Liste nicht nur die Artikelnummern enthält, sondern auch „Überschriften bzw. Unterüberschriften“.
Aufgabe: Die darunter stehenden Artikel sollen zusammengehalten werden, ähnlich wie bei Word, da geht das mit Formatvorlagen-Überschriften und Absätze nicht trennen. (Es muss übrigens eine Excel-Datei bleiben und die Mitarbeiter sollen selbst keine Einstellungen vornehmen müssen.)

Wenn ich die maximale Seitenanzahl (breit und hoch) zur Skalierung vorgeben möchte, kann ich keinen Eingriff in die Umbrüche nehmen. Oder doch?

Der Grund, warum ich das Seitenlayout auf x Seiten breit und x Seiten hoch vorgeben möchte: Die Anwender verwenden die unterschiedlichsten benutzerdefinierten Seitenränder. Wenn ich die Umbrüche definiere, kann es mitunter vorkommen, dass bei manchen Anwendern erst auf der zweiten Seite umgebrochen wird. Auf der zweiten Seite sind dann beispielsweise nur zwei Zeilen und danach wird wieder umgebrochen, weil das ja so definiert war.

Ich freue mich jedenfalls über ein kurzes Feedback 🙂 und sage schon mal DANKE für einen Tipp von dir.

Liebe Grüße

Christa

Hallo Christa,

Die Antwort lautet: nein! Geht nicht.

Du kommst mit den Formatierungen an die Grenzen. Richtig: wenn du eine feste Seitenzahl einstellst, dann kannst du keine manuellen Umbrüche vornehmen. Entweder – oder.

Du kannst nicht zwei Zeilen miteinander „festhalten“ – wie in Word (praktische Sache! – Überschrift nicht am Ende der Seite).

Warum bin ich so sicher? Ich erstelle für einen Kunden „Risikoanalyse“. In Excel. Das heißt: das Formular dafür. Und er möchte die Risikoanalysenblätter als PDF gespeichert haben. Und mit ähnlichem Problem: die Zwischenunterschriften nicht am Ende der Seite. Also habe ich per Programmierung von oben nach unten „gesucht“: wo ist Überschrift? Wie weit bist du unten? Mache – wenn nötig einen Seitenwechsel darüber. Und DANN passe es auf eine Seite breit an (die Länge spielte keine Rolle).

Wenn bei dir die Seitenlänge EGAL wäre, könntest du ebenso vorgehen: Dokument durchschauen, möglicherweise manuelle Seitenumbrüche einfügen und DANN Seite einrichten: 1 Seite breit – bei Höhe nichts eintragen – das soll Excel berechnen.

Excel ist eine Tabellenkalkulation. Wie sagte mal ein Teilnehmer bei so einer Frage: „einen Tod musst du sterben!“. Und schau mal auf meine Seite – da gibt es einige Beiträge zu Fragen wie: Zeilenabstand definieren, hängende Einzüge, Buchstabenabstand …

bspw.:

https://www.excel-nervt.de/hat-das-bluemchen-einen-knick-war-der-schmetterling-zu-dick/

oder:

https://www.excel-nervt.de/ich-habe-so-viele-ecken-und-kanten-ich-glaube-ich-bin-ein-diamant/

sorry …

trotzdem: Liebe Grüße 

Rene

Ich wollte ja den Gartenzaun streichen. Aber da ich eine Lackdose-Intoleranz haben … nichts zu machen!

Gestern erreichte mich folgende Anfrage:

Wir haben ein sehr merkwürdiges Phänomen in einem Access-Programm. Und zwar lassen sich drei Reports plötzlich nicht mehr öffnen. Weder aus dem Programm, noch aus Access im Entwurfsmodus. Sie lassen sich auch auf keine Art exportieren. Es kommt die Fehlermeldung 2004. Nicht genügend Speicherplatz zum Ausführen der Operation.

Soweit so schlecht. Ich habe die Reports vor ca. 10 Tagen erstellt. Und täglich Sicherheitskopien gemacht. Also wollte ich die Reports von einer funktionierenden Version zurückholen. Aber in allen erstellten Sicherheitskopien kommt die gleiche Fehlermeldung. Selbst am Tag, als ich die Reports erstellt habe und sie nachweislich einwandfrei funktionierten. Auf dem Notebook von Herrn F. kommt der gleiche Fehler.

Wie kann es möglich sein, dass auch der gesicherte Stand nicht mehr funktioniert?

#####

Ich habe einige Kollegen gefragt. Die Vorschläge waren: Hardware prüfen, jedes Element der alten DB in die neue zu kopieren, DB komprimieren, Abfragen und Unterberichte prüfen, Datenbank dekompilieren, … Hilft alles nichts … alles probiert.

Kennst du das Phänomen? Kennst du eine Lösung?

Über eine Nachricht würde ich mich, beziehungsweise die Dame, sich freuen.

Seit wann haben wir eine Alarmanlage? – Du stehst auf der Katze!

„Eine üble Sache“, meint Peter.

Der „neue“ Kommentar wird auch auf gesperrten Arbeitsblättern zugelassen 🙁 Und verhindert das setzen eines alten Kommentares.

D.h. VBA Code welcher „alte“ Kommentare (Comments) setzt und dabei auf einen CommentThreaded in der Zelle trifft, hat große Probleme.

Danke an Peter für diesen Hinweis zu den Kommentaren und Notizen.

Auf der Waage den Bauch einziehen, macht dich auch nicht leichter! – Das nicht, aber ich kann die Zahlen lesen.

Ich bin erstaunt. Ich erstelle mit Excel-DNA eigene Funktionen für Excel (UDF = userdefined fuctions). Klappt gut, beispielsweise: Quersumme:

Das Ergebnis wird korrekt berechnet:

Jedoch: Wenn ich die Funktion ohne Klammer und ohne Parameter eintrage, erhalte ich:

Eine interne Fehlernummer? Ich weiß es nicht …

Wodka und Eis machen die Nieren kaputt. Rum und Eis die Leber. Whisky und Eis das Herz. Gin und Eis das Gehirn. Coca-Cola und Eis die Zähne. Das verdammte Eis ist TÖDLICH!!! Warne alle die du kennst, sie sollen um Gottes Willen das Eis weglassen!!!

Guten Abend Herr Martin,

ich freue mich sehr über Ihre unterstützende Rückmeldung.

Wenn ich Ihre Erklärung in dieser Mail richtig verstehe, kann man in der Notiz (ehem. Kommentar) also keine Bilder einbringen!?.

Falls doch, würde ich mich über ein kurze Anleitung sehr freuen.

Vielen herzlichen Dank schon jetzt für die Zeit, die Sie sich für mich nehmen.

Ich wünsche Ihnen noch einen schönen Sonntag

Vielen, vielen Dank Herr Martin, für Ihre Lösung.

Ich habe eigentlich nur den Fehler gemacht, in das geöffnete

Kommentarfeld hineinzuklicken und dann zu formatieren – klar,

zeigt es nur die Schrift-Formatierung an und keine eigentliche

Formatierung des gesamten Rahmens.

Anhand Ihres formatierten Feldes habe ich es dann begriffen.

Das hilft mir sehr weiter.

Deutsche stellen den Löwenanteil der Migranten Österreichs. Sollte sich die Entwicklung fortsetzen, muss damit gerechnet werden, dass in 50 Jahren alle Österreicher Deutsch sprechen.

Grrrr. Eine intelligente Tabelle. Ich möchte eine Zeile löschen. Aus Gewohnheit setze ich den Cursor in eine Zelle:

drücke [Strg] + [-] (und normalerweise bewege ich die Auswahl mit der Pfeiltaste nach unten. Was passiert? Es wird gelöscht, der Bildschirm wird nach oben verschoben, so dass ich nicht sehe, was gelöscht wurde:

Und richtig: die Spalte wurde gelöscht! Grrrr … Muss man höllisch aufpassen …. Grrrrr

Nach den ganzen Fleisch- und Wurstskandalen der letzten Monate und Jahre habe ich beschlossen nur noch Lebkuchen zu essen. Einen Lebkuchenskandal gab es noch nie!

Ich verwende beim Programmieren und auch oft in Excel gerne das Pipe-Zeichen (senkrechter Strich) „|“ ([Alt Gr] + [<] – auf der Schweizer Tastatur [Alt Gr] + [7]; [ALT] + 1 2 4) als Trennzeichen. Dabei bin ich ziemlich sicher, dass es in einem „normalen“ Text nicht vorkommt. Also beispielsweise:

Brummbär|Pimpel|Happy|Chef|Hatschi|Schlafmütz|Seppel

Umso erstaunter war ich über das Ergebnis der folgenden Formel:

Warum liefert die Formel

=ZÄHLENWENNS(Tabelle2[@[Jan 20]:[Dez 20]];"I")

den Wert 6. Ich habe eine Weile überlegen müssen, bis ich verstanden habe, dass der Buchstabe „I“ nicht „|“ ist – bei einigen Schriften sehe die beiden Zeichen sehr ähnlich aus. Vielleicht sollten wir – analog dem Türkischen – auch ein Punkt auf das große I setzen: İ.

Mal sollte öfter mal einen Mutausbruch haben.

Hallo Herr Martin,

vielen Dank für die schnelle Beantwortung meiner Frage.

Ich werde bei den großen Uhrzeiten versuchen in der Formel für den Durchschnittswert die Minuten zu kürzen so dass nur noch mit den Stunden gerechnet wird. Wie ich die Formel erstelle weiss ich noch nicht aber ich werde mal rumprobieren.

Hallo Herr Martin,

ich habe es mit Runden, Kürzen und Ganzzahl versucht und bekomme weiterhin einen Fehler #Wert. Ich denke, ich brauche hier doch noch einmal ihre Hilfe.

Hallo Herr J.,

wenn Sie in Excel etwas in eine Zelle eintragen, müssen Sie die Eingabe mit [Enter] abschließen. Der Grund: Excel prüft, ob Sie Text oder Zahl eingetragen haben: Text steht linksbündig, Zahlen rechtsbündig. Die Eingabe von 1oo oder 1,,50 oder 31-11-2020 wird zu Text und steht linksbündig. Auch: 1000000:30. Das ist keine Zahl; Excel kann damit nicht rechnen; die Funktion ISTTEXT kann das prüfen. Und diese müssen Sie auch verwenden.

Wenn die „zu lange Uhrzeit“ Text ist, müssen Sie sie als Text behandeln, sonst als Uhrzeit.

=WENN(ISTTEXT(B3);WERT(LINKS(B3;SUCHEN(„:“;B3)-1));STUNDE(B3))

Übrigens: Sie haben Ihre „Texte“ rechtsbündig formatiert …

schafft Abhilfe.

Hilft da?

schöne Grüße Rene Martin

Lass mich – ich muss mich da erst mal reinsteigern!

Hallo Herr Martin,

Ich bin dabei, Stunden zu analysieren, dabei bin ich auf ein Problem gestoßen.

Ich habe Stundenzahlen im 2, 3, 4 und 5 stelligen Bereich, die ich durch Mitarbeiterzahlen dividieren muss,

Obwohl mein Zahlenformat [hh]:mm bei den Stundenwerten nach meiner Ansicht korrekt ist, bekomme ich beim dividieren von 5 stelligen Stundenzahlen immer einen Fehlerwert. Könnten Sie mir bei meinem Problem helfen?

Hallo Herr J.,

werfen Sie mal einen Blick auf die Seite „Spezifikationen und Beschränkungen in Excel“:

https://support.microsoft.com/de-de/office/spezifikationen-und-beschr%C3%A4nkungen-in-excel-1672b34d-7043-467e-8e27-269d656771c3

Dort steht:

Maximale Uhrzeit, die eingegeben kann: 9999:59:59

Ich habe es ausprobiert:

=ZEIT(32000;0;0) -> funktioniert

=ZEIT(33000;0;0) -> liefert einen Fehler

Wie komme ich darauf? Ich habe Ihre Uhrzeiten mit dem Zahlenformat Standard formatiert. 1490:18 -> klappt; 11773:26 -> nichts passiert.

Schade!

Vor einigen Jahren hatte ich einen Teilnehmer in meiner Excelschulung; ein Mitarbeiter des Katasteramts der Stadt München, der Gebäudedaten eintragen wollte. Ein Gebäude in Schwabing wurde am 01.01.1875 eingeweiht. Keine Chance in Excel.

Schade, war meine Antwort.

schöne Grüße

René Martin

Zum Glück war Halloween. So konnte ich das alte abgelaufene Naschzeugs an die dicken Nachbarkinder verteilen.

Verblüffend! Kennen Sie das? Ich habe ein Tabellenblatt mit einer intelligenten Tabelle. In der Arbeitsmappe wird ein Name oder mehrere Namen definiert, die Bezug auf diese intelligente (dynamische, formatierte, strukturierte) Tabelle nehmen:

Auf einem zweiten Tabellenblatt wird mit einer Formel (oder einer Datenüberprüfung) Bezug auf die Tabelle genommen:

Wird nun dieses Tabellenblatt dupliziert, werden auch die Namen dupliziert – sie liegen nun als Arbeitsmappennamen und Tabellenblattnamen vor:

Dupliziert man nun ein weiteres Mal das Duplikat, erhält man die Frage, „wohin mit den Namen“:

Der Name ist bereits vorhanden. Klicken Sie auf „Ja“, um diese Version des Namens zu verwenden, oder klicken Sie auf „Nein“, um die Version, die Sie verschieben oder kopieren möchten, umzubenennen.

Ich möchte den Namen nicht verschieben oder kopieren!

Und dann? Ist der Name drei Mal vorhanden … einmal als Arbeitsmappenname und zwei Mal als Tabellenblattname.

Kann mann mit Männergrippe schon Pflegestufe 3 beantragen?

Erstaunlich. Ich programmiere eine Access-Datenbank, die Daten nach Excel exportiert und aufbereitet.

Die Excel-Datei liegt im XLS-Format vor und wird am Ende als XLSX gespeichert. Ich muss die Liste nach vier Kriterien sortieren. Deshlab verwende ich den „neuen“ Sortierbefehl, der seit Excel 2007 vorhanden ist:

i = xlBlatt.Range("I1").CurrentRegion.Rows.Count
xlBlatt.Sort.SortFields.Clear
xlBlatt.Sort.SortFields.Add2 Key:=xlBlatt.Range("I2:I" & i), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
xlBlatt.Sort.SortFields.Add2 Key:=xlBlatt.Range("J2:J" & i), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
xlBlatt.Sort.SortFields.Add2 Key:=xlBlatt.Range("M2:M" & i), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
xlBlatt.Sort.SortFields.Add2 Key:=xlBlatt.Range("K2:K" & i), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With xlBlatt.Sort
        .SetRange xlBlatt.Range("I1").CurrentRegion
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
End With
    ' -- sortiere, damit man zählen kann

Klappt. Klappt bei meinem Excel in Microsoft 365. Allerdings beim Kunden, der Office 2016 einsetzt – leider nicht:

Schade! Also verwende ich den „alten“ Sortierbefehl. Da er jedoch nur drei Sortierkriterien zulässt muss ich zwei Mal sortieren:

xlBlatt.Range("A1").CurrentRegion.Sort Key1:=xlBlatt.Range("J1"), Order1:=xlAscending, Key2:=xlBlatt.Range("M1"), Order2:=xlAscending, Key3:=xlBlatt.Range("K1"), Order3:=xlAscending, Header:=xlYes

xlBlatt.Range("A1").CurrentRegion.Sort Key1:=xlBlatt.Range("I1"), Order1:=xlAscending, Header:=xlYes

Geht doch!

Vor Kurzem habe ich im Fitnessstudio einen gesehen, der hat tatsächlich eine Wasserflasche in den Pringles-Halter am Laufband geklemmt!

Im Frühjahr habe ich für einen Kunden ein kleines Projekt erstellt. Es geht darum, bestimmte Informationen in Visio einzusammeln und mit VBA nach Excel zu schreiben. Einige Stunden Programmierarbeit; das Projekt lief. Ich habe getestet, der Kunde hat getestet – kein Fehler.

Letzte Woche – nach einem halben Jahr – kam eine Mail, dass das Programm an einer Stelle nicht mehr korrekt rechnen würde. Ich war erstaunt und schaute es mit an. Tatsächlich: drei Fehler(chen) habe ich gefunden:

Fehler I

For i = 1 To vsSeite.Shapes.Count
If vsSeite.Shapes(i).CellExists("Prop._VisDM_ID", False) = True Then
intTemp = WelchesRack(vsSeite.Shapes(i))
For k = 1 To vsSeite.Shapes(i).Section(visSectionProp).Count - 1
[...]

Der Denkfehler ist Folgender: Das erste Shape hat die Nummer 1. Die erste Section allerdings die Nummer 0. Das heißt: In der Zeile

For k = 1 To …

beginnt die Zählung beim zweiten Element! Diese Liste ist nullbasiert!

Fehler II

Ich sammle Werte in einer Liste ein, die folgendermaßen aufgebaut ist:

Europa|Schweiz|Bern|42|12|33|9|4711|||

Einige Werte werden erhöht:

For k = 1 To vsSeite.Shapes(i).Section(visSectionProp).Count - 1
If vsSeite.Shapes(i).Section(visSectionProp).Row(k).Cell(2).FormulaU = """" & strTeil & """" Then ' 2 = Label
If vsSeite.Shapes(i).Section(visSectionProp).Row(k).Cell(0).FormulaU = "" Then
lngTempWert = 0
ElseIf IsNumeric(Replace(vsSeite.Shapes(i).Section(visSectionProp).Row(k).Cell(0).FormulaU, """", "")) = False Then
lngTempWert = 0
Else
lngTempWert = Split(strBerechnung(intTemp), "|")(j) + CLng(Replace(vsSeite.Shapes(i).Section(visSectionProp).Row(k).Cell(0).FormulaU, """", ""))
End If

Der Denkfehler: wenn der einzufügende Wert nicht korrekt ist, darf ich nicht eine 0 einfügen, sondern den alten Wert drinlassen. Also ich darf nicht schreiben:

lngTempWert = 0

sondern:

lngTempWert = Split(strBerechnung(intTemp), "|")(j)

Fehler III

Ein Codeblock sieht so aus:

strTemp = vsSeite.PageSheet.Cells("User.Berechnung" & (k + 1)).ResultStrU("")
If strTemp Like "*|*|*" Then
strTemp0 = Split(strTemp, "|")(0): strTemp1 = Split(strTemp, "|")(1): strTemp2 = Split(strTemp, "|")(2)
If strTemp0 <> "" And strTemp1 <> "" And IsNumeric(strTemp2) Then
strTempWert = Split(strBerechnung(i), "|")(k + 1)
dblBerechneterWert = Berechnung(CDbl(strTempWert), strTemp0, strTemp1, CDbl(strTemp2))
Call ShapeEinrichten(vsShapeUnten, Format(dblBerechneterWert, "0"))
If blnExcel = True Then
xlBlatt.Cells(intExcelZeile + 1, intAnzahlDaten + k + 1).Value = dblBerechneterWert
End If
End If
End If

Und für den zweiten Block – etwas versetzt:

strTemp = vsSeite.PageSheet.Cells("User.Berechnung" & (k + 5)).ResultStrU("")
If strTemp Like "*|*|*" Then
strTemp0 = Split(strTemp, "|")(0): strTemp1 = Split(strTemp, "|")(1): strTemp2 = Split(strTemp, "|")(2)
If strTemp0 <> "" And strTemp1 <> "" And IsNumeric(strTemp2) Then
strTempWert = Split(strBerechnung(i), "|")(k + 1)
dblBerechneterWert = Berechnung(CDbl(strTempWert), strTemp0, strTemp1, CDbl(strTemp2))
Call ShapeEinrichten(vsShapeUnten, Format(dblBerechneterWert, "0"))
If blnExcel = True Then
xlBlatt.Cells(intExcelZeile + 1, intAnzahlDaten + intGruppe1 + k + 1).Value = dblBerechneterWert
End If
End If
End If

Sehen Sie es? Das ist ein „klassischer“ Kopierfehler. Gleicher Block; muss ein bisschen abgeändert werden – Variable ausgetauscht oder Wert erhöht. Hier wird der Wert erhöht: Aus k + 1 wird k + 5:

strTemp = vsSeite.PageSheet.Cells("User.Berechnung" & (k + 5)).ResultStrU("")

Allerdings: die zweite Korrektur habe ich übersehen:

strTempWert = Split(strBerechnung(i), "|")(k + 1)

muss heißen:

strTempWert = Split(strBerechnung(i), "|")(k + 5)

Und warum ist das lange Zeit nicht aufgefallen? Weil diese Fälle (die Verarbeitung der ersten Sektion oder die Benutzung des zweiten Block) nicht verwendet wurden …

Da leckt man einmal das Messer ab und alle gucken komisch! – Jens, 32, Chirurg.

Excelstammtisch. Wir diskutieren über Histogramme, Häufigkeitsverteilung und Stabdiagramme. Karin stellt eine interessante Frage: sie hat eine Reihe von Daten mit einem nicht-äquidistanten Abstand. Zu diesen Daten hat sie Werte. Wie kann sie diese in einem Diagramm darstellen?

Sofort fallen mir Datenreihen ein, die Datumsangaben verwenden. Man kann entweder die X-Achse als Datumsachse formatieren (also so tun, als wären die Jahreszahlen Datumswerte, das heißt: die Zahl 1985 wird als 07.06.1905 interpretiert; 2019 als 11.07.1905).

Oder man wählt den Diagrammtyp Punkt (XY):

Karin möchte Säulen haben. Auch kein Problem, oder? – Also: Datumsachse:

Allerdings: Ihre x-Werte liegen nicht im ganzzahligen Bereich, so dass sie als Tage interpretiert werden können, sondern liegen im Dezimalbereich. Hier scheitert die Datumsachse:

Schritt 1: Das Säulendiagramm wird erstellt:

Schritt 2: Datumsachse:

Die einzige Lösung, die wir gefunden haben, besteht darin, die Werte in den ganzzahligen Bereich „zu heben“ – in unserem Beispiel mit 1.000 zu multiplizieren. Dann klappt es:

Jahrelang wurde Kindern beigebracht für schönes Wetter alles aufzuessen. Und was haben wir jetzt? Dicke Kinder und Hitzewelle!

Erstaunlich! Aber erklärbar!

Ich erstelle eine Reihe an Werten, mit denen ich weiterrechne – beispielsweise „+“:

Ich lösche zwei Zeilen. Der Fehler #BEZUG! ist die Folge:

Ich kopiere diese fehlerhafte Zeile an einen andere Stelle und füge sie als Inhalt ein:

Ich lösche mit dem Ersetzen Befehl, indem ich #BEZUG! durch „nichts“ ersetze:

Klappt – alles weg. Sowohl in den Formeln (=#BEZUG!+#BEZUG!+D1) als auch in den Zellen

Ich zeichne diese Aktion mit dem Makrorekorder auf:

Der Code:

    Cells.Replace What:="#BEZUG!", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2

Das Ergebnis:

Nichts wird gelöscht! Also doch per Hand. Beispielsweise so:

Sub Bezug_Loeschen_02()
     Dim xlZelle As Range
     For Each xlZelle In ActiveSheet.UsedRange
        If xlZelle.Text = "#BEZUG!" Then
           xlZelle.ClearContents
       End If
    Next
End Sub

Der Grund ist verständlich: Der Suchen- und Ersetzen-Befehl ist sehr mächtig. So wird auch in „26.10.2020“ der Wert „2020“ gefunden, obwohl in der Zelle eigentlich der Wert 44.130 steht. Eben: #BEZUG! ist eigentlich ein Fehlerwert (und kein Text). Er steht ja auch in der Mitte der Zelle. Suchen und ersetzen „übergeht“ diesen Datentyp; der VBA-Befehl Replace sucht (und ersetzt) einen Text (was nicht in der Zelle steht).

Und wer nun fragt: „Wer braucht denn so etwas?“ Letzte Woche habe ich eine Datei mit fehlerhaften Bezügen bekommen. Der Anwender hat ein Blatt von einer Datei in eine andere kopiert. Ich wollte diese nichtssagenden Fehler mit einem Makro „rausputzen“ – Klick auf Button sollte die Datei „bereinigen“.

Und so habe ich festgestellt, dass der Replace-Befehle nicht geeignet ist.

Weiß jemand von euch, auf welcher Seite in der Bibel man das Rezept findet für das Umwandeln von Wasser in Wein?

Ich erstelle gerade benutzerdefinierte Funktionen (UDF) für Excel mit Visual Studio. Dazu habe ich das Projekt Excel-DNA eingebunden. Ich erstelle eine Klasse und wundere mich, warum ich nicht das aktuelle Framework habe. Excel-DNA verlangt ein Framework ab 4.3:

Es lässt sich auch nicht nachinstallieren.

Ich habe lange gesucht, bis ich es gefunden habe. Ich darf nicht die .NET Standard Klassenbibliothek verwenden:

Dort sind die aktuellen Frameworks nicht vorhanden:

Sondern ich muss auf die korrekte Windows Desktop Klassenbibliothek zurückgreifen:

Dann klappt es:

Oder auch mit dem älteren Visual Studio. Diese nicht:

Sondern diese:

Verwirrend! Und dann funktionieren die UDFs:

Hast du schon wieder mein Deo benutzt? – Ich bin Robin Hood! Ich stehle und verteile es unter den Armen!

Ups, das ist mir noch nie aufgefallen! Warum? Weil ich SO nicht arbeite.

Aus einer Datenquelle wird mit PowerQuery eine Abfrage gestartet. Auf diese Liste wird eine Formel aufgesetzt, allerdings nicht in der Schreibweise

=KKLEINSTE(Artikel[Einzelpreis];Artikel[@Einzelpreis])

rechnet, sondern in der Bezugsschreibweise:

=KKLEINSTE($F$2:$F$78;ZEILE(A1))

Die Originaldatenquelle ändert sich – sie wird kleiner. Die Verbindung wird aktualisiert:

Die Folge: Die Formel wird angepasst, beispielsweise in:

=KKLEINSTE($F$2:$F$15;ZEILE(A1))

Fehlermeldungen sind die Folge.

Ändert sich die Liste erneut und wird nun länger, werde diese Bezugsfehler natürlich nicht korrigiert …

Fehler in der Berechnung sind die Folge.

Heißt: Wenn schon (intelligente/formatierte/dynamische) Tabellen – dann bitte die Bezüge auf diese Tabellen in Tabellenschreibweise und nicht in Bezugsschreibweise! Sonst gibt es Ärger!

Die einen gehen nachts feiern. Andere haben nachts wilden Sex. Und ich lade nachts mein Handy auf.

Seit ein paar Tagen habe ich in Microsoft 365 die neue Funktion LET. Damit kann man Formeln unter einem Namen ablegen, um sie (mehrmals) wieder zu verwenden. Beispielsweise so:

=ZELLE(„dateiname“)

oder besser:

=ZELLE(„filename“)

liefert den Namen und Speicherort der aktuellen Datei:

Benötigt man nun den Pfad, kann man das Zeichen „[“ suchen (oder finden):

=SUCHEN(„[„;D3)

liefert in unserem Beispiel 19. Bis ein Zeichen vor diesem Zeichen kann von links der Text herausgelöst werden:

=LINKS(D3;D4-1)

liefert hier: D:\Eigene Dateien\

Oder zusammengefasst:

=LINKS(ZELLE(„dateiname“);SUCHEN(„[„;ZELLE(„dateiname“))-1)

Darin wird nun zwei Mal die Funktion ZELLE(„dateiname“) verwendet. Man kann sie an einen Namen in der Funktion LET übergeben, beispielsweise an „Dateiname“:

=LET(Dateiname;ZELLE(„dateiname“);LINKS(Dateiname;SUCHEN(„[„;Dateiname)-1))

Allerdings: Das Ergebnis ist länger als die vorherige Funktion. Also ein kürzerer Funktionsname:

=LET(DN;ZELLE(„dateiname“);LINKS(DN;SUCHEN(„[„;DN)-1))

Das erhöht allerdings nicht gerade die Lesbarkeit!

Fazit: LET ist sicherlich eine nützliche und praktische Funktion. Allerdings kommt sie wohl erst bei sehr langen Formeln zum Einsatz. Und auch nur dann wenn Formelteile sich mehrmals wiederholen. Legt man diese Teil unter einem (langen) sprechenden Namen ab, wird das Ergebnis weder kürzer noch gut lesbar. Ich fürchte, sie wird wohl in den wenigsten Berechnungen in Excel in Microsoft 365 Einzug finden …

Erlkönig 2.0: Mein Vater, mein Vater, jetzt warte doch mal – ich hab hier im Wald kein Mobilfunksignal.

Lieber René,

mein Name ist Irmi, und ich bin begeisterte Leserin deiner Website. Ich wende mich an Dich, weil ich eine besondere Excel-Herausforderung habe und ich auch nach tagelanger Recherche immer noch nicht zu einer Lösung gekommen bin. Du hast bestimmt viel zu tun, vielleicht hast du aber einen schnellen Gedanken dazu, Du würdest mir damit sehr weiterhelfen.

Ich hätte gerne einen Linienchart, in dem Nullwerte (=0) als Lücken angezeigt werden und nicht so unschön auf den die x-Achse kracht, sobald ein Wert mal Null ist. Gibt es dazu eine einfache Lösung?

Habe schon einiges probiert, auch mit einer Hilfstabelle und die Nullwerte als leere Zellen anzeigen lassen, hat nicht funktioniert.

Wäre Dir wirklich sehr dankbar, wenn Du eine Idee hättest!

Ganz liebe Grüße Irmi

Hallo Irmi,

du musst die Nullwerte in den Fehlerwert #NV umwandeln (entweder mit einer WENN-Funktion oder durch suchen und ersetzen) – dann klappt es.

Excel kann zwar Leerzellen auf verschiedene Arten darstellen, aber leider nicht den Wert 0. Der ist halt die Zahl 0.

Schau mal:
https://www.excel-nervt.de/warum-haben-24-stunden-tankstellen-schloesser-an-den-tueren/

Hilft das?

Liebe Grüße :: Rene

Hallo René,

klasse, das hat geholfen! Super, ich hab tagelang darüber nachgegrübelt. Großes Dankeschön! 🙂

Ich bin wirklich begeistert, dass Du mir sofort geantwortet hast, nicht nur, dass ich wirklich eine Lösung dafür gebraucht hab, sondern dass Du mir einfach so hilfst, ohne mich zu kennen. Find das so richtig cool von Dir! Nochmals ganz großes Dankeschön 🙂 Weiterhin viel Erfolg und noch einen schönen Abend 🙂 Liebe Grüße Irmi

Bei meinem Heiligenschein blinkt schon wider die Inspektionsleuchte.

Ach, wie dumm. Eine Fehlermeldung in meinem VBA-Projekt:

Der Grund? Ich lese den Value der Zelle aus. Die Fehlermeldung #NV ist allerdings kein Value. Mit der Eigenschaft „Text“ kann man sie abfangen.

Und wie kommt diese Fehlermeldung nach Excel?

Nun – die Daten wurden aus einer (Access-)Datenbank gezogen. Diese wiederum holt sich die Informationen von Visio. Und dort wurde – durch ungeschicktes Kopieren und Einfügen der Fehler #NA erzeugt. Er wurde in die Datenbank als Text eingetragen – allerdings bei Excel ist ein Fehler die Folge.

Sechs Jahre lang habe ich keinen Alkohol getrunken, keine Zigaretten geraucht, keinen Sex gehabt. Dann wurde ich eingeschult.

Witzig: das Spreadsheet News Network erklärt humorvoll und clever den Fehler, der dem britischen Gesundheitsamt unterlaufen ist, bei dem Tausende von Covid-19-Testergebnisse „verloren“ gingen.

www.youtube.com/watch?v=zUp8pkoeMss&feature=youtu.be&fbclid=IwAR1tGHl5Azo0_lIiDjZXbnTbzTesAJZ0MmG5C_KWSiFo1DkHAtSIV76O4NA

Danke an Olaf Musch für diesen Hinweis.

Mir ist egal ob ich in die Hölle oder in den Himmel komme. Ich habe auf beiden Seiten Freunde.

Word ist manchmal auch recht anstrengend.

In der letzten Word-Schulung erkläre ich wie man ein Formular mit Eingabefeldern erstellt.

Ich erkläre, dass man die Felder auf ein gültiges Datum begrenzen kann:

Wir testen:

Prima! 2. Test:

Der dritte Test funktioniert. Man kann das Datum auch in der Form 1-10-20 (wie in Excel) eingeben:

Allerdings aus der Eingabe 31-11-20 wird:

Und jetzt das kleine Erstaunen: Verboten sind Angaben wie:

1–1
1,,1
31.11.2020
1o.1o.2o
l0.l0.2020

Jedoch wird umgewandelt:

1,1 wird zu 01.10.2020
31-11-20 wird zu 20.11.1931
1-1-1-1 wird zu 01.01.2001

Noch erstaunlicher ist die Begrenzung auf Zahlen:

Während Texte stillschweigend gelöscht werden (ohne Warnhinweis!) wird konvertiert:

1,,50 wird zu 0,01 € (5,
ebenso: 1,0,5
1.50 wird zu 150 €
1-50 wird zu 150 €
1oo zu 1,00 €
l00 zu 0,00 €

Sehr seltsam. Sehr inkonsequent und inkonsistent. Vor allem das stillschweigende Löschen von falschen Eingaben kann dazu führen, dass ein Formular nicht korrekt ausgefüllt wird.

Hör auf damit, wir müssen jetzt seriös wirken!

Ich habe eine Weile gebraucht, bis ich verstanden habe. Ich lese in der Mail:

Im Bereich I. Aktivitäten habe ich noch eine Auswertung gefunden, um fehlende Zeilen zu ergänzen:


durchschnittl. erledigte Besuchskontakte (pro Tag & Betreuer): oben angeführtes Excel Zeile 7 Spalte AN => für die Gesamtliste

und weiter unten:

Aus folgenden Excel können nachstehende Zeilen befüllt werden:



JC-/Studentenkonten Stk: (die Summe aus Jugendkonten und Studentenkonten )

Dann verstehe ich. Sie verwendet Lotus Notus Notes als Mailprogramm. Dort werden die Dateien IN die Mail eingefügt. In meinem Outlook werden die Anlagen oben angezeigt. Immerhin – in der Reihenfolge, in der sie in die Mail eingefügt wurden. Und so kann ich auch leicht die Datei finden, wenn sie schreibt:

Aus folgenden Excel können nachstehende Zeilen befüllt werden:

Na klar, kann man zum Frühstück schon Pralinen essen. Steht doch drauf: „Moin, Cherie“

Hallo Rene,

bin gerade ein wenig verwirrt aufgrund der Formel Nettoarbeitstage.INTL, vermutlich liegts bei mir und nicht an der Formel.

Ich nehme hier einfach mal den 12.10.2020 als Ausgangs- und den 19.10.2020 als Enddatum. Die Formel in E2 ist =NETTOARBEITSTAGE.INTL(A2;B2;11), mit dem Parameter 11 möchte ich die Sonntage ausklammern.

In D2 steht lediglich =TAGE(B2;A2).

Müssten sich die beiden Werte nicht eigentlich unterscheiden, da ein Sonntag dazwischen liegt?

Wenn ich das Ausgangsdatum weiter in die Vergangenheit setze, dann gibt es eine größere Diskrepanz zwischen den beiden Formelergebnissen, z.B. beim 01.09.2020

Was mache ich denn falsch, weißt du das?

Viele Grüße, Dominic

Moin Dominic,

schau mal:

TAGE rechnet wie die Differenz wie DATEDIF: Ende – Anfang. Klar: 19 – 12 = 7.

NETTOARBEITSTAGE und NETTOSARBEITSTAGE.INTL ist die Anzahl der Arbeitstage in einem Datumsbereich außer Sa/So (NETTOARBEITSTAGE) oder außer dem gewählten Tag / den gewählten Tagen.

Heißt: wenn Anfang und Ende gleich sind liefert TAGE immer 0, NETTOARBEITSTAGE meistens 1 – eben: ein Tag liegt in diesem Zeitraum.

Für deinen größeren Zeitraum ist das auch korrekt:

Liebe Grüße

Rene

Pflanze im Internet bestellt. Email erhalten: „Ihre Bestellung ist eingegangen.“ Neue bestellt.

Wer mit Datenbanken arbeitet, der würde in dieser Liste sofort eine n:m-Beziehung erkennen: einer Rebsorte sind mehrere Länder zugeordnet. In einem Land werden es mehrere Rebsorten angebaut.
(zugegeben: das Original-Beispiel, das mir die Teilnehmerin zeigte waren Firmendaten aus dem Bereich firmeninterne Weiterbildungen – aber die Struktur war die gleiche)

Auch wenn die Länder durch einen Umbruch in eine Zelle eingefügt wurden, kann man sie mit dem Assistenten „Text in Spalten“ oder mit PowerQuery trennen.

Allerdings sollen nun Zuordnungen zu den Ländern getroffen werden. Das heißt: in einer Zeile steht ein Land oder mehrere Länder NEBENEINANDER.

Zum Glück stellt PowerQuery den Assistenten entpivotieren zur Verfügung:

Damit werden nicht nur die Zeilen n Mal wiederholt, sondern die zugehörigen Länder stehen auch UNTEREINANDER, was zur Weiterverarbeitung (SVERWEIS oder was auch immer) hervorragend geeignet ist:

Tipps gegen Schimmel im Badezimmer: Langsam mit einer Karotte ins Bad gehen. Dann zum nächsten Pferdehof locken.

Sind mehrere Texte in einer Zelle untereinander geschrieben, kann man sie mit dem Assistenten Daten / Text in Spalten trennen.

Und die Blitzvorschau? Ein Versuch ist es wert:

Sieht gut aus – jedoch:

Okay zu lang. Na ja! Und der zweite Wert? Versagt, weil in der zweiten Zeile nur ein Wert steht. Die Anzahl der Werte, die sich untereinander befinden, ist unterschiedlich groß:

Auf ein Neues: PowerQuery. Seit einigen Versionen stellt PowerQuery – anders als der Assistent „Text in Spalten“ als Trennzeichen den Zeilenumbruch zur Verfügung:

Splitter.SplitTextByDelimiter(„#(lf)“

Klappt! Klappt hervorragend!

Können Sie M? Da wir wissen, dass der Zeilenumbruch in Excel dem Wert 10 entspricht hätte man auch verwenden können:

Character.FromNumber(10)

Also:

„Split Column by Delimiter“ = Table.SplitColumn(Source, „Anbauländer“, Splitter.SplitTextByDelimiter(Character.FromNumber(10), QuoteStyle.Csv), …

Klappt auch:

Wir müssen ja sowieso denken. Warum dann nicht gleich positiv?

Irgendwie doof.

Mit der Tastenkombination [Strg] + [J] kann man in den Dialogen „Suchen“ und „Text in Spalten“ ein Zeichen erzeugen, das den manuellen Zeilenumbruch repräsentiert. Ein blinkender Punkt ist die Folge. Allerdings lässt der Assistent „Text in Spalten“ nur ein Zeichen zu, so dass man nicht mehr in das Eingabefeld klicken kann und ein anderes Zeichen eintragen kann, wenn der Assistent ein zweites Mal Daten trennen soll:

Erste Lösung: in das Eingabefeld klicken. Das Zeichen befindet sich nicht vor dem Cursor, sondern dahinter. Also mit der Taste [entf] löschen und nicht mit Backspace (Rückschritt)

Zweite Lösung: „mit Anlauf“. Man kann das Kontrollkästchen „Andere“ aktivieren und dann mit der Tabulatortaste in das rechts neben stehende Textfeld springen.

Ich finde den blinkenden Punkt ein wenig unglücklich gewählt als Repräsentant des Zeilenumbruchs. Man sieht ihn schlecht oder gar nicht.

Neben dem Assistenten „Text in Spalten“ – gibt es noch weitere Möglichkeiten am Zeilenumbruch zu trennen? Morgen mehr …

Lange Rede. Gar kein Sinn.

Immer mehr Medien berichten, „wie ein Excel-Fehler 16 000 britische Corona-Fälle verschwinden ließ“:

https://www.heise.de/news/Excel-Datei-voll-16-000-Diagnosen-fuer-Covid-19-in-Grossbritannien-nachgemeldet-4920380.html?fbclid=IwAR2JItI853Rg41P4–X1A-0XZTPnUabpEdZ9z0nSYF-10B9F4VeLHnQuXso

oder:

https://www.sueddeutsche.de/digital/excel-microsoft-coronavirus-grossbritannien-1.5056482?fbclid=IwAR3NT0BO7GsqHtXgclkN2gb7jf3hZrqVV129VQKifRAG61CMx3DHsZhrFeI

oder:

https://t3n.de/news/excel-verursacht-corona-panne-1326375/?

oder:

https://www.faz.net/aktuell/feuilleton/pandemie-datenpanne-in-england-die-tabelle-ist-voll-16989088.html?fbclid=IwAR1W0MHXBshgE5vXZMv9UM-zuga68DVkfA2jm_qSA8TxxwGRCMeab9ve3BQ

Die Häme und den Spott brauche ich nicht zu wiederholen.

Ein Dankeschön an Bettina Berger und Andreas Thehos, die mich darauf aufmerksam gemacht haben.

Suche Disneyprinzen, dessen Gesang Kleintiere inspiriert meine Wohnung zu putzen.

Daten sollen verknüpft werden; Daten sollen getrennt werden:

In mehreren Zellen befinden sich durch einen Zeilenumbruch getrennte Daten. Sie sollen in eigene Spalten geschrieben werden. Man kann den Zeichenumbruch (ZEICHEN(10)) durch ein anderes Zeichen ersetzen, das dann im Assistenten Daten / Text in Spalten verwendet wird.

Oder – die Teilnehmerin, die mir diese Frage stellte, kannte die Antwort – man kann die Tastenkombination [Strg] + [J] nicht nur im Suchen-Dialog, sondern auch in diesem Assistenten verwenden.

Angezeigt wird (auch hier) ein blinkender Punkt. Er repräsentiert das Zeichen für den Zeilenumbruch. So kann man auch die Daten trennen:

Diese Lösung hat allerdings einen klitzekleinen Haken, den ich morgen verraten werde.

Alkoholtest gemacht – vertrage alle gängigen Sorten.

Es fing ganz harmlos an. Excelschulung. Genauer: vor der Excelschulung. Eine Teilnehmerin rief mich zu sich. Sie hat eine Liste, bei der Daten mit einer anderen Liste verknüpft werden sollen. Nichts leichter als !?!

Die „Anbauländer“ (Spalte H) sollte mit einer anderen Liste verknüpft werden. Ein genauer Blick auf die Daten lieferte folgendes Ergebnis: In Spalte H stand nicht nur ein Land, sondern manchmal eines, manchmal mehrere. Untereinander …

Mein erster Gedanke war: man kann den Zeilenumbruch durch ein anderes Zeichen ersetzen und dann damit trennen. Dass der Zeichenumbruch in Excel der Zahl 10 entspricht, weiß man, oder kann man leicht ermitteln mit:

=CODE(TEIL(H2;LÄNGE(„Deutschland“)+1;1))

Also wird gewechselt:

Anschließend markiert, kopiert und mit Daten / Text in Spalten getrennt. Voilà.

Die Teilnehmerin hatte eine bessere Idee. Ich verrate diesen Vorschlag morgen.

Am Ende der Nerven ist oft noch zu viel Kind übrig.

Hallöchen René,
Ich habe eine Frage zu Excel, ich hatte eine adresstabelle mit Kunden aufgelistet und habe die schon sortiert und alle Kunden vor 2017 aussortiert, nur hat die Liste jetzt aber vorne die Zahlen nicht aktualisiert.
Heisst an erster Stelle steht nicht wie gewohnt die „1“ sondern die „16“ gibt es eine Funktion um die durchnummerierung zu erneuern?
Vielen Dank im Voraus
Julie

Hallo Julie,
du willst die Liste neu nummerieren lassen, oder? Die Antwort: Entweder die schreibst die erste Zelle eine 1, in die zweite eine 2, markierst beide und ziehst nach unten:

Oder du verwendest die Funktion ZEILE() – sie liefert die Zeilennummer. Damit nun in A2 die Zahl 1 steht, schreibst du: =ZEILE()-1

Dann kann man ganz links die Zahlen nicht ändern?
Haben die Tabelle jetzt einfach kopiert und neu eingefügt in einer leeren Liste.

Ach – du willst die Zeilennummern ändern? – Das geht leider nicht!
Gegenfrage: warum willst du die Nummern ändern? Jede Zelle hat einen festen Namen, beispielsweise C4, A3, R47 …

Nun – ich will wissen, wie viele Namen noch in der Liste stehen.

Ah, verstanden. Na – da kannst du entweder nach dem Filtern unten links in der Statuszeile nachschauen – dort wird die Anzahl der gefilterten Daten angezeigt:

oder setzt unter (oder neben oder über) die Tabelle die Funktion TEILERGEBNIS – sie zählt nur die sichtbaren Zellen, wenn du den Parameter 2 oder 3 verwendest:

Hormone – ab in die Ecke! Und nachdenken, was ihr da gerade gemacht habt!

Excelschulung. Ich zeige Tastenkombinationen. Mit [Strg] + [A] markiere ich einen zusammenhängenden Bereich:

Mit [Umschalt] + [Strg] + [#] „springe“ ich die vier Ecken des Bereiches an. Warum? So kann ich schnell berausfinden, ob Leerzeilen oder Leerspalten vorhanden sind; ob sich Teile der Liste darunter oder daneben befinden – getrennt durch eine leere Spalte oder Zeile.

Eine Teilnehmerin meldet sich und sagt, das in ihrem Bereich plötzlich nur Datumsangaben zu sehen sind:

Ich schmunzle und antworte: „Sie müssen [Umschalt] + [Strg] + [#] drücken. Sie haben nur [Strg] + [#] gedrückt! Das formatiert die Zellen von Zahlenformat „Datum“.

Mein Mann macht jetzt Home-Office. Ich stelle fest: erstens: er kann sprechen. Zweitens: er kann nett sein!

Ich habe ja schon mehr als einmal über verbundene Zellen geschimpft. Ich tue es heute mal wieder!

Ich bin gestern beim VBA-Programmieren (mal wieder) über verbundene Zellen gestolpert. Ich muss wissen, wie viele Spalten die Liste hat (weil ich in Zeile 4 den Begriff „Summe“ suche).

Der Befehle
MsgBox ThisWorkbook.ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Column
liefert 1!
Allerdings
MsgBox ThisWorkbook.ActiveSheet.Range("A1").CurrentRegion.Columns.Count
liefert 9! Ebenso:
MsgBox ThisWorkbook.ActiveSheet.UsedRange.Columns.Count

Ein Tag ohne „excel-nervt“ ist zwar möglich – aber wer will das schon?

Frage an den Experten: „Bei einigen der erstellten Exceltools hätte ich gerne den VBA Code geschützt. Aber leider ist  der VBA Codeschutz sehr schwach, so dass ich es unterlassen habe und auch keine externen Programme hierfür erworben habe. Einem Kunden eine Exceldatei als .exe zu übergeben ist wohl nicht gerade das Richtige 😉

Letzthin habe ich aus Neugierde den Exactplanner zu Testzwecken heruntergeladen. Und wie ich bin, schaue ich mir immer zuerst mal an, ob die Datei auch VBA Code hat und wie der aussieht.

Aber diesmal habe ich eine Überraschung erlebt.

«Das Projekt kann nicht angezeigt werden!»

Oder war es «das Modul kann nicht angezeigt werden»?

Leider kann ich keinen Screenshot zeigen, da meine Testzeit abgelaufen ist.

Jedenfalls stand im Modulname ManInWeb. Nach einigem Googlen fand ich zwar heraus, dass du ManInWeb bist, aber nicht, wie man VBA-Projekte narrensicher schützen kann.“

Hallo,

Ja, ich hatte eine Zeit lang meine VBA-Projekte geschützt, wo dann erscheint „Das Projekt kann nicht angezeigt werden.“
Das ist eigentlich ganz einfach: Unviewable+ ist das Stichwort. Findest Du hier:

https://www.spreadsheet1.com/unviewable-vba-project-app-for-excel.html

Kostet allerdings etwas. Ich hatte damals an der Beta und den Übersetzungen mitgewirkt. Mittlerweile kann zwar Unviewable+
auch geknackt werden, der Schutz ist aber immer noch so hoch, dass in geschätzt 99 % der Fälle keiner weiss, wie. Geht auch
nur über Zusatztools und nicht den DPB-Trick. Der Vorteil von Unviewable+ ist, dass es keiner externen Tools für die geschützte
Datei mehr braucht, also z.B. das Erstellen von Exe-Dateien usw. nicht nötig ist.

Jep, ich bin in Foren und generell mit dem Nicknamen „Maninweb“ bekannt. Fun fact, da gibt’s eine Story dahinter: kennst Du
den Film MenInBlack (1)? Damals, hatten meine Frau und ich nach einem Domainnamen gesucht und in Analogie zum Filmtitel
dann Maninweb und Womaninweb ersonnen. Tja, dabei ist’s geblieben – wenn auch nun nur als Nicknames.

Excel & VBA ist so seit Mitte der Neunziger mein Ding. Vorher habe ich in Pascal, C, C++ inkl. OOP DOS und Windows-Apps
geschrieben. Und dann Excel & VBA entdeckt und bin seitdem dabei geblieben – seit 2005 dann auf freiberuflicher Basis.
In der Regel beinhalten meine Excel-Anwendungen VBA, sind meist multilingual verfügbar und haben eine Datenbank-
Anbindung im Hintergrund. Ab und zu mache ich auch Schulungen (Excel), meist Inhouse.

Beste Grüße aus Aachen,
Mourad Louha

Endlich mal wieder Sport gemacht. Ritter Sport. Zwei Tafeln.

Outlook-Schulung in einer Firma. Im Schulungsraum.

Nach einer Weile fragt eine Teilnehmerin, warum ihre ungelesenen Mails nicht fett dargestellt werden. Normalerweise sieht der Posteingang folgendermaßen aus:

Bei ihr jedoch so:

Ich prüfe die Grafikauflösung des Bildschirms, die Regeln von Outlook, die Optionen … nichts! Die Mails sind wirklich ungelesen, wie ein Blick ins Kontextmenü zeigt. Man könnte sie auf „gelesen“ setzen:

Irgendwann dämmert es mir. Ich schaue in den Bedingten Formatierungen der Ansichtseinstellungen nach. Und tatsächlich: DORT werde ich fündig. Die Bedingung für die ungelesenen Mails wurde deaktiviert.

Wer macht denn so etwas? Nun – der Teilnehmer oder die Teilnehmerin, der oder die zuletzt den Computer benutzt hat, und diese Option nicht mehr zurückgestellt hat …

Manchmal nervt auch Outlook!

Hat das Blümchen einen Knick; war der Schmetterling zu dick.

Hallo Rene,

wir erstellen in unserer Firma oft lange Excellisten mit ebenso langen und formatierten Texten. Leider finde ich in Excel nicht, wo man die Einzüge für Text einstellen kann, also so, dass die Aufzählungszeichen links stehen bleiben und die Texte etwas weiter rechts eingerückt sind. So wie in Word oder PowerPoint:

Text in Word

Geht das in Excel nicht?

Hallo Barbara,

sorry – das geht nicht. Du kommst schnell beim Formatieren in Excel an Grenzen. Excel kennt weder Einzüge, noch Zeilenabstand oder Silbentrennung:

Bei den Aufzählungszeichen könnte man mit einer Hilfsspalte schummeln …

Aber: das ist viel Arbeit! Willst du dir das wirklich antun?

Ich habe damit aufgehört, frühmorgens am Waldrand zu joggen. Nicht dass mich ein Jäger aufgrund meiner Eleganz mit einem Reh verwechselt.

Pia Bork beschwert sich (zu recht!) darüber, dass Word online keine Feldfunktionen kennt.

https://bork.blog/2020/09/09/word-feldfunktionen-und-die-web-app/

So kann man im online-Word weder ein Inhaltsverzeichnis erstellen noch aktualisieren, wenn es in Word Desktop erstellt wurde.

Schade eigentlich!

Übrigens: mein Excel-Formelbuch habe ich natürlich Anfang 2020 in der Destop-App erstellt:

Taschenbuch : 576 Seiten
ISBN-10 : 3746064872
ISBN-13 : 978-3746064871
Größe und/oder Gewicht : 17 x 3.7 x 22 cm
Herausgeber : Books on Demand; 7. Auflage (13. Januar 2020)
22,00 Euro

Herr Doktor, ich bin Hypochonder. – Ach was, das bilden Sie sich nur ein!

Lieber René,

seit einiger Zeit habe ich ein Problem mit Pivot-Tabellen und wüsste gern, ob Du mir vielleicht helfen kannst.

Früher habe ich häufig die Funktion Berichtsfilterseiten anzeigen genutzt, aber irgendwie funktioniert es nicht mehr. Mir wird das Feld immer ausgegraut angezeigt.

Ich weiß nicht woran es liegt. Dr. Google konnte mir erstaunlicherweise auch nicht helfen, ich bin komplett ratlos.

Ich erzeuge regelmäßig Auswertungen für acht verschiedene Regionen und würde die Funktion dafür gerne verwenden, sodass jede Region ihren eigenen Reiter hat.

Ich hab mal eine Mini-Beispieldatei angehangen.

Es wäre toll, wenn Du das Brett von meinem Kopf entfernen könntest!

Liebe Grüße aus Köln,

Sabrina 

Hallo Sabrina,

ich glaube, das ist eine einfache Frage:

Berichtsfilterseiten werden nur dann angeboten, wenn die Daten NICHT den Datenmodell hinzugefügt wurden!

Liebe Grüße

Rene

Wie viel Alkohol im Blut muss man haben, damit die nervigen Stechmücken daran sterben? Ich geh jetzt in die Offensive!

Hallo Rene,

Wie lautet denn der Befehl, zu prüfen, ob es in einer Datei Verknüpfungen gibt? Müsste irgendwas mit .LinkSources sein, aber wissen tu ichs nicht…

Viele Grüße, Dominic

Hallo Dominic,

ja LinkSource. Ich habe damals überprüft:

Application.EnableEvents = False ‚ — Falls die zu öffnende Datei Autostart-Makros enthält, sollen diese nicht geöffnet werden.
Err.Clear
Application.DisplayAlerts = False‘ — bei Excel 4.0-Dateien erscheint ein Warnhinweis!
Set xlDateiZumÖffnen = Application.Workbooks.Open(objDatei.Path, UpdateLinks:=0, Password:=“Renes Quatschwort“) ‚ — Datei öffnen
Application.DisplayAlerts = True‘ — bei Excel 4.0-Dateien erscheint ein Warnhinweis!
‚ xlDateiZumÖffnen.UpdateLinks = xlUpdateLinksNever ‚ — schalte die Warnmeldungen aus, wenn Fehler kommen, die darauf hinweisen, dass Links nicht vorhanden sind. -> leider nein!
If Err.Number = 0 Then
If Not VBA.IsEmpty(xlDateiZumÖffnen.LinkSources(xlExcelLinks)) Then
For i = 1 To UBound(xlDateiZumÖffnen.LinkSources(xlExcelLinks))
xlZelleZeiger.Offset(0, 6 + i).Value = xlDateiZumÖffnen.LinkSources(xlExcelLinks)(i)
Next
If UBound(xlDateiZumÖffnen.LinkSources(xlExcelLinks)) > 0 Then
xlZelleZeiger.Offset(0, 6).Value = _
UBound(xlDateiZumÖffnen.LinkSources(xlExcelLinks))
If Me.chkKaputt.Value = True Then
For i = 1 To UBound(xlDateiZumÖffnen.LinkSources(xlExcelLinks))
If VBA.Dir(xlDateiZumÖffnen.LinkSources(xlExcelLinks)(i), vbNormal) = „“ Then
xlZelleZeiger.Offset(0, 5).Interior.Color = vbBlack
End If
Next
End If
End If ‚ — trage die Anzahl der gefundenen Links ein und markiere schwarz
End If

[…]

An anderer Stelle überprüfe ich die Links (sie könnten ja „kaputt“ sein:

blnDateiSchutz = False
strLinkKaputt = „“
intAnzahlVerknuepfungen = 0
blnKaputt = False
If Not IsEmpty(xlDateiZumÖffnen.LinkSources(xlExcelLinks)) Then
intAnzahlVerknuepfungen = UBound(xlDateiZumÖffnen.LinkSources(xlExcelLinks))
For i = 1 To intAnzahlVerknuepfungen
strLink = xlDateiZumÖffnen.LinkSources(xlExcelLinks)(i)
If VBA.Dir(strLink, vbNormal) = „“ Then
strLinkKaputt = strLinkKaputt & „###“ & strLink
If strLink Like „“ & Me.txtQuelle.Value & „“ Then
‚ — alles paletti
Else
blnKaputt = True
End If
End If
Next
End If

Liebe Grüße

Rene

… viele Links …

Nur noch ein paar Stunden blöd gucken und dann ist Feierabend.

Hallo Rene,

vielleicht ist das so ein Ding, was du direkt weißt. Ich öffne via Makro eine Datei. In dieser Datei befinden sich Verknüpfungen zu externen Mappen, die zwar kein Mensch braucht, aber die nun mal drin sind, weil die Dateien immer vom Kunden kommen und der damit wer weiß was macht. 😉

Beim öffnen erscheint immer dieser Hinweis und das Makro läuft natürlich nicht weiter:

Kriegt man das irgendwie weg? Bzw. gibt es einen Befehlt der automatisch „Aktualisieren“ oder „Nicht aktualisieren“ auswählt?

Application.DisplayAlerts = False greift hier nicht.

Danke dir und viele Grüße,

Dominic

####

Hat sich schon erledigt – UpdateLinks:=0 nach dem „Open“-Befehl. Manchmal ist der Makro-Rekorder schon ganz praktisch.

####

Hallo Dominic,

ich muss nur ein bisschen warten – und schon lösen die Leute alleine ihre Probleme.

Ich hätte es trotzdem gewusst.

Hintergrund: Die IT einer großen Behörde beschließt im Frühjahr 2018 das Laufwerk P von allen Anwendern zu löschen. Ab jetzt soll es nur noch Q geben. Jeder Anwender soll seine Dateien von P nach Q kopieren, dabei anschauen, ob er die Dateien noch braucht …

Nach fünf Monaten haben sie festgestellt: ups – einige Tausend Dateien haben ja Verknüpfungen auf andere Dateien auf Laufwerk P. Dumm! Die Verknüpfungen funktionieren nicht mehr.

Ich habe ihnen ein VBA-Tool geschrieben:

* liste alle (Excel-)Dateien auf

* Anwender wählt einen Ordner und legt fest welcher Ordner durch welchen ersetzt werden all. Bspw.: P:\Eigene Dateien\Controlling\Excel\2017 durch Q:\Eigene Dateien\ Controlling\Excel\2017

* öffne alle Excelmappen in diesem Ordner (und Unterordner – kann ausgewählt werden)

* prüfe, ob Verknüpfungen drin sind (in Tabellenblättern, Namen, Bedingten Formatierungen, Datenprüfungen) und putze

* speichere und schließe

Problem beim Öffnen:

* Verknüpfungen (wie du beschreibst)

* AutoOpen-Makros

* geschützte Dateien oder Blätter (mit oder ohne Kennwort)

uff!

Einige Programmierstunden, einige Nachbesserungen, … am Ende habe ich nie mehr etwas gehört … wahrscheinlich konnten sie alle (?) Dateien öffnen und putzen.

Liebe Grüße Rene

Fledermäuse fliegen mit Ultraschall. Das ist ein Navi ohne Gequatsche.

Auf facebook werde ich angeschrieben:

»Hallo Rene habe Dich in einem Werbefilm gesehen. Axel 365. Gruss Raphael«

Ich überlege und antworte.

»Welcher Werbefilm, Raphael, hilf mir mal bitte! LG :: Rene«

Welchen Axel meint er wohl? Den Ortsteil von Terneuzen in den Niederlanden? Den Sprung im Eiskunstlauf?

Den Citroën?

Achsel 365?

Dann dämmert es mir:

»Meinst du Excel 365?«

»Ja genau«

»Ah – wahrscheinlich LinkedIn … Für die arbeite ich ab und zu …

Mache beispielsweise so etwas:

https://de.linkedin.com/learning/excel-tipps/willkommen-zu-excel-tipps?autoplay=true&trk=learning-course_table-of-contents_video&upsellOrderOrigin=default_guest_learning

»Ja genau und da habe ich mir gedacht dich kenne ich doch und siehe da ich hatte recht«

Made my day!

Sex im Bett ist schon irgendwie eklig. Ich meine, das ist doch der Ort, wo ich esse!

Hallo Rene,
merci für den Screen und deinen Text. Kurz der Hintergrund zu meiner Frage: Ein Kunde fragte vorletzte Woche:
„Wenn er das Dropdown-Dreieck sehe, so würde er dann mindestens zwei Optionen erwarten.
x und ein leerer Eintrag.“
Vermutlich nehme ich deine Lösung: Somit nur das „X“ auswählen, ansonsten muss er den Eintrag eben löschen.
Es wäre überaus nett gewesen, wenn das ganze über das Zellenfeature gegangen wäre …
… ich wollte ggf. auf den Name verzichten.
Dann sind wir ‚mal gespannt, was uns nächste Woche so erwartet.
Ich wünsche dir also einen guten Wochenstart
Jürgen

Hallo Jürgen,
der Kunde ist König!
Meiner gibt sich mit DIESER Lösung zufrieden.

Man könnte aber auch eine Auswahl machen.
Datenüberprüfung: keine Angabe;x

Und dann mit einer Bedingten Formatierung das „keine Angabe“ ausblenden (benutzerdefiniertes Zahlenformat: ;;;

Kindererziehung ist nicht leicht. Und es muss auch eine Strafe geben. Aber Pfannkuchen aus Dinkelmehl finde ich zu hart.

Hallo Rene,

sei gegrüßt in den Abendstunden.
Ich hoffe, dass es dir soweit gut geht und dein EXCEL-Kurs für Einsteiger bald abgehalten werden kann.

Mit dieser Mail kommt nur eine fachliche Frage zu EXCEL:

Ich realisiere auf einer Zelle ein Dropdown mit einer Datenauswahl bzw. Überprüfung.
Als Datengrundlage nutze ich ein x und ein Leerzeichen und möchte auf die Verwndung eines Namens verzichten.
D.h.: Im WWW finde ich eine Lösung (http://www.office-loesung.de/ftopic332490_0_0_asc.php) über die Schritte:

Einstellungen / Listung / Quelle

den Vorschlag:

‚; x

Gibt es noch andere Lösungen?

Dankeschön & Gruß Jürgen

Hallo Jürgen

willst du wirklich als Auswahl ein Leerzeichen und ein x haben?

Ich habe so etwas schon gemacht – nur mit x. Wenn der Anwender es nicht haben will, kann man es löschen (Taste [entf]).

Wie auf office-loesung beschrieben – elegant ist das ‚ nicht gerade.

Alternative: Namen – das willst du nicht.

Alternative: Wähle zwei Zellen aus. Im unteren steht ein „x“, die obere Zelle ist leer. Oder mit einem Leerzeichen gefüllt.

Liebe Grüße

Rene

Oh, schon September! Heizung an, Blätter fegen, Lebkuchen kaufen. Frohes Neues Jahr!

Erstellt man eine Excelliste mit Zahlen, die als Datum oder als Währung formatiert sind und verwendet diese Liste als Basis eines Word-Serienbriefs, werden die Zahlenformate in Word nicht übernommen.

Drei Lösungen für dieses Problem habe ich gefunden:

  1. In Excel eine Hilfsspalte einfügen, die die Zahlen mit der Funktion TEXT in einen Text umwandelt. Er wird übernommen.
  2. In Word Schalter verwenden, um die Zahlen zu formatieren. Beispielsweise: {MERGEFIELD Geldbetrag \# $####,0.0} oder {MERGEFIELD zahlbar_bis \@ „TT.MM.JJJJ“}
  3. DDE

Diese drei Optionen habe ich in diesem Blog mehrfach beschrieben, beispielsweise in:

https://www.excel-nervt.de/word-serienbriefe/

https://www.excel-nervt.de/ich-sags-jetzt-nur-noch-einmal/

https://www.excel-nervt.de/kann-spuren-von-erdnuessen-und-anderen-nuessen-enthalten/

Am vergangenen Wochenende „musste“ ich folgende Mail schreiben:

Hallo Angelika,

DDE ist (noch) in Word drin – Du hast recht – aber es wird wohl nicht mehr unterstützt.

In den Optionen / Erweitert findest du ganz unten in der Gruppe „Allgemein“ die Option „Dateiformatkonvertierung beim Öffnen bestätigen“.

Dann DDE (für Excel) ausgewählt.

In Word und Excel 2016 funktioniert das noch – allerdings: jetzt in Office 365 nicht mehr („Word konnte keine neue DDE-Verbindung zu Microsoft Excel herstellen, um die aktuelle Aufgabe zu beenden.“)!?!

Also bleiben nur noch zwei Möglichkeiten für Währung und Datum: Schalter in Word oder Funktion TEXT in Excel.

Und – was meinst du: nachher Mittag essen gehen?

Liebe Grüße  

René

Jahrelang hat man uns eingeredet, dass nach 18 Uhr gegessene Kohlenhydrate dick machen. Und jetzt kommt raus: Kohlehydrate wissen gar nicht, wie spät es ist.

Hallo Rene!

Nach längerer Zeit wieder eine Bitte!

Durch den Corona-Virus musste ich die Termine für meine ABO-Vorstellungen selbst zusammenstellen.

Die Auswahl der Stücke war in ‚ABO Stücke‘ bald erstellt. Mit Pivot habe ich mir die Theaterstücke zusätzlich unterschiedlich angeordnet. 

In diesen Tabellen wollte ich die Zellen färbig (Der Leuchtturm) markieren, die in ‚ABO Stücke‘ grün sind. Das war mir nicht möglich.

Im Internet habe ich entdeckt, dass eine Zellfärbung in der Pivot-Tabelle nur mit den dortigen Daten möglich ist.

Nachdem Excel so viele Möglichkeiten bietet die Daten aufzubereiten und darzustellen meine oben erwähnte Bitte

um eine Lösung.

Mit freundlichen Grüßen

Peter

Hallo Peter,

das geht so nicht. Excel kann nicht per Formel Formatierungen abfragen.

Du benötigst im Tabellenblatt „ABO Stücke“ eine Hilfsspalte (bspw. Premiere: ja/nein)

und kannst dann mit einer Formel in der bedingten Formatierung anzeigen lassen:

=UND(INDEX(‚ABO Stücke‘!$F:$F;VERGLEICH($A15;’ABO Stücke‘!$D:$D;1))=“ja“;
B$14=INDEX(‚ABO Stücke‘!$B:$B;VERGLEICH($A15;’ABO Stücke‘!$D:$D;1)))

wirf mal einen Blick auf die Datei – ich habe drei Mal „ja“ eingefügt.

Liebe Grüße Rene

Hallo Rene,

danke für die schnelle Hilfe und den Hinweis.

Da stand ich auf der Leitung.

Klar, dass Excel nur mit Zahlen und Buchstaben arbeiten kann. Die Auswahl mit farbiger

Zelle ist optisch leichter zu überblicken, darum habe ich sie angewendet aber nicht bedacht,

dass Pivot natürlich einen ‚echten‘ Wert benötigt.

Mit besten Grüßen Peter

gerne, Peter,

stimmt: EXCEL kann nur Zahlen und Texte verarbeiten. Mit VBA hätte man die Möglichkeit zu überprüfen:

If Zelle.Interior.Color = …

Liebe Grüße Rene

Ich hätte gerne den Schokoriegel mit dem Löwen. – Lion? – Nein, kaufen!

Ich bereite gerade eine Excelschulung vor. Dabei bin ich über einen Artikel von Andreas Thehos gestolpert. Er beschreibt folgenden Bug in Excel:

Angenommen man hat eine Tabelle mit Berechnungen und wandelt sie in eine intelligente Tabelle um. Dabei werden in Bezügen der eigene Tabellenblattname genannt.

Sortiert man nun diese Tabelle, beispielsweise nach Spalte C (Radius), so wird die berechnete Spalte nicht mitsortiert.

Für „normale“ Listen habe ich diesen Bug hier auf excel-nervt.de schon mehrfach beschrieben. Das Erstaunlich ist, dass dieses Phänomen auch bei intelligenten Tabellen eintritt, die doch eigentlich die Aufgabe haben sollten, die Zeilen zusammenzuhalten.

Danke an Andreas Thehos für diesen Hinweis.

Ich habe den Wecker wieder zurückgebracht. Er macht morgens so laute Geräusche. Das raubt mir den Schlaf.

Prosa oder Lyrik?

Das Verhalten von langen Text in Zellen ist folgendes:

Schreibt man einen langen Text in eine unformatierte Zelle, fließt der Text über den rechten Zellenrand hinaus (bei allen Schriften, die von links nach rechts laufen):

Schaltet man einen Textumbruch (früher: Zeilenumbruch) ein, fließt der Text nach unten.

Okay – ich würde wahrscheinlich die Spalte verbreitern.

Schreibt man dagegen einen langen Text in eine Zelle und bricht die Zeilen mit einem Zeilenumbruch ([Alt] + [Enter]) um, schaltet Excel automatisch die Formatierung „Textumbruch“ ein:

Schaltet man den Textumbruch aus, fließt der Text nach rechts weiter über den Zellenrand hinaus. Steht in der Zelle daneben Text (beispielsweise ein Leerzeichen), wird nur der Text der Zelle angezeigt:

Den restlichen Text kann man auch verstecken, indem man die Zeilenhöhe verringert. So kann der Textumbruch eingeschaltet bleiben:

Und die restlichen 12.000 Zeichen werden nicht angezeigt.

Übrigens: die Obergrenze der Zeichenzahl einer Zelle bei Excel liegt bei 32.767 Zeichen. Die maximale Zeilenhöhe bei 409 Punkt:

Hätte der Mensch die Sprungkraft eines Flohs, könnte er 90 Meter weit und 50 Meter hoch springen. Stellen Sie sich mal vor, was passieren würde, wenn im Supermarkt eine zweite Kasse geöffnet wird!

Heute mal nichts zu nörgeln. Heute bin ich begeistert.

Auf der Seite von Sam Radakovitz

http://samradapps.com/

habe ich einen Date-Picker gefunden. Sehr praktisch das Teil – es wird in der Registerkarte „Start“ angezeigt und schlägt bei Datumsangaben den Assistenten vor:

Diesen Hinweis habe ich auf dem excel-ticker vom Mourad Louha entdeckt:

http://www.excel-ticker.de

genauer – auf:

http://www.excel-ticker.de/wolfram-datentypen-in-excel-verwenden/?fbclid=IwAR2QsMJlt4q5m7K5rQhfMEwPxYlzWJ1IPr2H-OWYfa6US9monQpaN4EXkMQ

Ich glaube, ich bin allergisch gegen Schokolade: Sie verursacht so fiese Schwellungen rund um meine Hüfte.

Fatal!

Ich füge ein Bild in Excel auf einem Tabellenblatt ein:

Ich speichere die Datei, ändere die Endung des Dateinamens in .ZIP und entzippe die Datei. Im Ordner

xl\drawings

liegt die Datei

drawing1.xml

die ich mit einem XML-Editor öffne. Das Element

<a picLocks noChangeAspect="1"/>

wird geändert in:

<a picLocks noChangeAspect="1" noSelect="1" noMove="1"/>

Das Archiv wird gespeichert und wieder in .XLSX umbenannt. Die Mappe geöffnet und – keine Chance die Datei auszuwählen (und damit zu löschen oder zu verschieben) … Sie wird auch über den Dialog „Inhalte auswählen“ in „Suchen und Auswählen“ nicht gefunden!

Danke an Mourad Louha für den Hinweis!

Übrigens: Der VBA-Befehl

MsgBox ActiveSheet.Shapes.Count

liefert 1. Jedoch kann ich per VBA nicht auf das Shape (und damit auf das Bild) zugreifen:

ActiveSheet.Shapes(1).Left

liefert:

Der Index in der angegebenen Sammlung ist außerhalb des zulässigen Bereichs.

Und: das Foto habe ich im Erika-Fuchs-Haus in Schwarzenbach a. d. Saale aufgenommen. Ein sehr schönes Museum, wie ich finde. Weitere Infos:

http://www.erika-fuchs.de/

Ob die bei Zalando auch so kreischen, wenn die Päckchen zurückkommen?

Word macht auch merkwürdige Dinge:

Formatiert man einen Text mit einer der neun Formatvorlagen Überschrift1, Überschrift2, … wird der Text im Navigationsbereich angezeigt. Anders jedoch, wenn sich dieser Text in einer Tabelle befindet.

Zugegeben: Ich würde Vorlagen für Kapitelüberschriften nicht als Tabellenüberschriften verwenden, sondern dort eigene Vorlagen erstellen; dennoch: das Verhalten ist merkwürdig.

Danke an Pia Bork für diesen Hinweis.

Liebe Männer, der Satz „jetzt beruhige dich erstmal“ hat auf Frauen die ungefähr gleiche Wirkung wie ein Mentos in der Cola.

Hallo Rene bzgl. Outlook habe ich eine Frage: Kann ich unabhängig von den anderen Wochentagen und deren Farbe, den aktuellen Arbeitstag durch eine Markierung hervorheben? Theoretisch funktioniert Outlook als Tabelle  und bei der kann ich ja einzelne Spalten per Farbe hervorheben

Zwar ist Mittwoch mit einem etwas dunklerem Grün von dem helleren Grün für Donnerstag abgegrenzt, jedoch aus meiner Sicht nicht stark genug … ich möchte z.B. Mittwoch die Spalte 27.08.2020 in Gänze gelb markieren

Hallo Barbara,   meines Wissens kann man die Farbe des aktuellen Tags nicht ändern. Umgekehrt: du kannst auch in Word, Excel & co nicht die Farbe der Markierung ändern. LG  ::  Rene

PS: Über Farben in Outlook haben schon einige genörgelt – da gäbe es noch einiges anzupassen: die Grundfarben, die Outlook zur Verfügung stellt, die 25 Farben für die Kategorien, …

So tun, als ob man sich beim Abendessen verschluckt hat, damit man das Bier auf Ex trinken kann …

Hallo René,

ich habe ein paar Online-Trainings zugesagt, für die ich erst jetzt die Themeninhalte bekommen habe und vielleicht kannst Du mir kurz sagen, was folgende Bezeichnung bedeutet? – Diagramme: mehrzeilige Achsenbeschriftung …

Hallo Angelika,

man kann die einzelnen Elemente der Achse weder editieren, also ändern noch formatieren. Ich kann nicht eine Jahreszahl einfärben oder fett formatieren. Ich kann auch nicht die Ausrichtung ändern.

Aber man kann in den Zellen einen Umbruch einschalten ([Alt] + [Enter]) und somit einen Umbruch in der Beschriftung der Achsen erzeugen. Ich schicke dir mal ein (uraltes) Diagramm:

Übrigens: hast du es gelesen? – Messi will seinen Vertrag mit dem FC Barcelona auflösen. Fabrizio Romano schreibt, dass Barcelona auf der Ausstiegsklausel über 700 Millionen Euro bestehe.

Heiligenschein hatte ich schon. Steht mir nicht.

Hallo Herr Martin,

dass Sie ein paar Tage von mir nichts gehört haben, liegt nicht daran, dass ich in der Hitze verglüht wäre, sondern einfach Alles prima läuft.

Ein Kunde hat es jetzt allerdings geschafft, die Hyperlinks durcheinanderzubringen.

Bekomme ich die Listen irgendwie umgehängt zu den korrekten Konzepten oder muss ich löschen und neu erstellen?

Ich weiß nicht, wie der Kollege das so hinbekommen hat.

Hallo Herr H.,

Machen Sie folgendes Spiel: Erstellen Sie eine neue Datei. Fügen Sie zwei Tabellenblätter ein, beispielsweise Tabelle1 und Tabelle2. Erstellen Sie auf Tabelle1 eine Link auf Tabelle2. Benennen Sie „Tabelle2“ um. Dann funktioniert der Link nicht mehr. So etwas machen die freundlichen Menschen …

Und das können Sie selbst machen: Heben Sie den Blattschutz auf (rechte Maustaste auf die Registerkarte).

Klicken Sie auf die Zelle, in der sich der Hyperlink befindet (nicht auf den Link klicken!). Drücken Sie [Strg] + [K] („K“ wie linK). Wählen das Blatt aus, das verknüpft werden soll.

Es gibt zu wenig Gesetze für Insekten. Ein generelles Nachtflugverbot wäre schon mal ein guter Anfang.

Montag ist Datentypentag.

Man kann Firmennamen, Städte- und Ländernamen in Datentypen umwandeln. Mit einem Klick auf das kleine Symbol, über das Kontextmenü oder der Tastenkombination [Strg] + [Umschalt] + [F5] kann man sich die „Karte“ dazu anzeigen lassen: ein Foto, ein Link zur Quelle und weitere Informationen:

Diese Informationen werden im Archiv der Excelmappe gespeichert und können dort im Ordner xl/richData in der Datei rdrichvalue.xml eingesehen werden:

Warum eigentlich nur sehen?

Richtig: DORT kann man die Informationen auch verbiegen, beispielsweise den Link:

Und so verweist der Link nun auf eine ganz andere Seite.

Okay: Nach Aktualisierung wird diese Information wieder „zurück gesetzt“.

Danke an M.L. auch Aachen für diesen Hinweis.

Mein Chef hat mich heute gefragt: „Wo warst du – ich habe dich überall gesucht.“ Ich habe ihm geantwortet: „Chef – gute Mitarbeiter sind schwer zu finden.“

Man hat mich wieder gezwungen LibreOffice Calc zu unterrichten.

Wenn man in Calc mit dem Funktionsassistenten nicht alle Parameter einträgt (beispielsweise bei SVERWEIS) erhält man einen Fehlerwert. Ruft man erneut die Funktion über den Assistenten auf, werden die urspünglich eingetragenen Parameter gelöscht.

Es gibt Telefon, skype, whatsapp, facebook und noch viel mehr. Und meine Nachbarin klingelt an der Türe! Mit der stimmt doch etwas nicht!

Man hat mich wieder gezwungen LibreOffice Calc zu unterrichten.

Upps – wie kann ich eine Pivot-Tabelle erstellen?

Nicht über den Menüpunkt „Daten“, über den man die Pivot-Tabelle aktualisieren oder löschen kann, sondern über „Einfügen“:

Oder indem man das entsprechende Symbol in die Symbolleiste einfügt oder in das Menü.

Wenn Männer wüssten, wie schwierig wir uns manchmal selbst finden …

Man hat mich wieder gezwungen LibreOffice Calc zu unterrichten.

Immerhin – diese Unschönheit wurde in der neuesten Version von Calc entfernt.

Greift man mit einer Funktion, beispielsweise SVERWEIS auf ein anderes Tabellenblatt zu, hat Calc in älteren Version die absolute Referenz dargestellt als:

$Tabellenblatt.$A$1:$C$99

Trägt man die Formel per Hand ein, wählt den Bereich aus und fixiert ihn mit [F4] ist dis kein Problem:

Im Funktionsassistenten kann leider die Taste [F4] nicht verwenden. Dort musste man die fünf $-Zeichen per Hand eintragen. Und wie leicht hat man das erste (das auch sinnlos ist, weil die Tabelle ja nicht verändert wird) vergessen:

In der neuesten LibreOffice-Version werden beide Schreibweisen zugelassen – ältere Versionen verlangen allerdings das $-Zeichen vor Tabelle1. Und lieferten einen Fehler!

Nur wer seine Muttersprache beherrscht ist bereit, seinem Gegner Ravioli zu bieten.

Man hat mich wieder gezwungen LibreOffice Calc zu unterrichten. In der Schulung kam die Frage, was passiert, wenn man eine Calc-Tabelle mit Kennwort schützt

und in Excel öffnet:

Die Antwort: man kann die Datei nicht öffnen!

Umgekehrt: wird ein Tabellenblatt in Excel mit Kennwort geschützt, kann man die Datei in Calc öffnen und den Schutz entfernen. Es wird nicht nach dem Kennwort gefragt!?!

Womöglich sind wir gar nicht die Krone der Schöpfung, sondern wurden von Mücken gezüchtet – als Nahrungsmittel.

Man hat mich mal wieder gezwungen LibreOffice Calc zu unterrichten!

Es ist erstaunlich: in Calc sieht die Verknüpfung auf ein anderes Tabellenblatt folgendermaßen aus:

=Tabellenblatt.Zelle

Verwendet man diesen Aufbau jedoch in Funktion INDEIREKT erhält man einen Fehler. DORT wird die Excelsyntax

=Tabellenblatt!Zelle

verlangt!

Ich vermute, dass LibreOffice beim Nachbauen oder Nachkopieren von Excel übersehen hat, dies umzusehtzen …

Schau mich nicht in diesem Ton an!

Hallo Her Martin,

ich bin auf der Suche nach einer Info zu Excel auf ihre Seite „https://www.excel-nervt.de/das-nichts-in-excel/

gekommen und habe folgende (aus meiner Sicht) falsche Aussage gefunden: 

zuerst der betreffende Textabschnitt:

———–

Text, leerer Text oder kein Text

Ähnlich wie bei Zahlen geht Excel bei Texten vor. Eine Zelle kann leer sein, kann Text oder eine leere Zeichenkette beinhalten. Letzteres kann das Ergebnis einer Funktion sein oder auch direkt eingegeben werden:

=““

Die folgenden drei Abfragen liefern dann WAHR als Ergebnis:

=WENN(ISTLEER(A1);…

=WENN(A1=““;…

=WENN(ISTTEXT(A1);…

———–

Wenn ich aber einer Zelle A1 den Wert „“ (also leeren String) zugewiesen habe, liefert mir die Formel

=WENN(ISTLEER(A1);…

leider nicht den Wert wahr, sondern falsch. Die Zelle wird nicht als „leer“ erkannt.

Hiermit habe ich übrigens genau ein Problem. Ich habe nämlich das „ISTLEER“ oft benutzt und zu spät bemerkt, daß es nicht wie erwartet funktioniert. Jetzt versuche ich, die Formeln zu ändern (z.B. durch Abfrage auf Länge = 0) und die vorhandenen „“ aus Wertfeldern zu eliminieren. Leider habe ich für beides bisher noch keine ganz einfache, schnelle und sichere Vorgehensweise gefunden.

Mit freundlichen Grüßen

Michael Richter

Hallo Herr Richter,

    ich freue mich immer sehr, wenn Leserinnen und Leser auf meine Artikel reagieren – Kritik äußern, Dinge korrigieren, die ich falsch behauptet habe oder Lob äußern.

    Sie haben recht – die Artikel, die Sie unter „über“ und „schade“ finden, sind recht alt und sollten überarbeitet werden. Umgekehrt: wenn Sie „ISTLEER“ in das Suchfeld eintragen, finden Sie weitere Artikel von mir zu diesem Thema.

    Liebe Grüße

    Rene Martin

Hallo Herr Martin,

Und jetzt noch Lob:

Ihre Antwort auf meine Zuschrift find ich vorbildlich.  Außerdem freue ich mich immer, wenn jemand im Internet nützliche Informationen zur Verfügung stellt, und Ihre  Seiten sehen „recht gut gemacht“ aus (ich habe sie allerdings bisher noch nicht näher angesehen, daher nur eine Beurteilung des Eindrucks auf den ersten Blick). 

Liebe Grüße

Michael Richter

Die häufigsten Todesursachen bei Männern: Ikea Besuch | Erkältung | „Sie sind dran mit zurückschreiben.“

Hallo Herr Martin,

ich habe mal wieder ein Excel-Problem, diesmal in Richtung VBA.

Ich möchte gerne in eine dynamische Tabelle eine bedingte Formatierung einfügen, die eine Rahmenlinie-unten in jeder letzten Zeile eines Monats ausführt, wenn der Wert zutrifft.

soweit auch kein Problem, das würde ja auch mit einer normalen bedingten Formatierung funktionieren. Allerdings ist die Tabelle schon mit einem Rahmengitter belegt, um die Zellen besser zu unterscheiden.

Deswegen hätte ich gerne die Rahmenlinie-unten in „fett“, damit man die einzelnen Monate besser hervorhebt.

Da man das „fett“ in Excel bei bedingten Formatierungen nicht auswählen kann, habe ich durch Internetrecherche herausgefunden, dass man per VBA-Programmierung dieses Problem lösen kann.

Meine VBA-Kenntnisse sind allerdings gleich null, was mich nicht weiter bringt J

Anbei eine Beispieltabelle in der nach Belieben rumhantiert werden kann.

Hallo Herr F.,

Stimmt – das ist mir noch gar nciht aufgefallen: in der Bedingten Formatierung fehlt die Rahmenart. Doof!

Den Code hätten Sie doch sicherlich selbst hinbekommen.

Das Makro hängt an der Datei.

Sie können es in der Datei lassen oder in Ihre persönliche Makrodatei kopieren.

Sie können es über Entwicklertools / Makros (alternativ: Ansicht / Makros) starten – das Makro heißt „LinienEinfügen“

Oder Sie fügen ein Symbol in die Symbolleiste für den Schnellzugriff ein und starten es darüber.

Nicht ganz elegant, aber leicht zu ändern – in den ersten drei Zeilen lege ich die Spalte fest:

Sub LinienEinfügen()
    Const BEGINN As String = "A"
    Const ENDE As String = "I"
    Const SUCHSPALTE As String = "B"
    Dim i As Long
    Dim lngLetzteZeile As Long
    
    
    lngLetzteZeile = _
       ActiveSheet.Range("A1").SpecialCells(xlCellTypeLastCell).Row
    ' -- ermittle die Nummer der letzten Zeile
    
    For i = 1 To lngLetzteZeile
        If ActiveSheet.Range(SUCHSPALTE & i).Value <> "" And _
            ActiveSheet.Range(SUCHSPALTE & (i + 1)).Value <> "" Then
            If IsDate(ActiveSheet.Range(SUCHSPALTE & i).Value) And _
                IsDate(ActiveSheet.Range(SUCHSPALTE & (i + 1)).Value) Then
                If Month(ActiveSheet.Range(SUCHSPALTE & i).Value) <> _
                  Month(ActiveSheet.Range(SUCHSPALTE & (i + 1)).Value) Then
                    With ActiveSheet.Range(BEGINN & i & ":" & _
                        ENDE & i).Borders(xlEdgeBottom)
                        .LineStyle = xlContinuous
                        .ColorIndex = xlAutomatic
                        .TintAndShade = 0
                        .Weight = xlThick
                    End With
                End If
            End If
        End If
    Next i


End Sub

Guten Morgen Herr Martin,

vielen herzlichen Dank für die Codes.

Damit komme ich zurecht.

Allerdings kann ich leider noch nicht sagen, dass ich das hinbekommen hätte.

Trotzdem vielen Dank nochmal und schöne heiße Tage!

Drei Dinge sagen immer die Wahrheit: Kinder, Betrunkene und Leggings

Die Welt verbiegt sich so, dass sie in Excel passt. Amüsant:

https://www.spiegel.de/netzwelt/web/fuer-microsoft-excel-forscher-benennen-menschliche-gene-um-a-0d80a025-85af-4652-ace1-e29bb96109f1

„Tausende Fachartikel enthielten Fehler – weil Microsoft Excel Gennamen automatisch als Datumsangaben formatiert. Jetzt werden 27 menschliche Gene umbenannt.“ schreibt die Süddeutsche Zeitung. Menschliche Gene dürfen ab sofort umbenannt werden, wenn ihre bisherigen Bezeichnungen „den Umgang und Abruf von Daten beeinflussen“, wie das Gremium schreibt. „Zum Beispiel wurden alle Bezeichnungen geändert, die Microsoft Excel automatisch in Datumsangaben umwandle.“

https://www.sueddeutsche.de/digital/microsoft-excel-genforschung-namen-1.4992440

Ob wirklich alle Gene umbenannt werden? Beiepielsweise 2310009E13.

Danke an Dominic Dauphin und an Mourad Louha für den Hinweis.

Der Biolehrer wollte wissen, was die Menschen vom Affen trennt. „Der Lehrertisch“ war wohl die falsche Antwort.

Hallo René

Excel nervt wirklich!

Ich wollte nur mal kurz diesen Tipp mit der Eingabezelle prüfen.

Und Sch…. (sorry, ich konnte den Rest noch unterdrücken), die Quasseltante plaudert immer noch alles nach, was ich eingebe, obwohl ich den Befehl umgehend wieder aus dem Schnellzugriff entfernt habe.

Auch ein Neustart hat nicht genützt.

Hast du eine Vorschlag, um diese Stimme abzuschalten – sie ist wirklich nicht in meinem Kopf…

Hallo Adrian,

das hört sich tragisch an! *lach*

1. bei mir sie wieder aufgehört (sonst hätte ich etwas geschrieben)

2. hast du zweite Symbol „Eingabezellen – Eingabezellen beenden“ versucht?

Liebe Grüße Rene

Ja, es ist wohl der Hitze geschuldet. Ich hatte zuerst nur den ersten Befehl erfasst (Eingabezelle), dann noch den zweiten „Eingabezelle beenden“  und später dann alle. Dann habe ich nochmals den Befehl „Eingabezelle beenden“ angeklickt – und Uff, das Gequassel war vorbei

Aber es gibt eine Steigerung

Noch viel verheerender ist es, wenn man im Windows den Ton in der erleichterten Bedinung aktiviert [Win] + [Strg] + [Enter] …

Schönes kühles Wochenende

Adrian

Richtige Männer speichern nicht!

Boah, ist das frech. Jahrzehntelang durfte wir Dokumente erstellen, die dann vielleicht irgendwann abgesürzt sind. Und wir durften sie noch einmal erstellen. Haben uns ein bisschen geärgert. Und jetzt kommt Microsoft und macht uns darauf aufmerksam, dass wir doch (bitte ?!) das Dokument speichern sollen. Haben die Angst um unsere Dateien?

Ich will auch weiterhin in Word, Excel & co Dateien erstellen ohne zu speichern. Meine Datei gehört mir. Jetzt wird nicht gespeichert!

Ist nicht Bier kaltstellen auch irgendwie kochen?

Word hat mehr Zeichen als Excel: geschützte Leerzeichen, bedingte Trennzeichen, geschützte Trennzeichen, … Kopiert man Texte mit solchen Zeichen nach Excel ist das Erstaunen oft groß: Zeichen, die in der Zelle angezeigt werden, jedoch nicht in der Eingabezeile.

Die Funktion CODE hilft den (ASCII-)Code zu ermitteln:

Mit diesem Wissen kann man mit der Funktion WECHSELN die alten Zeichen (hier: 173) durch „“ oder durch ein anderes Zeichen ersetzen:

Oder ich markiere es, indem ich mit [F2] in die Zelle wechsle, dort mit der Pfeiltaste nach rechts wandere und mit [Umschalt] + [Pfeil] markiere. Das kann ich kopieren [Strg] + [C])

und in den Ersetzen-Dialog einfügen. Und so alle Trennzeichen auf dem Blatt löschen.

Ich war gestern doch gar nicht so betrunken. – Du hast den Duschkopf in den Arm genommen und gesagt, er soll aufhören zu weinen!

Diese Seite zu den DAX-Funktionen sollte Microsoft noch einmal überarbeiten.

https://docs.microsoft.com/de-de/dax/dax-overview

Zum einen finden sich dort verwirrende Denglish-Erklärungen. Zum andere erstaunen Aufzählungen. Die trigonometrische Kreisfunktion TAN wird den statistischen Funktionen zugeordnet. Ups!

Ich diskutiere nicht. Ich erkläre nur, warum ich recht habe.

Seltsam. Ich erstelle eine Pivottabelle, bei der ich mehrere Tabellen miteinander im Datenmodell verknüpft habe. Schon der erste Blick zeigt, dass das nicht korrekt sein kann:

Ein Blick in die Diagrammansicht von PowerPivot gibt Antwort: eine Verbindung wurde auf inaktiv gesetzt:

Man sieht es auch in der Feldliste der Pivottabelle:

Verbindung wird aktiv setzen und –

schon sieht das Ergebnis besser aus!

Papa, bekomme ich eine Delfintherapie? – Im Kühlschrank steht ein Glas Rollmöpse. Die kannst du aufwickeln und streicheln.

Nicht konsequent.

Will man in einer Tabelle in PowerPivot mehrere Spalten ausblenden, muss man sie einzeln markieren., wenn sie nicht nebeneinander liegen. Man kann sie dort nicht mit gedrückter [Strg]-Taste markieren.

Wechselt man jedoch von der Datensicht in die Diagrammsicht, ist es ohne Weiteres möglich mit gedrückter [Strg]-Taste mehrere Spalten zu selektieren.

Früher war alles leichter. Ich auch.

War das früher besser? Zumindest ging das früher!

Vorn vorne: die Excel-Funktion HÄUFIGKEIT ist eine Matrixfunktion. Mit ihrer Hilfe (ebenso wie mit ZÄHLENWENN oder SUMMENPRODUKT) kann man die Häufigkeit von Daten in einer Liste bestimmen, beispielsweise, wie oft Notenwerte vorhanden sind. Dabei muss Die Funktion als Matrixfunktion verwendet werden, das heißt mit [Umschalt] + [Strg] + [Enter] beendet werden:

Das funktioniert bei exakt vorkommenden Werten, aber auch bei „Zwischenwerten“ – von – bis:

Man kann die Funktion aber auch als eine Funktion verwenden und runterziehen – dann werden die Werte kumuliert:

Nein – so konnte man das früher machen – vor den Spillfunktionen (den Arrayfunktionen SEQUENZ, SORTIEREN, EINDEUTIG, …) machen. Seit Microsoft diese Funktionen und diese Arbeitstechnik eingeführt hat, erzeugt HÄUFIGKEIT beim Markieren eines Wertes zwei Ergebnisse: Wie oft taucht dieser Wert auf und wie viele andere Werte sind vorhanden.

Und heute? – Man muss HÄUFIGKEIT mit einem @ entwerten, dann hat man wieder die gleiche Funktionalität wie früher:

Danke an Mourad Louha für diesen Hinweis.

So viele Spiegel in der Wohnung – und keiner funktioniert richtig!

Hallo René

Interessant finde ich, dass man erst googlen muss, um herauszufinden, dass die Inversmatrix in Excel als Funktion MINV heißt und bei VBA als Worksheetfunction MINVERSE (sogar mit E am Schluss, da kommst echt net drauf von allein)…

Hallo Axel,

Zwei Tipps, damit die nicht googln musst, was MINV heißt:

Der Translator von Mourad Louha (excel-translator.de) Oder du verwendest die Formel, schaltest den Makrorekorder ein, editierst die Formel (bei mir: [F2]) und Makrorekorder STOPP. Er „übersetzt“ dann die Funktionen ins Englische.

Übrigens: Schöne Skizze:- da steckt viel Hirnschmalz drin …

Ein Tag hat 24 Stunden. Eine Palette Bier hat 24 Dosen. Das kann kein Zufall sein!

Hallo René,

du bist ein Ass, danke, nun weiß ich wie man die einzelnen Elemente anspricht, nach Zeile und Spalte und habe meinen Code angepasst.

aber: in meinem Fall markiere ich ja vor Eingabe der UDF wie immer bei Matrixfunktionen 3 Zellen untereinander und möchte, dass 3 Ergebnisse aus einem neuen Array, das mit den gewonnenen Variablen arbeitet erscheint

Hallo Axel,

Ich habe die Array verkleinert … das Überwachungsfenster hat mir verraten, dass Matrix1(0, x) und Matrix2(0,x) nicht belegt sind.

Public Function Test1(S1 As Variant, R1 As Variant, S2 As Variant, R2 As Variant, R3 As Variant)
 
' Funktionsbeschreibung: Berechnet den Schnittpunkt einer Geraden mit einer Ebene,
' Inputselektion:  5 zusammenhŠngende Zellbereiche (S1,R1,S2,R2,R3)

' Variablen deklarieren
 Dim S1x As Double
 Dim S1y As Double
 Dim S1z As Double
 
 Dim R1x As Double
 Dim R1y As Double
 Dim R1z As Double
 
 Dim S2x As Double
 Dim S2y As Double
 Dim S2z As Double
 
 Dim R2x As Double
 Dim R2y As Double
 Dim R2z As Double
 
 Dim R3x As Double
 Dim R3y As Double
 Dim R3z As Double
 
 Dim x1 As Double
 Dim x2 As Double
 Dim x3 As Double
 
 Dim Loesung()
 Dim r As Double
 
 Dim ReturnArray(3)
 Dim DoTranspose As Boolean
 
 Dim Matrix1(2, 2) As Double ' (kann man das so deklarieren (Anzahl Zeilen/Spalten der Matrix)?
 Dim Matrix2(2, 0) As Double
 
 
 ' Bestimmen, ob Inputbereich horizontal oder vertikal ist
 If Application.Caller.Rows.Count > 1 Then
 DoTranspose = True
 Else
 DoTranspose = False
 End If
 
 
' Werte aus Inputselektion (Vektorkoordinaten und neue LŠnge) holen
 S1x = S1.Cells(1).Value
 S1y = S1.Cells(2).Value
 S1z = S1.Cells(3).Value
 
 R1x = R1.Cells(1).Value
 R1y = R1.Cells(2).Value
 R1z = R1.Cells(3).Value
 
 S2x = S2.Cells(1).Value
 S2y = S2.Cells(2).Value
 S2z = S2.Cells(3).Value
 
 R2x = R2.Cells(1).Value
 R2y = R2.Cells(2).Value
 R2z = R2.Cells(3).Value
 
 R3x = R3.Cells(1).Value
 R3y = R3.Cells(2).Value
 R3z = R3.Cells(3).Value
 
 'Matrizes bestimmen
 '3x3 Matrix
 Matrix1(0, 0) = R1.Cells(1).Value
 Matrix1(1, 0) = R1.Cells(2).Value
 Matrix1(2, 0) = R1.Cells(3).Value
 
 Matrix1(0, 1) = R2.Cells(1).Value * (-1)
 Matrix1(1, 1) = R2.Cells(2).Value * (-1)
 Matrix1(2, 1) = R2.Cells(3).Value * (-1)
 
 Matrix1(0, 2) = R3.Cells(1).Value * (-1)
 Matrix1(1, 2) = R3.Cells(2).Value * (-1)
 Matrix1(2, 2) = R3.Cells(3).Value * (-1)
 
 '1x1 Matrix
 Matrix2(0, 0) = S2.Cells(1).Value - S1.Cells(1).Value
 Matrix2(1, 0) = S2.Cells(2).Value - S1.Cells(2).Value
 Matrix2(2, 0) = S2.Cells(3).Value - S1.Cells(3).Value
 
 
 ' Berechnungen
 
 ' r berechnen
 
 Loesung = Application.WorksheetFunction.MMult(Application.WorksheetFunction.MInverse(Matrix1), Matrix2)
 
 r = Loesung(1, 1)
 
 MsgBox r

 ' Ergebnis berechnen (Koordinaten des Schnittpunkts nder Geraden mit der Ebene)
 ReturnArray(0) = S1x + r * R1x
 ReturnArray(1) = S1y + r * R1y
 ReturnArray(2) = S1y + r * R1y


' Output transponieren horizontal zu vertikal oder umgekehrt, falls n_tig
 If DoTranspose Then
 Test1 = Application.WorksheetFunction.Transpose(ReturnArray)
 Else
 Test1 = ReturnArray
 End If

' Ergebnis erscheint in den 3 Output-Zellen

End Function

was habe ich gestern gemacht? Wir haben ja herausgefunden, dass in der „Lösungs“-Zeile der Fehler steckt.

Ich habe das Datenfeld Matrix markiert und das Überwachungsfenster eingeschaltet. Dort habe ich festgestellt, dass der Wert an der Position 0 nicht belegt ist:

Da waren sie wieder – meine drei Probleme: Vergesslichkeit, Dings und das Andere.

Lieber René,

ich hoffe, es geht dir gut. Darf ich dir eine kurze Frage VBA stellen? Folgende Situation:

Ich habe eine geodätische Kuppel gebaut und möchte ein Gleichungssystem mit 3 Gleichungen und 3 Unbekannten zu lösen:

Function GleichungsSystemMatrix3x3und1x3Parameter(Matrix1 As Range, Matrix2 As Range) As Variant
GleichungsSystemMatrix3x3und1x3Parameter = Application.WorksheetFunction.MMult(Application.WorksheetFunction.MInverse(Matrix1), Matrix2)
End Function

Und jetzt kommts: Da kommen also 3 Parameter r, t und w raus (so will ich sie später nennen) und die hätte ich gerne in Variablen geschrieben und eben nicht gleich in die Excelzellen, wie das der obige Code halt macht.

Hättest du eine Idee und Lust zu helfen?

LG, Axel

moin Axel,

du musst die Arrays richtig zusammenbauen, dann klappt es. Das Überwachungsfenster hat mir geholfen.

Sub LösungBerechnen()
Dim Matrix(2, 2) As Double
Dim Lö1(2, 2) As Double
Dim R1 As Double
Dim R2 As Double
Dim R3 As Double
Dim T1 As Double
Dim T2 As Double
Dim T3 As Double
Dim W1 As Double
Dim W2 As Double
Dim W3 As Double
Dim L1 As Double
Dim L2 As Double
Dim L3 As Double

R1 = 5
R2 = 3
R3 = 2
T1 = -1
T2 = 2
T3 = 2
W1 = 7
W2 = 5
W3 = 8

L1 = 3
L2 = 4
L3 = 1

Matrix(0, 0) = R1: Matrix(1, 0) = R2: Matrix(2, 0) = R3
Matrix(0, 1) = T1: Matrix(1, 1) = T2: Matrix(2, 1) = T3
Matrix(0, 2) = W1: Matrix(1, 2) = W2: Matrix(2, 2) = W3

Lö1(0, 0) = L1: Lö1(1, 0) = L2: Lö1(2, 0) = L3

MsgBox GleichungsSystemMatrix3x3und1x3Parameter_L1(Matrix, Lö1)
MsgBox GleichungsSystemMatrix3x3und1x3Parameter_L2(Matrix, Lö1)
MsgBox GleichungsSystemMatrix3x3und1x3Parameter_L3(Matrix, Lö1)

End Sub

Function GleichungsSystemMatrix3x3und1x3Parameter_L1(Matrix1 As Variant, Matrix2 As Variant) As Double
Dim Lösung As Variant
Lösung = Application.WorksheetFunction.mmult(Application.WorksheetFunction.MInverse(Matrix1), Matrix2)
GleichungsSystemMatrix3x3und1x3Parameter_L1 = Lösung(1, 1)
End Function

Function GleichungsSystemMatrix3x3und1x3Parameter_L2(Matrix1 As Variant, Matrix2 As Variant) As Double
Dim Lösung As Variant
Lösung = Application.WorksheetFunction.mmult(Application.WorksheetFunction.MInverse(Matrix1), Matrix2)
GleichungsSystemMatrix3x3und1x3Parameter_L2 = Lösung(2, 1)
End Function

Function GleichungsSystemMatrix3x3und1x3Parameter_L3(Matrix1 As Variant, Matrix2 As Variant) As Double
Dim Lösung As Variant
Lösung = Application.WorksheetFunction.mmult(Application.WorksheetFunction.MInverse(Matrix1), Matrix2)
GleichungsSystemMatrix3x3und1x3Parameter_L3 = Lösung(3, 1)
End Function

Liebe Grüße :: Rene

Laut einer Studie leben Frauen, die etwas mehr auf der Hüfte haben, länger als Männer, die es ihnen sagen.

Ich sehe schon: Montag ist Datentypen-Tag.

Letzte Woche auf dem Excelstammtisch „Wir im Norden“ kam die Frage auf: Woher holen sich die Datentypen die aktuellen Informationen? Und: wo werden sie abgelegt?

Von vorne: In einer Liste befinden sich Städte oder Ländernamen. Diese werden markiert und in Geographie-Daten umgewandelt:

Die Quelle der Daten wird angegeben. Sie ist bei dem Symbol „Karte anzeigen“ hinterlegt:

Am unteren Ende die Quellen:

Und wo werden die Daten gespeichert? Benennt man die Datei um, so dass sie die Endung *.ZIP hat, entpackt man sie, stellt man fest, dass ein neuer Ordner richData enthalten ist:

Darin befinden sich die Daten – abgelegt als XML-Datei:

Die Daten – Ausschnitt

Clever! Ziemlich clever!

1 2 3 8