In einem größeren Excel-Projekt sollen Daten zusammengefasst werden. Das kann man wunderbar mit einer Pivottabelle erledigen. Und über der Tabelle sollen sich Schaltflächen befinden, über welche man die Tabelle filter kann.
Auch kein Problem, denke ich – da kann man doch einen Datenschnitt verwenden:
Zu früh gefreut: mit einem Klick auf eine Schaltfläche soll sich die Farbe der Pivottabelle ändern. Okay – DAS könnte man noch mit einer bedingten Formatierung abfangen.
Allerdings soll auch jeder Button eine andere Farbe haben. DAS geht leider nicht!
Also überlege ich, Schaltflächen zu verwenden. Und einige wenige Zeilen VBA-Code:
Allerdings: der Kunde möchte die Beschriftung zweizeilig haben – in der unteren Zeile soll eine zweite Information stehen.
Also doch Formen. An diese kann man auch VBA-Code binden. Und somit die Pivottabelle filtern:
Man kann auch hier filtern:
Übrigens: die Farben der Pivottabelle habe ich über die Pivottable-Formate gesteuert: einem benutzerdefinierten Format werden die entsprechenden Farben zugewiesen.
Ich tüftle gerade an zwei Fragen zu einem Word-Dokument rum und komme nicht weiter. Jetzt dachte ich mir, frage ich mal einen Experten und hoffe, sie können mir helfen. 😊
Frage 1:
Ich würde gerne im Inhaltsverzeichnis die Ebenen A. und I. in einer Zeile darstellen getrennt mit einem Bindestrich.
Das würde dann so aussehen:
A. Xxx – I. Xxx …………………………………………2
Hätten Sie dazu eine Idee? Ich habe den Style Separator ausprobiert, der hat aber nicht geholfen.
Frage 2:
Bei dem Querverweis (full context) fehlt der Punkt am Ende nach der 1 – wie kann das sein? Muss ich den tatsächlich manuell ergänzen? Also: wenn ich in einer Liste nach der Nummer einen Punkt einfüge.
Ich bin für jede Hinweis zu diesen Problemen dankbar.
Liebe Grüße
####
Ich habe keine Idee. Ich fürchte, das erste geht nicht, das zweite ist mir noch nie aufgefallen. Wirklich erstaunlich!
Eigentlich schade. In PowerBI kann man in den neuen Karten Bilder einfügen:
Klasse! Man kann jedoch nicht bei den neuen Datenschnitten Bilder einfügen – dort muss man in ein Feld einer Tabelle die URL eintragen – das Bild von einer Webseite geholt:
Gestern erreichte mich folgende Mail, über die geschmunzelt habe – meine Hilfe war wohl ein Anschubsen (es ging um Visio-Programmierung):
Hallo Rene,
nein, nicht Du, sondern ich stand auf dem Schlauch!… Da ich mir von Mittendrin meines Programms ein Stück genommen hatte, gab es keine Zuordnung zur aktiven Page. Leider war auch die Fehlermeldung wenig hilfreich….
Problem gelöst – auf Deinen Seite hatte ich geschaut – war ja alles klar…., aber eben…
Danke trotzdem ganz toll! Aber das ist so was. Wenn ich mich an meine Dienstzeit erinnere – so haben wir viele Probleme so gelöst, dass man den Anderen alles erklärt hat. Und das hat oft gereicht, um das Problem zu lösen. Der Gesprächspartner musste oft gar nichts sagen, oder irgend eine dumme Frage stellen. Das hat die Gehirnwindungen zu anderen Pfaden veranlasst… Deine Sätze haben mir eben verraten, dass „fast alles richtig ist“ …. Dann ging es ganz schnell.
Ein interessanter Kommentar von Josef Feißt zum Thema Forms und Dezimalzahlen. Sehr interessant – vielen Dank für den Hinweis!
Mit Microsoft Forms auf dem Weg zur Weltherrschaft?
Manchmal frage ich mich, wie bei Microsoft eine Weltkarte aussieht … gibts da noch was anderes als die USA? 😉
Ich wollte per Forms Formular ein paar Informationen einsammeln. Dafür ist das Ding ja da, dachte ich. Dann freue ich mich auch noch, dass sich ein Eingabefeld auf das Format „Nummer“ beschränken lässt. Dass das auf Deutsch besser „Zahl“ heißen sollte, würde ich ja noch großzügig übersehen. Übersetzungen sind nicht unbedingt die Stärke von Microsoft. Aus dem englischen „Number“ wurde „Nummer“. Nicht schön, aber verkraftbar.
Nach einigen fröhlichen Eingaben wundere ich mich doch über die Ergebnisse. Erwartet hätte ich überwiegend Zahlen von 0 bis 10, vielleicht ein paar im Bereich bis 20, aber die Zahlen sind irgendwie viel größer. 5, 10, 15, 45, 65, 75, sogar 125, …
Was war passiert ⁉
Beim Eingeben ist das Formular doch mit dem Komma einverstanden, ich konnte es abschicken! Microsoft Forms hat ganz frech die Kommas über Bord geworfen! Einfach weg! So wurde dann aus einer 0,5 eine 5, aus 1,5 eine 15, aus 6,5 eine 65, … ihr wisst schon …
Jetzt wollte ich das genau wissen und hab ein Forms Formular mit 3 einfachen Fragen gebaut: 1️⃣ Textfeld ohne Limit 2️⃣ Textfeld mit Einschränkung auf Nummer 3️⃣ Textfeld mit Einschränkung auf >= 10
Es klappt nur, wenn man beim Eingeben einen Punkt als Dezimaltrennzeichen verwendet. Hätte ich mir ja denken können! Macht man in Amerika ja so! Es ist wohl noch niemand auf die Idee gekommen, dass es in anderen Ländern ein Komma als Dezimaltrennzeichen gibt.
Passt auf, wenn ihr Dezimalzahlen per Forms einsammeln wollt!
Chandeep Chhabra ärgert sich, dass es in Power Query keine Switch-Funktion gibt. Deshalb baut er sie mit M nach:
Eine sehr clevere Lösung, wie ich finde.
Allerdings: Ich habe sie an einer Datei mit 300.000 Zeilen getestet und festgestellt, dass sie zirka 40% mehr Zeit benötigt als mehrere verschachtelte If-Funktionen …
Das neue Visual „Karte (neu)“ in PowerBI ist klasse. Jetzt kann man mehrere Karten mit mehreren Elementen darstellen.
Allerdings: verwendet man für die Verweisbezeichnungen Zahlen (beispielsweise das Ergebnis von Measures), können diese leider nicht formatiert werden. Vielleicht kommt es ja noch …
Folgendes Problem: in einem Ordner befindet sich eine Datei.
Aus dieser Datei werden einige Spalten in einer anderen Datei benötigt. Dies kann prima mit Power Query umgesetzt werden.
Hinter dieser Datei werden weitere Informationen eingefügt:
Damit man die Originaldatei verändern kann, aber auch die in die Zieldatei neu eingetragenen Daten, geht man mit Power Query wie folgt vor:
Die intelligente Tabelle wird als zweite Abfrage in Power Query abgerufen:
Und mit der ersten Abfrage verknüpft:
Die eindeutige ID bildet hier die E-Mail-Adresse.
Die überflüssigen Spalten, die hier nun doppelt angezeigt werden, werden gelöscht
Klappt: die Originaldatei kann verändert werden (die Aktualisierungen werden in der Zieldatei angezeigt) und auch die Daten der neuen Spalten der Zieldatei können angepasst werden oder die Liste kann sortiert werden, ohne, dass die Aktualisierung etwas zerstört.
(danke an Hans-Peter Pfister für diesen Hinweis)
ABER:
Befinden sich die neuen Spalten INNERHALB der Datei, also beispielsweise so:
Wird nun diese intelligente Tabelle nach Power Query gezogen und dort mit der importierten Tabelle verknüpft:
Werden nach der Aktualisierung die Verknüpfungen zerstört:
Ich habe noch keinen Weg gefunden, dass die Zuordnungen korrekt bleiben – nach Sortieren und Ändern der Daten.
vielen Dank für Ihre Mühe. Mal sehen, wie lange es dauern wird, bis das Problem behoben sein wird.
Und da ich Ihnen schreibe, gleich eine Frage. Weil ich mich ein bißchen mit PowerPoint auskenne, wurde ich gefragt, ob es in Bezug auf den Folienübergang Vorhang, der sich öffnet, auch die Möglichkeit gibt, diesen Vorhang wieder schließen zu lassen.
Im Internet las ich, daß es mal möglich war.“
Hallo Herr F.,
den gab es in PowerPoint 2007, ist in PowerPoint 2013 verschwunden. In der aktuellen PP-Version kann man den Vorhang nur noch öffnen lassen.
Man gewöhnt sich so schnell an die Dinge: Mit der Tastenkombination [Umschalt] + [Strg] + [V] kann man in Excel Formeln durch Werte ersetzen. In Word wird der Text als reinen Text ohne Formatierungen eingefügt.
In der Excelschulung fragte eine Teilnehmerin, warum die Funktionstaste [F9] nicht funktioniere. Ich hatte erklärt, dass man mit [F9] das Ergebnis eines Teils einer Formel anzeigen lassen kann:
Ich musste es mir zeigen lassen.
Der Grund: [F9] wandelt die Markierung nicht in einen Wert um, wenn man die Maustaste gedrückt hält! Man muss sie loslassen!
Erstaunlich: Microsoft „puscht“ die intelligenten Tabellen. Jedoch in Word-Serienbriefe werden nur die Tabellenblätter angezeigt – nicht die Tabelle. Schade!
Auf den ersten Blick erstaunt es. Aber eigentlich ist es klar. Man muss nur genau hinschauen!
Ich erstelle in PowerBI ein Visual und füge einige Felder hinzu. Ich formatiere die Elemente und bin erstaunt, dass ich zwar die Legende, aber nicht die Small Multiples formatieren kann:
Blick zurück zu den Feldern: Klar: dort wurde nur ein Feld bei „Legende“, aber nicht bei „Small Multtiples“ verwendet:
Zieht man dieses Feld in die „Small Multiples“, kann man sie formatieren – und – selbstverständlich – nicht die Legende:
Fügt man in beide Felder etwas an, kann man natürlich auch beide Felder formatieren:
Ich erstelle in PowerBI ein (einfaches) Measure – hier: eine Summe. Und verwende es in einem Visual. Klappt.
Ich erstelle ein zweites Measure – diesmal mit AVERAGE statt SUM, das ich verwende. Klappt:
Ich ziehe das Zahlenfeld direkt in das Wertefeld. Die Summe funktioniert problemlos. Wechsele ich dagegen in „Visual formatieren“ bei Wert / Feld von Summe auf Mittelwert, versagt die Berechnung und Darstellung:
Fazit (war ja eigentlich schon klar): Für Daten und dahinterliegende Berechnungen sollten nicht die automatischen Berechnungen von PowerBI verwendet werden, sondern IMMER ein selbstgeschriebenes Measure.
Letzte Woche fand in London das dreitägige Excel summit statt. Viele spannende und lehrreiche Vorträge!
Bob Umlas hat auf folgendes amüsante Phänomen aufmerksam gemacht:
Mit der Kamera kann man einen Screenshot eines Bereiches erstellen, welcher dynamisch geändert wird:
Schiebt man nun den fotografierten Bereich über den Quellbereich, wird der Originalbereich mehrmals gezeigt (Stichwort: Spiegel im Spiegel im Spiegel …)
Ändert man nun allerdings einen Wert, wird er nur ein MAL geändert angezeigt:
Ändert man ihn erneut, wird er erneut einmal weiter gegeben, der alte Wert wandert ebenso eine Ebene tiefer.
Diese Woche werde ich nicht nörgeln. Ich verspreche es.
Excel ist schon klasse.
Und: in Excel kommen regelmäßig neue, brauchbare Funktionen hinzu. Wer Microsoft 365 hat, wird sie schon entdeckt haben. Hier Technik IV:
Markiert man in der Bearbeitungszeile oder in einer Zelle einen Teil einer Formel, wird im Quickinfo das Ergebnis angezeigt. [F9] ist nicht mehr nötig!
Diese Woche werde ich nicht nörgeln. Ich verspreche es.
Excel ist schon klasse.
Und: in Excel kommen regelmäßig neue, brauchbare Funktionen hinzu. Wer Microsoft 365 hat, wird sie schon entdeckt haben. Hier Technik III:
Im Kontextmenü befindet sich ein Textfeld für Suchbegriff. Damit gelangt man schnell zu Befehlen, die tief verborgen sind oder von denen man nicht weiß, in welchem Dialog / hinter welchem Symbol sie sich verbergen.
Man kann sie nun direkt aus dem Kontextmenü heraus verwenden:
Eine schöne Frage: in einer Datei befindet sich eine Tabelle.
In einer anderen Datei werden Teile dieser Tabelle verknüpft. Dahinter werden zu den entsprechenden Spalten weitere Informationen eingetragen. (Hier: Spalte A:C sind durch Power Query verknüpft; D wurde per Hand als zusätzliche Information eingetragen):
Nun wird in der Quelltabelle gearbeitet: Zeilen werden gelöscht; neue Daten eingetragen; die Liste wird sortiert. Egal ob man die zweite Datei per Formeln verknüpft hat (mit einem Bezug oder einer Formel) oder ob man Power Query verwendet hat – die Reihenfolge zu den per Hand eingegebenen Daten passt nicht mehr …
Die neue Quelltabelle:
Die Zieltabelle ist korrupt:
Ich weiß in Excel keine Lösung zu diesem Dilemma.
Das heißt: man muss alle Daten in EINER Tabelle halten!
Das andere Problem ist, dass ich die Tabelle davor schützen muss, dass meine Kollegen aus Versehen Eintragungen löschen können (wir arbeiten gemeinsam über eine NAS). Lediglich das Feld Doku soll geöffnet und genutzt werden können. Den Arbeitsmappenschutz habe ich auch hinbekommen, aber dann lässt sich die Doku nicht mehr öffnen.
Mit herzlichem Dank und freundlichen Grüßen
###
Hallo Frau H.,
Markieren Sie die Zellen, die alle bearbeiten dürfen. Über „Zellen formatieren“ (rechte Maustaste) und dort Registerkarte „Schutz“ heben Sie den Schutz („gesperrt“) auf.
Anschließend schützen Sie das ganze Blatt (Überprüfen / Schützen / Blatt schützen). Das Blatt ist geschützt außer den Zellen, die vorher „entsperrt“ wurden.
nachdem ich intensiv bei excel-nervt.de und in Ihren Youtube-Videos gesucht habe, aber leider keine Lösung gefunden habe, möchte ich anfragen, ob Sie mir helfen können.
Ich habe mich an eine Excel-Tabelle gewagt, komme jetzt aber nicht weiter. Ich habe Ihnen einen Ausschnitt der Tabelle angehängt. Gelungen ist mir das Einfügen von Bildern mit Mouse-Over-Effekt. Nun scheitere ich aber bei der Doku. Wir müssen aufschreiben, was wir mit den Klienten machen und ich habe ein Doku-Formular entworfen.
Auch das konnte ich in der Tabelle bereits einfügen, bin aber noch nicht zufrieden. Zum einen wäre es sehr hilfereich, wenn das Doku-Formular sich über =EINBETTEN(„Worksheet“;““) aus der Haupttabelle die entsprechenden Informationen wie Name, Vorname etc. „zieht“, so dass wir dies nicht immer per Hand eintragen müssen.
Hallo Frau Hantschick,
ein paar Tipps:
* ich würde das Einfügen folgendermaßen gestalten: Öffnen Sie beide Dateien. Klicken Sie in die Zelle, in welcher der Wert verknüpft ist und verweisen mit „=“ auf die andere Datei und dort auf die Zelle. Wandeln Sie den absoluten Bezug in einen relativen um (F4). Runter- und rüberziehen.
Also:
=[DOKU1.xlsx]Tabelle1!A1
Wenn Sie in einer Zelle eine Verknüpfung haben möchten, würde ich einen Link verwenden. Beispielsweise über das Kontextmenü.
schon mal versucht per VBA eine bedingte Formatierung zu setzen. Das geht ohne Probleme, solange man keine Formeln eingibt, die eine Funktion enthalten, z.B.
JAAA, das funktioniert … aber schick die Datei mal an jemanden, der englische Sprache eingestellt hat. Das funktioniert das dann nicht mehr!
Im VBA-Code muss ich, wenn als Sprache Deutsch eingestellt habe, die Formel auch mit dem deutschen Funktionsnamen eingeben, ansonsten ignoriert Excel die Bedingung . WTF
Schon vor dem gleichen Problem gestanden/gesessen? Ich habe aktuell das Problem, dass ich für eine Firma arbeite, deren Mitarbeiter unterschiedliche Sprachen in Office eingestellt haben, eigentlich habe ich keine Lust jetzt immer prüfen zu müssen welche Sprache gerade aktuell ist und entsprechend die Formeln zu setzen….
Allerdings: wenn die Amis Komma als Trennzeichen eingeschaltet haben, dann läuft das Teilchen auch an die Wand. Übrigens: ebenso die Formeln in der Datenüberprüfung.
Eine Teilnehmerin der Excelschulung schickt mir eine Datei, in der ich sehr viele bedingte Formatierungen finde:
Ich stelle fest:
1.) viele der Regeln wurden auseinandergerissen, weil mit Sicherheit Zeilen und Spalten kopiert, gelöscht, verschoben wurden, …
2.) viele der Regeln enthalten #BEZUG!-Fehler – hier wurde wohl etwas entfernt.
3.) ich finde Regeln der Form:
=ODER($C66="X";$C66="x")
Excel unterscheidet nicht zwischen Groß- und Kleinschreibung – muss also in der Formel auch nicht mit ODER abgefangen werden.
4.) Ich finde Regeln der Form:
=WENN($I$2="x";UND(ODER(J$14="Sa";J$14="So")))
Das WENN ist überflüssig; statt =“Sa“ und =“So“ kann man auch auf die Zelle verweise, in welcher das Datum steht und mit WOCHENTAG(Zelle;2)>5 arbeiten.
Eine Rechtsanwaltskanzlei zeigt mir ihre Excel-Vorlage, mit der sie arbeiten:
Darin befindet sich eine intelligente Tabelle mit dem Namen „Tabelle1“. So heißt auch das Tabellenblatt. Darin befinden sich Bereiche für Zahlen mit Zwischensummern (!), Text, Datum und Zahl wird in einer Spalte fröhlich durcheinander gewürfelt. Boah!
Ich vermute, dass sie die Idee der intelligenten Tabelle nicht ganz verstanden haben. Und diese nur für die lustigen Farben verwendet haben …
Verblüfft. Eine Teilnehmerin in einer Excelschulung sagt mir, dass eine intelligente Tabelle auf einem geschützten Arbeitsblatt liegt:
Sie möchte eine Pivottabelle erstellen, was mit Einfügen / Pivot-Tabelle nicht möglich ist.
Und umgekehrt:
Befindet sich der Cursor auf einem leeren, ungeschützten Tabellenblatt, klickt man dort auf Einfügen / Pivot-Tabelle , kann man den Namen der intelligenten Tabelle eintragen:
Vielen Dank für Ihre rasche Antwort und den Lösungsvorschlag
Ich habe das Video von Ihnen mit einem Kollegen durchgespielt, das ist auch für uns nachvollziehbar, allerdings die Variante mit einem physischen Bild in einem Speichermedium.
Das mittels API geneierte Bild(QR Code), welches in Excel direkt gespeichert ist, haben wir trotz Versuchs mehrere Möglichkeiten, nicht in den Serienbrief hineingebracht.
Vielleicht hätten Sie noch eine Idee dazu, ich darf Ihnen die Testdaten, mit denen wir es versucht haben im Email anfügen
Vielen Dank
MIt besten Grüßen aus Wien
###
Hallo Herr T.,
ich denke, dass Word nur Inhalt aus Datenquellen auslesen kann, keine Bilder. Auch die neue Excel-Funktion „Bild in Zelle einfügen“ bringt keinen Erfolg.
Ich sehe als Lösungen nur eine Programmierung oder die Feldfunktion.
Liebe Grüße
Rene Martin
###
Hallo Hr. Dr. Martin
vielen Dank für die rasche Rückinformation und die Zeit, die Sie sich genommen haben.
Ja es scheint so wirklich zu sein, allerdings unverständlich, ich werde noch probieren, das über den Update Anforderungskanal für O365 über unsere Firma einzubringen.
Funktionell spricht ja nichts dagegen, warum es nicht als Serienbrieffeld übertragen werden sollte, mal sehen.
Ja, okay – ich spiele gerne wördle. Aber ein Blick auf die Statistik / das Diagramm lässt mich erschaudern:
Vielleicht sollte man Zahlen nicht rechtsbündig darstellen und die Balken bis an die Zahlen heranführen. Denn so ist 96 kleiner als 124. Klar: die Anzahl der Ziffern von 96 ist keiner als die Anzahl der Ziffern von 124.
Wenn in WORD unter OPTIONEN / SPRACHE/ Office-Erstellungssprachen und -Korrekturhilfen Koreanisch eingefügt ist (die Korrekturhilfe muss nicht installiert sein) zeigt sich folgende Auswirkung. Beim Aufruf von ≪Eintrag markieren≫stehen hinter dem Haupt- sowie dem Untereintrag weiterer Textboxen mit der Bezeichnung ≪Überschrift≫. Kurios aber erklärbar. Hier kann der Text für den \y Schalter eingetragen werden.
Aber mit welchem Zeithorizont muss ich rechnen, dass Excel nur noch als Online-Version ausgeführt werden kann oder VBA ganz aus Excel verschwindet. Ich denke auch wenn ich mit VB.Net arbeite, wird das bei der Online-Version nicht gehen, da ich eine Lokal-Installation der Exe benötige.
Wenn ich VB.net innerhalb der Excel schreibe erhalte ich wieder ein Excel mit Makro.
Aktuell kann ich bei lokal-Installationen sagen, dass alle Online-Excel lokal geöffnet werden kann. Somit ist es mir egal, ob die Excel-Datei online oder lokal ist.
Die Programmiersprache JavaScript /Type Script, M, Dax kenne ich nicht.
Welche Sprache lässt zu, dass ich eine «chaotische» Excel-Datei habe (keine Strukturierten Daten) und bei Änderungen innerhalb von Zellen oder aktivieren eines Arbeisblattes, oder doppelklick usw. aktiv eingreifen kann.
Ich interpretiere die Aktion eines Users und leite diesen.
Somit schaffe ich immer intelligentere Lösungen innerhalb vom Excel und habe, das Ziel, dass der Anwender in der Schweiz immer weniger Fehler machen kann uns somit seine Daten an das Bundesamt für Statistik besser werden.
Ein Beispiel ist, wenn ein User Sagt, dass ich ein Gebäude besitze, dann werden die Abschreibung und Zinsen geprüft und mit der Grösse des Betriebs in relation gesetzt. Ebenso werden die Mieten in relation der Betriebsgrösse gesetzt und alles interpretiert. Dann wird analysiert in welcher KST die Anlagen erfasst sind und welche übrigen Anlagenutzungskosten diese Kostenstellen tragen und wie die Umlagen gesteuert sind. Wenn irgend was in dieser Konstellation nicht korrekt ist, dann wird der Anwender entsprechend hingeführt, was falsch sein könnte. Das ist zu komplex dies innerhalb einer Formel im Excel durch zu führen. Im VBA ist das ein grosser Code welcher viele logische Prüfungen durchläuft, und dann merkt, wo der Fehler sein könnte. Das ganze wird bei einigen Zellenänderungen angesteuert, damit diese Prozedur nicht immer durchläuft. So muss der User nicht daran denken ein Knopf zu drücken, sondern der Export an das Bundesamt für Statistik wird gesperrt wenn noch Fehler vorhanden sind.
Und ehrlich gesagt, ich habe keine Ahnung wie ich das anders Lösen sollte.
Wenn ich eine saubere Excel-Datei als Quelle nutze, die Daten automatisch systematisch auslesen, interpretieren, umwandeld, darstellen uws möchte sehe ich keine Herausforderung mit den anderen Programmeirsprachen, wenn man sie behersrscht (ist bei mir nicht der Fall) Freundliche Grüsse
###
Hallo Herr S.,
die Frage nach dem “wie lang“ müssen Sie an Microsoft stellen. Aber ich fürchte, dass Sie auch dort keine verlässliche Antwort erhalten.
Ich verlasse auf die Aussage eines Microsoft-Mitarbeiters auf der letzten Excelkonferenz in Sofia, der uns bestätigte, dass Excel NICHT VBA entfernen wird. Ich kann mir auch nicht vorstellen, dass das Desktop-Excel verschwinden wird.
Ein großer Teil meiner Einnahmen bestreite ich mit VBA – ich lebe davon und werde es wohl auch in Zukunft.
Ich habe gerade Ende letzten Jahres dem Gartenbaureferat der Stadt München vorgeschlagen, eine Lösung, die auf VBA basiert, einzuführen, damit sie ihr Bestellwesen vereinheitlichen können. Da die Stadt München in puncto Makros sehr restriktiv ist und prüfen müssen, dauert der Prozess wohl noch ein bisschen. Alle anderen Programmiersprachen würde nicht das Ergebnis erzielen, das sie haben wollen.
Und: so wie mir geht es vielen anderen auch. Ich bin zuversichtlich, dass wir noch sehr, sehr lange Excel als Desktop-Lösung haben werden und dass und VBA erhalten bleibt.
Schon wieder. Die Frage hatte man mir vor fast einem Jahr schon einmal gestellt. Kennt jemand die Antwort?
####
Moin René,
Kennst Du vielleicht folgendes Problem und/oder hast eine Idee wie man es lösen kann.
Ich habe (erstmals) eine Excel Objekt in Word eingefügt, d. h. nicht eine Verknüpfung erstellt, sondern die Daten sind direkt in der docx Datei enthalten. WORD->Einfügen->Objekt->Excel Worksheet (habs auch mit Excel Binary versucht)
Alles wunderbar. Habe dort einige Formeln reingeschrieben … hat alles funktioniert. Stolz habe ich mein Ergebnis an meinen Kunden geschickt, bei dem das auch alles funktioniert.
Wir machen einen Teams-Call und ich öffne die Datei bei mir, mach einen Doppelklick auf das Objekt und bekomme diese Fehlermeldung:
Das Problem tritt immer auf, auch wenn ich eine neue Datei anlege. Sobald ich die Datei schließe, komm ich an das Objekt nicht mehr ran (im Anhang ein Beispiel).
Bin jetzt schon den zweiten Tag am Versuch den Fehler zu finden.
Excel ist selbstverständlich installiert
Ich habe Office repariert
Ich habe Office neu installiert
Ich habe in Excel und Word alle Addins deaktiviert
ich habe die Registry überprüft und sichergestellt, dass dort (laut Google-Recherche) der korrekte Eintrag, für die XLSX drin steht
An anderer Stelle hab ich geprüft, dass der Pfad zu Excel.exe korrekt hinterlegt ist.
Irgendwo gab es noch den Tipp, dass man in den Optionen die Hardwarebeschleunigung in Excel/Word ausschalten soll, den Punkt gibt es in den neueren Versionen aber nicht mehr.
Alles nichts geholfen, chatgpt gibt auch nur das aus, was auf den Forenseiten steht. Verzweifelte Grüße
Ich habe eine Exceldatei in der Namen, Emailadressen und Kontodaten gespeichert sind. Dies sind Vereinsmitglieder unseres Amateurfunkverbandes.
Ich möchte nun einen Serienbrief per Email verschicken in dem auch ein QR Code enthalten ist, der direkt in einer Banking App am Handy zum Zahlen verwendet werden kann.
Dann sieht man den individuell generierten QR Code in der jeweiligen Spalte.
Nun möchte ich ein Word einen Serienbrief erstellen, das geht ja auch ganz einfach, nur das „Bild“ des QR Codes übernimmt er nicht nach Word.
Ein kopieren des angezeigten Bildes und einfügen als Inhalt in die Nachspalte in Excel geht auch, aber selbst dieses Bild wird in Word nicht übernommen.
Als PDF kann ich das Excel File tadellos mit den generierten Bildern ausdrucken
Vielleicht hätten Sie da einen Tipp für mich, ich kann Ihnen auch gerne
Beispieldateien zukommen lassen.
Für mich stellt es sich so dar, dass Bilder nicht in Word von Excel im
Zuge eines Serienbriefes übernommen werden können
Vielen Dank
###
Hallo Herr T.,
doch – ich habe bei LinkedIn ein Lernvideo dazu erstellt. Es funktioniert wie folgt:
Ich habe auf der Festplatte einen neuen Ordner angelegt. Diesen Ordner habe ich Neu genannt.
Ich öffne Word, erstelle in Word einen Serienbrief über Sendungen Seriendruck starten Briefe, wähle die Empfängerliste aus,
Ich brauche noch ein Feld. Und das weitere Feld füge ich über Einfügen / Schnellbaustein / Feld ein. Das Feld, das ich hierfür brauche, heißt IncludePicture. Mit IncludePicture verlangt er natürlich einen Dateinamen, der verknüpft wird, und den gebe ich hier an: den Ordner „Neu“. Und ich erhalte eine Fehlermeldung, weil ich ihm nichts gesagt habe. Ich breche die Felder wieder auf — Alt+F9 — ich greife hier rein und weise ihn an: IncludePicture, bitte hole mal über Sendungen Seriendruckfelder einfügen natürlich die Bildinformationen. IncludePicture,
Leider wird das Bild nicht korrekt angezeigt, wenn ich den Datensatz wechsel: Das ist eine unschöne Geschichte von Word, die Bilder werden leider nicht in dieser Seriendruck-Vorschau aktualisiert. Allerdings: markieren Sie das Word-Dokument, aktualisieren es — Felder aktualisieren ([F9])– und Sie sehen hier ein neues Bild.
Wenn Sie ein neues Dokument erzeugen, werden jetzt erst mal alle Dokumente dieses eine Bild anzeigen, aber wenn Sie die Feldfunktionen sich umschalten — also Alt+F9 — dann sehen Sie das Problem. Also, wenn Sie das ganze Dokument markiert haben und aktualisiert haben und dann runterscrollen, dann sehen Sie natürlich die richtigen Bilder für die entsprechenden Personen. Also: Strg+A — alles aktualisieren — entweder Kontextmenü oder die Funktionstaste F9 — und dann haben Sie die Bilder.
Ich kenne Power-Queri damit habe ich aber noch nie eine PDF hereingezogen. Geht denn das auch mit gescannten PDF’s? wie gesagt, es geht hier um das was die Kunden uns zu stellen. Und das ist wirklich sehr unterschiedlich.
Aber das schaue ich mir gerne an.
####
Hallo Herr S.,
1. Schauen Sie doch mal nach: Haben Sie in Excel Daten / Daten abrufen / aus Datei / Aus PDF?
Klicken Sie mal auf eine Rechnung? Bei meinen (alten) Telekom-Rechnungen hat es funktioniert. Vor Kurzem war ich in einer Firma – dort hatte auch jemand das Problem – Rechnungen als PDF … ging auch mit Power Query.
und dann muss ich (bei der Telekom) noch ein bisschen transformieren:
ich komme heute mit einer Frage auf Sie zu. Ich habe Visio 365 auf meinem Rechner (Windows11) installiert. Mein Visio verhält sich ganz komisch:
meine Shapes sind ALLE nur auf englisch beschrieben
in meinem Menüband sind die Befehle auf deutsch dargestellt, gehe ich jedoch in die Formatierung (z.B. Schriftart) sind diese Untermenüs ALLE durchgehend auf englisch dargestellt.
Kennen Sie einen Trick, wie ich diese Untermenüs sowie meine Shapes auf deutsch darstellen kann?
In den anderen Officeprogrammen (Word, Outlook, usw.) sind die Untermenüs alle richtig eingestellt.
Freu mich auf eine Rückmeldung von Ihnen.
Wünsch Ihnen eine gesundes und erfolgreiches Neues Jahr 2024 Viele Grüsse
Hallo Frau G.,
ich kenne das Problem. Manchmal macht eine Applikation bei MS Office sehr merkwürdige Dinge beim Sprachenwechsel. Bei Outlook ist mir dies an meinem Rechner und bei Firmen schon aufgefallen. Ein Problem (ohne Lösung) habe ich schon gepostet:
Wenn Sie das OUTLOOK-Problem mit den Sprachen googlen, finden Sie zahlreichen Vorschläge, wie man das in OUTLOOK wegbekommt. Ich fürchte nur, dass keiner dieser Tipps für Visio greift.
Das hilft Ihnen nichts.
Wenn Sie schnell Ihre deutschen Shapes haben möchten, finden Sie diese in:
Frage in der Excelschulung: in drei Spalten stehen verteilt Titel | Vorname | Nachname.
Sie sollen verkettet werden.
Wendet man die Blitzvorschau an und schreibt in die erste Zelle Vorname und Nachname, dann fehlt der Titel:
Hat die erste Person einen Titel und trägt man alle drei Informationen ein, wird ein Leerzeichen bei den Personen ohne Titel eingefügt:
Die Blitzvorschau führt hier zu keinem brauchbaren Weg.
Die Teilnehmerin, die die Frage gestellt hatte, war sehr traurig.
Die Lösung für das Problem heißt beispielsweise: die Funktion „TEXTVERKETTEN“.
=TEXTVERKETTEN(" ";WAHR;C2:E2)
Wichtig ist der Wert WAHR beim Parameter Leer_ignorieren. So wird bei Personen, die keinen Titel haben, die leere Zelle nicht mit einem Leerzeichen verkettet, sondern übergangen.
Gestern in der Excelschulung fragte eine Teilnehmerin, ob man die Daten für die Datenüberprüfung auch auslagern können. So, dass man von jeder Excelmappe darauf zugreifen könne und sie verwenden könne. Das geht leider nicht, war meine Antwort. Die Daten müssen innerhalb der Mappe liegen.
Sie war enttäuscht.
Aber dann zeigte ich ihr, dass man Daten als benutzerdefinierte Liste (in den Optionen) ablegen kann. Diese werden in Excel gespeichert – nicht in einer Arbeitsmappe. Und damit kann man schnell die gewünschte Liste erzeugen, die man in jeder Datei verwenden kann. Beispielsweise für die Datenüberprüfung.
Ich hoffe, sie hatten eine schöne Weihnachtszeit und ein guten Start ins neue Jahr. Immer wieder werde ich darauf angesprochen ob, VBA in den neuen O365 Packeten enthalten wird. Ich spüre ein Deaktivieren von VBA Beispiel im neuen Outlook. Welches nur mit einem Mausklick oben rechts am Bildschirm aktiviert werden kann. (ich habe es probiert und alle VBA’s gingen dann nicht mehr. Nach dem Googlen wurde mir klar, dass hier die Funktion «stillschweigend» deaktiviert wurde. )
Im Excel gibt es nun Automatisieren.
Aber damit werde ich nicht ganz schlau. So wie ich das gesehen habe, dann ich nur ein Prozess aufnehmen und eingeschränkt eingreifen. Gestartet muss es mit einem Mausklick oben auf dem Ribbon. Einige Funktionen fehlen mir, welche VBA anbieten.
Mittels VBA schreibe ich Funktionen, damit ich innerhalb der Funktions-Codierung kleinere Funktionen schreiben muss.
Mittels VBA starte ich Aktionen, wenn bei einer bestimmte Zelle eine Änderung gemacht wird, oder wenn ein Register gestartet wird
Mittels VBA übersteuere ich die Funktion Doppelklick und führe dann eine andere Funktion aus. (BSP im Pivot möchte ich nicht eine neue Tabelle erstellen, sondern gehe auf die Original-Tabelle und setze dort den Filter zum Pivot. Das sind die wichtigsten 3 Funktionen welche ich meines Wissens nicht über C# oder Python abdecken kann. Kennen Sie dazu Lösungsansätze oder Schulungsangebote? Wenn innerhalb von Excel die VBA deaktiviert wird, stehe ich gewaltig mit dem Rücken an der Wand.
Ich hoffe, dass Sie mir hierbei Auskunft geben können.
Freundliche Grüsse
Hallo Herr S.,
ich wünsche auch Ihnen ein gesundes, glückliches und aufregendes Jahr 2024.
Zu Ihrer VBA-Frage.
Inzwischen gibt es in Excel eine Reihe an Programmiersprachen:
VBA
JavaScript / TypeScript
M
DAX
bald kommt Python hinzu
Habe ich etwas vergessen?
Der Haken an VBA ist, dass es nicht im Internet läuft. Browser unterstützen kein VBA. Deshalb hat Microsoft JavaScript, beziehungsweise TypeScript ein. Ich habe es vor Kurzem wieder versucht: zeichnet man mit dem Makorekorder etwas auf, das die deutsche Sprache benötigt, also beispielsweise „Formatiere eine Zahl mit 0 „km“ oder formatiere ein Datum als TT-MM-JJJJ“ liefert das Abspielen einen Fehler.
Und ja: es gibt dort (noch) keine Dialoge: Interaktionen mit Anwendern sind mühsam. Auch das globale Verteilen auf mehreren Rechnern ist schwierig. Es gibt eine ganze Reihe an Hürden. Ehrlich: ich habe noch NIE eine Anfrage für TypeScript-Schulung oder -Programmierung erhalten.
Bald wird Python kommen – aber auch hier wird wohl nur der Umfang der Funktionen und Diagramme erweitert werden, wie ich das Ganze überblicke. Python bietet als offene Programmiersprache sehr viele Bibliotheken, die auch erweiterbar sind – MEHR als VBA, aber Python ist eigentlich nicht in erster Linie für MS Office-Produkte erstellt worden.
Schließlich kann man Excel „von außen“ programmieren: mit VS.NET und dort beispielsweise mit den Sprachen C# oder VB.NET. Da haben Sie mehr Möglichkeiten (beispielsweise bei Versionierung, Mehrsprachigkeit, weitere Steuerelemente, …) jedoch: das Debuggen ist sehr mühsam!
Hilft Ihnen das?
Liebe Grüße
Rene Martin
PS: ich habe JavaScript/TypeScript (also „Automatisieren“) übersprungen – ich werde mir aber Python ansehen, wenn ich es in Excel haben werde.
wieder wende ich mich mit einer Excel-Frage an Sie.
Als Anhang schicke ich Ihnen eine Excel-Datei, in der zwei bedingte Formate eingefügt wurden:
1. Die optische Hervorhebung der aktuellen Woche.
2. Die optische Hervorhebung des aktuellen Tages.
Gibt es die Möglichkeit, daß auch die Spalte des aktuellen Tages ebenfalls farblich hervorgehoben werden kann?
Vielen Dank im Voraus für Ihre Hilfe,
###
Hallo Herr F.,
haben Sie schon von KI gehört? Von ChatGPT oder copilot? Ich verwende sie seit einer Weile und empfehle allen, dies auch zu tun. Es hilft! Natürlich weiß ich die Antwort auf Ihre Frage. Ich habe die Frage bei ChatGPT gepostet und erhalte folgende Antwort:
In einer Excel-Datei befinden sich Datumsangaben. Mit zwei bedingten Formate sollen: 1. Die optische Hervorhebung der aktuellen Woche. 2. Die optische Hervorhebung des aktuellen Tages. Gibt es die Möglichkeit, daß auch die Spalte des aktuellen Tages ebenfalls farblich hervorgehoben werden kann?
ChatGPT Ja, es ist möglich, in Excel Datumsangaben mit bedingten Formatierungen hervorzuheben. Du kannst bedingte Formatierungen verwenden, um die aktuelle Woche und den aktuellen Tag in einer Excel-Tabelle zu markieren. Um auch die gesamte Spalte des aktuellen Tages farblich hervorzuheben, müssen wir eine Kombination von Formeln und bedingten Formatierungen verwenden. Hier sind die Schritte: Aktuelle Woche hervorheben:
Markiere die Zellen, die die Datumsangaben enthalten, für die du die aktuelle Woche hervorheben möchtest.
Klicke auf die Registerkarte „Start“ in der Menüleiste.
Wähle „Bedingte Formatierung“ > „Neue Regel“ aus.
Wähle „Formel zur Ermittlung der zu formatierenden Zellen verwenden“.
Gib die folgende Formel ein:
=UND(WOCHENTAG(A1)<>1; WOCHENTAG(A1)<>2; WOCHENTAG(A1)<>3; WOCHENTAG(A1)<>4; WOCHENTAG(A1)<>5) Diese Formel markiert alle Tage außerhalb der aktuellen Woche.
Klicke auf „Format“ und wähle die gewünschte Formatierung für die hervorgehobenen Zellen aus.
Bestätige alles mit „OK“. Aktuellen Tag hervorheben:
Wiederhole die Schritte 1-4.
Gib die folgende Formel ein:
=A1=HEUTE() Diese Formel vergleicht das Datum in der Zelle mit dem aktuellen Datum.
Klicke auf „Format“ und wähle die gewünschte Formatierung für die hervorgehobenen Zellen aus.
Bestätige alles mit „OK“. Aktuelle Spalte des aktuellen Tages hervorheben: Um die gesamte Spalte des aktuellen Tages farblich hervorzuheben, musst du eine Formel in der bedingten Formatierung verwenden, die die aktuelle Spalte prüft. Hier ist eine beispielhafte Formel für die Spalte A:
=SVERWEIS(HEUTE();A:A;1;0)=HEUTE()
Markiere die gesamte Spalte, in der die Datumsangaben stehen.
Wiederhole die Schritte 2-4 für eine neue Regel.
Gib die oben genannte Formel ein.
Klicke auf „Format“ und wähle die gewünschte Formatierung für die hervorgehobene Spalte aus.
Bestätige alles mit „OK“. Dies sollte die gewünschten bedingten Formatierungen für die aktuelle Woche, den aktuellen Tag und die gesamte Spalte des aktuellen Tages setzen. Beachte, dass die genaue Vorgehensweise je nach der Excel-Version, die du verwendest, leicht variieren kann. Formularbeginn
Ich habe es etwas anders gelöst. Mit den folgenden drei Formeln:
=A1=HEUTE()
(nur für die Zeile)
=A$1=HEUTE()
(für die ganze Spalte)
=KALENDERWOCHE(A1;21)=KALENDERWOCHE(HEUTE();21)
ich bin aktuell verzweifelt auf der Suche nach einer Lösung und eine Freundin von mir hat mir gesagt, dass Sie ihr netterweise eine Frage beantwortet haben und da dachte ich, ich versuche mein Glück ebenfalls. Ich habe einen Jahreskalender auf Excel erstellt und über das Jahr verteilt wiederholt sich ein Termin mehrmals, nur immer an einem anderen Tag. Gibt es die Möglichkeit, dass man die gesamte Tabelle so filtert, dass einem nur noch dieser Termin angezeigt wird? Also nicht nach einzelnen Spalten filtern, das kann ich, sondern das mir dieser Termin in jedem Monat auf einer Seite gleichzeitig angezeigt wird. Ich bedanke mich jetzt schon im Voraus vielmals!
Mit freundlichen Grüßen
####
Hallo Frau K., es kommt darauf an, wie Sie Ihren Kalender aufgebaut haben – untereinander, nebeneinander, verteilt auf mehrere Tabellenblätter. Und: haben Sie Microsoft 365? Haben Sie die (neue) Funktion FILTER? Gerne können Sie mir die Datei (oder einen Dummy) zuschicken – ich schaue es mir an:
####
Hallo Herr Martin,
vielen Dank für die schnelle Rückmeldung.
Anbei eine Dummy Version meines Kalenders. Ich habe jetzt beliebige Beispiele in die Monate eingetragen und Sport extra mehrmals zum Filtern.
Microsoft 365 habe ich leider nicht.
Liebe Grüße
Hallo Frau Kain,
ich hoffe, Sie haben die Funktion TEXTKETTE. Sonst wird es schwierig …
In A42 wählen Sie die Kategorie aus.
In C43 wird die Liste der Datumsangaben angezeigt.
Wie man die Balken in umgekehrter Reihenfolge in einem gestapelten Balkendiagramm darstellen könne, wollte ein Teilnehmer in der PowerBI-Schulung wissen.
Erstaunlicherweise findet sich diese Option nicht in „Visual formatieren“, sondern hinter den „weiteren Optionen (…)“:
Immer noch doof – weiter unten entdecken wir einen Namen, der noch nicht auf dem ersten Tabellenblatt auftauchte. Also ändern wir den Parameter wenn_nicht_gefunden in „“ – und schon verschwindet das #NV
Schaltzentrale Excel Wenn Sie viel mit Excel arbeiten, kennen Sie das Problem sicherlich: von einem anderen Menschen oder einem System erhält man Daten, die man beim besten Willen so nicht weiterverarbeiten kann. Um solche Daten zu „putzen“ gibt es nun mehrere Ansatzmöglichkeiten: Man kann sie mit einem der vielen Assistenten in Excel bereinigen, mit einer Funktion oder Formel oder mit Power Query. Natürlich stehen Ihnen auch Programmiersprachen zur Verfügung – aber darum soll es in diesem Buch nicht gehen. Neben dem zentralen Thema „Daten in Form bringen“, besser: die Daten so aufzubereiten, dass man mit ihnen effektiv arbeiten oder dass ein anderes System sie weiterverarbeiten kann, stehen einige weitere, kleinere Themen im Zentrum:
Excel schneller machen
Power Query schneller machen
Sachen „verstecken“
Sachen finden
Das und noch viele weitere Dinge habe ich zusammengefasst in meinem neuen Buch:
In der Excelschulung stoßen wir auf folgendes Problem:
Ein Datenbanksystem liefert die Daten einer Spalte entweder als Jahreszahl – Q1 (oder Q2, Q3, Q4) oder < 2018 Q1.
Angenommen man möchte nach dem Quartal oder dem Jahr filtern. Dann wäre es sinnvoll, diese Informationen in eigenen Spalten zu haben. Ich zeige die drei Techniken:
Daten / Text in Spalten
Blitzvorschau
Formeln
Als Formel, um das Jahr zu extrahieren, verwende ich:
=WENN(LINKS(K2;1)="<";TEIL(K2;3;4);LINKS(K2;4))
Ein Teilnehmer fragt, was denn wäre, wenn statt einem „<“ ein „>“ als erstes Zeichen in der Zelle stünde.
„Nun“, so lautet meine Antwort, dann könnte man überprüfen, ob das erste Zeichen eine Ziffer ist. Beispielsweise so:
Auch ISTTEXT funktioniert nicht. Das Problem: LINKS(K2;1) liefert immer einen Text – egal, ob es sich um eine Ziffer oder ein anderes Zeichen handelt. Eine Lösung für dieses Problem wäre beispielsweise:
Man multipliziert das erste Zeichen mit 1. Ist das erste Zeichen ein Buchstabe oder ein anderes, nichtnumerische Zeichen, ist ein Fehler die Folge. Dieser kann abgefangen werden.
Ich habe eine Weile suchen müssen, bis ich die Ursache gefunden hatte. Dann haben wir beide gelacht,
Jürgen fragt, ob ich einen Moment Zeit hätte. Einige Werte würden nicht angezeigt werden:
Meine erste Frage: Was berechnet denn die Formel? Ein Verweis von einer anderen Zelle auf die Zelle D2 zeigt, dass sich in der Zelle ein Wert (<> 0) befindet.
Meine zweite Vermutung: wie ist denn die Zelle formatiert? Die Antwort: Die Schriftfarbe ist „Automatisch“, das Zahlenformat „Standard“
Meine dritte Vermutung: und die bedingte Formatierung?
Sie sieht folgendermaßen aus:
Die erste Bedingung
=$E2=80
wird erfüllt. Die Schriftfarbe wird auf automatisch gesetzt; der Rahmen wird eingeschaltet.
Die zweite Bedingung?
=F2=1400
Sie wird ja nicht erfüllt – in F2 steht 2800. Oder doch?
Der Bereich, auf den die Bedingung angewendet wird, lautet $B$2:$D$31. Da bei der Bedingung das Dollarzeichen vergessen wurde, wird diese Bedingung auf alle drei Spalten angewendet; das heiß: F2 verschiebt sich nach G2 und H2. Da in H2 der Wert 1400 steht, ist die Bedingung DORT korrekt.
Jedoch: warum wird keine rote Hintergrundfarbe angezeigt?
Der Grund: beide Bedingungen sind in der Spalte D korrekt (und nur dort). Die erste Bedingung lautet: weißer Hintergrund; automatische (!) Schriftfarbe. Die zweite Bedingung: roter Hintergrund und weiße Schriftfarbe.
Die erste Bedingung gewinnt für die Hintergrundfarbe. Hätte man schwarze (!) Schriftfarbe verwendet, würde diese auch gewinnen. Jedoch: automatische Schriftfarbe heißt, dass bei der zweiten Bedingung die weiße Schriftfarbe nun gewinnt (!?!), jedoch nicht die rote Hintergrundfarbe!
Also: Dollar reinsetzen – und dann klappt es auch!
„Wir werden Änderungen an den Funktionen zum Abrufen und Transformieren von Daten (auch bekannt als Power Query) in Excel vornehmen.Anmerkung: Wenn Sie Power Query nicht verwenden, können Sie diese Meldung schließen.
Wann das passieren wird:
Ab dem 11. März 2024 werden wir wichtige Änderungen an den Funktionen zum Abrufen und Transformieren von Daten (auch bekannt als Power Query) in Excel einführen.
Wie wirkt sich das auf Ihre Organisation aus:
Jeder Benutzer, der versucht, Power Query nach dem 11. März 2024 zu verwenden und unter eines der folgenden Szenarien fällt, erhält eine entsprechende Fehlermeldung. Da wir die Benutzeroberfläche zum Abrufen und Transformieren von Daten (auch bekannt als Power Query) in Excel für Windows modernisieren, erfordern einige der Funktionen zum Abrufen und Transformieren von Daten Microsoft Edge WebView2 ( Microsoft Edge WebView2 | Microsoft Edge Developer), die auf dem Clientcomputer installiert werden soll. In Zukunft erfordern alle Funktionen zum Abrufen und Transformieren von Daten in Excel für Windows Microsoft Edge WebView2, daher empfehlen wir, diese Bibliothek jetzt zu installieren. Um unseren Kunden die beste Verschlüsselung ihrer Klasse zu bieten, planen wir außerdem, die Unterstützung von TLS (Transport Layer Security) 1.1 oder niedriger in Get & Transform Data (auch bekannt als Power Query) auf allen Plattformen einzustellen. Wenn eine bestimmte externe Datenquelle, mit der ein Benutzer eine Verbindung herzustellen versucht, nur TLS Version 1.1 oder niedriger unterstützt, kann er nicht über die Tools zum Abrufen und Transformieren von Daten in Excel auf die relevante Datenquelle zugreifen.
Was Sie tun müssen, um sich vorzubereiten:
Sie müssen: Installieren Sie das Microsoft Edge WebView2-Framework für bevorstehende Features zum Abrufen von Daten. Stellen Sie sicher, dass alle externen Datenquellen , die Sie mit Power Query verwenden, TLS Version 1.2 oder höher unterstützen – für Power Query im Allgemeinen.Bitte informieren Sie Ihren Helpdesk und aktualisieren Sie die Dokumentation entsprechend.Weitere Informationen finden Sie unter:Informationen zum Abrufen und Transformieren (Power Query) in ExcelVorbereiten von TLS 1.2 in Office 365 und Office 365 GCC | Microsoft Learn Aktivieren von Transport Layer Security (TLS) 1.2 auf Clients – Configuration Manager | Microsoft Learn
Einige Buchstaben sind in UTF-8 nicht nur im lateinischen Alphabet vorhanden, sondern auch im Griechischen oder Kyrillischen:
Und wie findet man diese Texte? Es fällt auf, wenn man einen Autofilter setzt, dass zwei Mal ein „ähnlicher“ Text in jeder Spalte steht:
Folgende Lösungsansätze habe ich gefunden, beziehungsweise wurden mir zugeschickt:
Mit Suchen / Ersetzen kann man den Inhalt der Zelle A1 löschen lassen. Übrig bleiben die Zellen, die „anders“ sind:
='Frohe Weihnachten'!A1="FROHE WEIHNACHTEN"
auf einem zweiten Tabellenblatt kann man die Zellen ermitteln:
3. Die Bedingte Formatierung liefert ein Werkzeug zum Auffinden:
4. Oder auch der Befehl „Zeilenunterschiede“, der im Assistenten Start / Suchen und Auswählen / Inhalte auswählen aktiviert werden kann. In Zeile 87 werden von Zelle B87:Q87 markiert – also unterscheidet sich A87
Nun gilt es, die Zeilennummer herauszufinden. Beispielsweise mit XVERGLEICH:
=XVERGLEICH(FALSCH;A1:A123)
Wichtig: die Zeilennummern müssen von links nach rechts – nicht von oben nach unten gelesen werden. Von oben nach unten käme das Lösungswort „Weghikorstuvy“ heraus.
Übrigens habe ich auch als „Lösungswörter“ erhalten:
Diese Lösungen kann ich leider nicht gelten lassen.
Wie wandelt man die Zahlen in Buchstaben um? Offensichtlich handelt es sich hierbei um den ASCII-Code oder ANSI-Code von Zeichen. Die Funktion ZEICHEN, aber auch UNIZEICHEN wandeln sie um, TEXTKETTE baut den Text zusammen:
Whiskyverkostung
Christian Neuberger hat mir folgende, sehr clevere Lösung geschickt:
Er wandelt alle Zeilennummern der Zellen in die Buchstaben um, wenn in der Zelle nicht „Frohe Weihnachten“ steht oder löscht den Text („“). Das Ergebnis verkettet er und erhält das Lösungswort. Großartig!
Neun richtige Einsendungen habe ich erhalten. Der Gewinner wird am Montag Abend ausgelost.
####
Aus den vielen Mails, die ich erhalten habe, hat sich folgende interessante Diskussion mit Alexander entsponnen.
Ich dachte immer, dass SO Mailadressen oder Internetseiten gefälscht werden. Wenn ich also statt des Buchstaben „x“ das kyrillische „x“ oder das griechische „x“ verwende, erhalte ich so:
eχcel-nervt.de oder eхcel-nervt.de
Bei manchen Schriften sieht man den Unterschied deutlich, bei anderen gar nicht.
Versucht man nun diese Seite zu öffnen, wird der Text plötzlich anders codiert. Die Seite kann nicht geöffnet werden (was korrekt und gut ist!):
Daraus hat sich mit Alexander Vogelmann folgende interessante Diskussion entwickelt:
„Das bringt mich auf eine fiese idee um vba und excel menschen zum nachdenken zu bringen. Schau mal in der angehängten datei gibt es 2 sheets mit identischem namen“
Sub lateinNameMitDeutscherTastaturGetippt()
' funzt
Sheets("Weihnachten").Range("C3").Value = "latein"
End Sub
Sub kyrillischNameMitcAufRussischGetippt()
' funzt nicht
Sheets("WeihnaÑhten").Range("C3").Value = "kyrillisch"
End Sub
Sub kyrillischNameAusSheetKopiwert()
' funzt auch nicht
Sheets("Weihna?hten").Range("C3").Value = "kyrillisch"
End Sub
„Und per makro kannst du nur das eine ansteuern, das in lateinsichem Zeichensatz benamt wurde, beim andern keine chance, auch nicht wenn man den sheet namen ins makro kopiert,
denn beim makroschreiben sit die Taste C eine andere als die Taste C beim sheet benamen oder werte in eine zelle schreiben verrückt…und witzig“
Danke für den guten und wertvollen Hinweis von Alexander Vogelmann und danke an alle, die mitgeknobelt haben.
Es fällt mir ein: in der Liste befinden sich mehr als 140.000 Datensätze – einige enthalten die Information „< 1919“. Da nur die ersten 1.000 Zeilen ausgewertet werden, ist dieser Fehler nicht in Power Query sichtbar.
Das heißt: der Datentyp der Spalte muss korrekt in Text verwandelt werden
Dann funktioniert die Sortierung:
Frage: Wer macht denn so etwas? – Zahlen und Texte in einer Spalte mischen? Seltsames Datenbanksystem, das hier verwendet wurde …
Liebe Microsoftis, nein: Das finde ich nicht gut. Ihr könnt doch nicht einfach die Tastenkombinationen wegnehmen. Oder ändern. Das geht nicht!
Ich korrigiere in Word einen Text. Ich bin der Meinung, dass eine Trennung nicht schön aussieht:
Diszip-linlosigkeit
Ich hätte die Trennstelle gerne so:
Dis-ziplinlosigkeit
Also setze ich den Cursor an die Stelle, drücke [Strg] + [-] und wundere mich, dass die Ansicht des Bildschirms verkleinert wird. Oha! Ein zweiter Versuch: Zoom wird noch kleiner!
Gegenprobe: der Gedankenstrich (vulgo: Halbgeviertstrich), also [Strg] + [-] (auf der Num-Tastatur): Zoom wird noch kleiner!
Ich werfe einen Blick auf die Registerkarte in Symbol / Sonderzeichen:
Tatsächlich: dort steht keine Tastenkombination beim bedingten Trennstrich mehr. Und die Tastenkombination beim Halbgeviertstrich funktioniert nicht mehr – sie wird wohl im Dialog bald verschwinden. Sehr schade, liebe Microsoftis, diese beiden Tastenkombination habe ich häufig verwendet!
Ich muss auf einem Excel Formblatt eine Kopfzeile als Tabelle formatieren. Siehe nachfolgende Screenshots aus dem Word und Excel. In der Kopfzeile von Word funktioniert die Tabellen Formatierung super.
Word:
In Excel nicht:
Hast du eine Idee, wie ich die Tabellenformatierung in die Kopfzeile von Excel bekomme? Ich habe die Excel auch angehängt.
Ich würde mich sehr über deine Hilfe freuen.
Mit freundlichen Grüßen / Best Regards
Matthias
Hallo Mattias,
schön, wieder von dir zu hören.
Zu deiner Frage: du kommst in Excel schnell an die Grenzen beim Formatieren: es gibt keinen Zeilenabstand, kein hängender Einzug, keine Aufzählungszeichen, kein Buchstabenabstand.
Und auch keine Möglichkeit die Kopfzeile ordentlich zu formatieren. Für senkrechte Linien habe ich keine Lösung.
Allerdings: mach doch einen Screenshot von deinem Kopf und füge den in die Kopfzeile ein.
In der letzten Excelschulung wollten die Teilnehmerinnen lernen, wie man in Word einen Serienbrief erstellt. Als ich erkläre, dass man mit einem Klick auf das Pfeilchen sich den nächsten Datensatz anzeigen lassen kann, ernte ich ein „das klappt bei mir nicht.“
Ich muss hinschauen, bis ich verstanden hatte: Ich hätte sagen sollen: „Klicken Sie auf das BLAUE Pfeilchen, um zum nächsten Datensatz zu springen und nicht auf den roten).“ Stimmt: ich muss die Anweisungen immer klar formulieren!
Bekomme beim Aktualisieren der Abfragen (255 angefügte Abfragen)
in Power Query immer den Hinweis ‚unerwarteter Fehler‘ zu lesen.
Die 255 Abfragen habe ich mir vom Internet nur als Verbindung heruntergeladen. Nach mehreren Versuchen wird die Abfrage doch aktualisiert.
Hallo Peter,
verstehe ich dich richtig: du kommst über den Fehler drüber, aber er nervt dich?
Du hast mehr als 220 Abfragen, die ALLE auf diese Internetseite zugreifen. Und alle liegen in einer Datei!
Frage: Gibt es keine Datenbank, die man direkt anzapfen kann? Ich habe mir die Seite angesehen – die Ergebnisse stehen wirklich auf jeder einzelnen Seite. Ich vermute, dass sie im Hintergrund per Programmierung (PHP?) erzeugt werden.
Ich habe mehrmals über das Thema «langsames Power Query» referiert – ich denke, Power Query schafft es nicht so schnell ALLE Abfragen zu aktualisieren und «verheddert» sich.
Ich fürchte die viele, viele Mühe, die du dir gemacht hast, führt zu dieser Fehlermeldung:
Benötigst du alle Abfragen?
Ich habe übrigens festgestellt, dass zu viele Abfragen – vor allem Abfrage auf Abfrage auf Abfrage auf … Power Query in die Knie zwingen. Lieber flach halten!
Hilft das?
Hallo Renè,
vielen, vielen Dank.
Ja, deine Information hat mir geholfen.
Bin zufrieden, dass der Fehler nicht bei mir liegt.
Dass Power Query viel Zeit benötigt um alle Abfragen zu aktualisiern
ist klar.
Nicht bedacht habe ich, dass es sich dabei ‚verheddern‘ könnte.
Alle Abfragen benötige ich.
Es gibt bedauerlicherweise viele Paare, die sich an die Verpflichtung
das Ergebnis innerhalb von drei Tagen zu melden, nicht halten.
Der Verband bönigt die Infdormationen der Platzierungen für die
Entscheidung bei Entsendungen zu Turnieren.
Anderer Ansatz.
Eine Tabelle für jedes Paar hatte ich mir schon überlegt, aber verworfen
da ich dachte, dass das mehr Zeit benötigt.
Erstelle nun Abfragen für jedes Paar einzeln.
Frage beim Verband nach, ob sie eine Abfragemöglichkeit bei WDSF
bekommen, bei der die gesamten Ergebnisse abzufragen sind.
Davon sprechen sie bei jedem Meeting seit Jahren. :-(((
VBA-Schulung. Eine Teilnehmerin möchte mehrere Diagramme per VBA nach PowerPoint von Excel kopieren:
Wir beginnen.
Wir setzen einen Verweis auf die PowerPoint-Objektbibliothek.
Wir greifen auf PowerPoint zu und lassen das Programm anzeigen:
Sub PowerPointZugriff()
Dim ppApp As PowerPoint.Application
Dim ppPräsentation As PowerPoint.Presentation
Dim ppFolie As PowerPoint.Slide
Dim xlBlatt As Worksheet
Dim i As Integer
Set xlBlatt = ActiveSheet
Set ppApp = New PowerPoint.Application
ppApp.Visible = msoTrue
Klappt.
Wir erstellen eine neue Präsentation:
Set ppPräsentation = ppApp.Presentations.Add
Klappt.
Wir fügen eine neue Folie ein – eine Fehlermeldung ist die Folge:
Ich erinnere mich: VBA schlägt zwar die Methode AddSlide mit zwei Parametern vor:
Korrekt wäre jedoch die Methode Add:
Set ppFolie = ppPräsentation.Slides.Add(1, ppLayoutTitleOnly)
Und damit funktioniert das Programm:
Sub PowerPointZugriff()
Dim ppApp As PowerPoint.Application
Dim ppPräsentation As PowerPoint.Presentation
Dim ppFolie As PowerPoint.Slide
Dim xlBlatt As Worksheet
Dim i As Integer
Set xlBlatt = ActiveSheet
Set ppApp = New PowerPoint.Application
ppApp.Visible = msoTrue
Set ppPräsentation = ppApp.Presentations.Add
For i = 1 To xlBlatt.ChartObjects.Count
Set ppFolie = ppPräsentation.Slides.Add(i, ppLayoutTitleOnly)
ppFolie.Shapes(1).TextFrame.TextRange.Text = "Überschrift " & i
xlBlatt.ChartObjects(i).Copy
ppFolie.Shapes.Paste
Next i
' Achtung: nicht AddSlides sondern Add
Schöne Frage in der Excel-Schulung: ob man Aufzählungszeichen formatieren kann. Wenn in einer Zelle eine kleine Liste steht, deren Inhalte mit einem Zeilenumbruch ([Alt] + [Enter]) getrennt sind.
Die Antwort: natürlich nicht!
Übrigens: Die untere Liste habe ich erzeugt, indem ich mit dem Ersetzen-Befehl den Zeilenumbruch ([Strg] + [J]) durch [Strg] + [J] plus Sonderzeichen ersetzt habe.
damit du auch wieder einmal etwas von mir liest, so sende ich dir eine einfache Frage.
Wie erklärst du in deinen Schulungen „Datei“ (im Ribbon)?
HI Jürgen,
ich spreche von „Registerkarten“. „Datei“ erkläre ich nicht gesondert. Das „Blatt“, das sich über das Programmlegt heißt „Backstagebereich“.
Übrigens: die kleinen Ecken in den Gruppen unten rechts heißen „Schnellstartsymbol für integrierte Dialogfelder“ oder kurz „Schnellstartsymbol“ oder auch „Startprogramme“.
da ich nicht davon ausgehe dass uns unsere eigenen Kollegen helfen können (wollen).
Präventiv mal auch die Frage an Sie – kann es an einer neuen Word Version liegen, dass unsere Globalvorlage nicht mehr im StartUp Center eingebunden ist?
Viele Grüße
Guten Morgen, Herr R.,
erst Antwort: ja – durch Versionswechsel können Änderungen (auch Fehler) passieren. (Vor Kurzem hatte ich einen …)
Zweite Antwort: Gegenfrage: Wie haben Sie die Vorlage eingebunden? Eine DOTX oder DOTM-Datei liegt im Startup-Ordner? Der Ordner ist immer noch in Datei / Optionen / Erweitert sichtbar? In Entwicklertools/Dokumentvorlage ist die Vorlage sichtbar? Haben Sie eine eigene Registerkarte? Ist sich sichtbar? Oder funktionieren die Makros nicht mehr?
Liebe Grüße
Rene Martin PS: Ich habe Word in Microsoft 365; Version 2310 – meine Vorlagen funktionieren (das habe ich vor Kurzem für einen Kunden erstellt):
Hallo Herr Martin,
anbei meine Antworten:
Wir hatten bisher eine Globalvorlage.dotm
Diese hatten wir im Verzeichnis Startup abgelegt und in Word eingebunden
Die Word – Optionen sehen jetzt aber auch ein wenig anders aus.
Folgendes habe ich jetzt mal getestet:
Ich bin über Verwalten – Vorlagen (Auswahl mit DropDown) – Los in folgende Ansicht gekommen:
Hier konnte ich die Globalvorlage.dotm hinzufügen und wenn diese aktiviert ist dann wird auch das Ribbon angezeigt.
Allerdings deaktiviert sich das beim Schließen von word und wieder neuem öffnen.
Hilft das Ihnen weiter?
Hallo Herr R.,
eine Info fehlt mir noch:
Klicken Sie mal bitte in Datei / Optionen / Erweitert und dort (ganz unten) auf Dateispeicherorte:
Ist in Autostart der Pfad eingetragen, der auf den Ordner zeigt, in dem ich Ihre Globalvorlage.dotm befindet?
Liebe Grüße
Rene Martin
Hallo Herr Martin,
jetzt kommt langsam Licht ins Dunkle.
Diesen Ordner AutoStart gibt es nicht bei mir.
Und das war früher der Ordner wo die Globalvorlage.dotm drin war.
Das heißt ich kläre mit unserer IT wo dieser Ordner ist… Oder
PowerPoint nervt auch. Ich soll mehrere Präsentationen überarbeiten. Und dort nachsehen, ob eine bestimmte Schrift vorhanden ist – sie mache manchmal bei bestimmten Kunden Schwierigkeiten.
Leider kann man in PowerPoint nicht nach der Formatierung suchen:
Also muss ich per Hand die einzelnen Textblöcke selektieren und den Namen der Schriftart prüfen. Mühsam!
Immerhin: mit der [Tab]-Taste kann man bequem jeden Block erreichen.
Excelstammtisch. Wir diskutieren ChatGPT und copilot. Ich zeige, dass die Lösungen manchmal nicht korrekt sind.
Problem: ich möchte mit VBA ermitteln, ob in einer Zelle eine Datenprüfung liegt. ChatGPT antwortet mir:
Sub CheckDataValidation()
Dim rng As Range
Dim validationType As XlDVType
' Definiere die Zelle, die du überprüfen möchtest
Set rng = Worksheets("DeinBlatt").Range("A1")
' Überprüfe, ob die Zelle eine Datenprüfung hat
If rng.Validation.Type <> xlValidateNone Then
' Erhalte den Typ der Datenprüfung
validationType = rng.Validation.Type
' Zeige den Typ der Datenprüfung in der Konsole an (kann angepasst werden)
MsgBox "Die Zelle hat eine Datenprüfung vom Typ: " & validationType
Else
' Wenn keine Datenprüfung vorliegt
MsgBox "Die Zelle hat keine Datenprüfung."
End If
End Sub
Ich teste:
Ich beschwere mich:
ChatGPT schlägt
xlValidateCustom
vor. Das Ergebnis, wenn keine Datenprüfung in der Zelle vorhanden ist:
Ich frage copilot. Die Antwort:
If Not Cells(1, 1).Validation Is Nothing Then
MsgBox "Die Zelle hat eine Datenüberprüfung."
Else
MsgBox "Die Zelle hat keine Datenüberprüfung."
End If
Das Ergebnis:
Das Makro meldet immer, dass die Zelle eine Datenüberprüfung hat.
Sämtliche Antworten sind falsch oder fehlerhaft.
Alexander lässt nicht locker. Er findet nach mehreren Versuchen eine Lösung bei ChatGPT:
Sub CheckNoDataValidationCriteria2()
Dim targetCell As Range
Set targetCell = Selection ' Hier die Zelle angeben, die du überprüfen möchtest
' Überprüfen, ob die Zelle eine Datenprüfung hat
If Not targetCell.Validation Is Nothing Then
' Überprüfen, ob spezifische Kriterien festgelegt wurden
Dim validationFormula As String
On Error Resume Next
validationFormula = targetCell.Validation.Formula1
On Error GoTo 0
If validationFormula = "" Then
MsgBox "Die Zelle hat keine spezifischen Datenprüfungskriterien (jeder Wert ist zugelassen)."
Else
' Kriterien in Zelle D1 schreiben
Range("B2").Value = "Datenprüfungskriterien: " & validationFormula
MsgBox "Die Zelle hat Datenprüfung mit spezifischen Kriterien. Die Kriterien wurden in Zelle D1 geschrieben."
End If
Else
' Wenn keine Datenprüfung vorhanden ist, Zelle D1 löschen
Range("B2").ClearContents
MsgBox "Die Zelle hat keine Datenprüfung."
End If
End Sub
Sie funktioniert: für Zellen mit und für ohne Datenüberprüfung:
Die Lösung funktioniert; der Denkansatz ist jedoch nicht korrekt:
kann ausgeführt werden oder nicht. Würde sie einen Fehler liefern (also keine Datenüberprüfung ist vorhanden), wird sie übergangen und validationFormula bleibt leer („“). Ich hätte es mit err.number überprüft.
Aber okay – ich gebe zu: man kann mit ChatGPT / copilot eine funktionierende Lösung finden. Wenn man beharrlich ist.
Danke an Alexander Vogelmann für seine Beharrlichkeit.
Auf einem Tabellenblatt befindet sich eine Liste. Sie soll an anderer Stelle mit PowerQuery wieder angezeigt – das heißt: per Power Query verknüpft werden. Das heißt: die Liste liegt nicht als intelligente Tabelle vor und soll auch nicht in eine (intelligente) Tabelle konvertiert werden.
Also greife ich mit Power Query auf die gleiche Datei zu und hole die Daten, die transformiert werden:
Ich teste und ändere eine Information. Das Aktualisieren funktioniert allerdings nicht!?!
Klar! Ich muss die Datei vor der Aktualisierung speichern!
Die Artikelliste ist inzwischen ausgewertet und ich muss diese vollständige Auswertung in ein anderes Datenblatt kopieren und noch weiter bearbeiten, was er mir leider nicht macht.
Was muss ich tun, damit das klappt?
Bin morgen ab 7:30 telefonisch erreichbar
Danke schon mal
Hallo Frau P.,
Es gibt zwei Lösungen:
Entweder Sie markieren den Bereich und kopieren ihn und fügen den Inhalt als Werte auf ein anderes Tabellenblatt
Oder Sie verwenden Power Query.
Ich denke, die erste Variante können Sie selbst (hat den Nachteil, dass die Daten nicht aktualisiert werden.)
Die zweite Variante können wir gerne „zusammen“ machen – ich kann Ihnen gerne per teams zeigen.
Liebe Grüße
Rene Martin
Guten Morgen Herr Martin,
mit copy-paste hatte es eben nicht geklappt. Doch ich habe heute morgen einfach mich fürs Tippen entschieden, da ich einen Teil normal kopieren konnte, war es dann doch nicht mehr allzu viel.
Lieben Dank für die Unterstützung und einen schönen Start in den Freitag.
Guten Morgen, Frau P.,
ups – ich dachte, Sie kennen diese Technik.
Wenn Sie den Bereich mit den Formeln kopieren, können Sie mit der rechten Maustaste an eine andere Stelle klicken und dort die Option „Werte (123)“ anklicken:
Dann werden nicht die Formeln, sondern nur die Zahlen übernommen.
Alternativ verwenden Sie „Inhalte einfügen“. Dort können Sie auswählen – beispielsweise „Werte und Zahlenformate“. Oder Sie verwenden den Assistenten zwei Mal: einmal mit „Werte“, einmal mit „Formate“
eine Teilnehmerin meines letzten Excelkurses hat folgende Frage gestellt: wie kann man, wenn man 1 Zelle anklickt die ganze zugehörige Spalte und ganze zugehörige Zeile farbig darstellen? Ich habe ein Makro vermutet – aber vielleicht geht es auch anders ?
Und dann habe ich eine Funktion nicht gefunden: Einfügen – nur Sichtbare Wir nutzen MS 365 – hat sich die irgendwo versteckt?
Herzliche Grüße
Hallo Angelika,
Antwort 1: mit den Tastenkombination Strg + Leertaste und Umschalt + Leertaste kannst du die Spalte oder Zeile markieren.
Antwort 2: Mit einem kleinen Makro kannst du es erreichen, dass eine Zeile und Spalte farbig wird.
Ich habe den Fünfzeiler mal programmiert:
* Makrosicherheit zulassen (in den Eigenschaften)
* Klick auf die neue Registerkarte / Bei Klick Zeile und Spalte markieren.
Die Buttons „merken“ sich die Einstellung
Public Sub cmdZeileEin(control As IRibbonControl)
ThisWorkbook.BuiltinDocumentProperties("Category").Value = "ein"
End Sub
Public Sub cmdZeileAus(control As IRibbonControl)
On Error Resume Next
ThisWorkbook.BuiltinDocumentProperties("Category").Value = ""
With Cells.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With ' -- alles ausschalten
End Sub
* Klick auf Zelle -> Zeile und Spalte werden gelb (scheußlich!)
* Mechanismus kann ausgeschaltet werden (zweites Symbol).
Antwort 3: Es geht mit einer Bedingten Formatierung
=Zelle(„Zeile“)=Zeile()
Zeile wird grau auf dem zweiten Tabellenblatt
Allerdings muss sie ausgelöst werden: durch Neuberechnung (F9) oder Zelle editieren (Doppelklick). Doof!
Schon doof. Ich bearbeite mehrere Folien in verschiedenen PowerPoint-Präsentationen. Da PowerPoint keine Formatvorlagen (Stile) hat, muss man sich bei verschiedenen Schriften / Schriftgröße, Formaten mit dem Wiederholen-Befehl behelfen: [Strg] + [Y] oder [F4] funktionieren.
Allerdings nur auf einer Folie. Wechselt man dies auf einer anderen Folie durchführen, ist das Wechseln zu nächsten Folie auch eine Aktion für PowerPoint. Und wird wiederholt. Und nicht das Formatieren des Textes …
Seit meinem letzten Beitrag zu den WORD-Feldfunktionen hat mich das Probier-Fieber gepackt. Ich habe mich intensiv mit den Feldfunktionen beschäftigt. Dabei konnte ich mein Verständnis vertiefen, so dass ich einige Probleme nun mit Feldfunktion lösen kann.
Zum Beispiel habe ich mehrere einfache Routinen zur Bestimmung der ISO-Kalenderwoche und des Wochentagindex entwickelt.
Außerdem habe ich eine Methode gefunden wie Zahlenwerte aus Tabellen ohne Verwendung von Textmarken auslesen werden können.
Bei diesen Versuchen bin ich aber auch über andere Aspekte gestolpert. Zum Beispiel habe ich eine Methode gefunden wie ausgeblendete Textmarken auch manuell gesetzt werden können.
Diese möchte ich dir vorstellen.
Ausgeblendete Textmarken in einem WORD-Dokument manuell setzen.
Laut Microsoft müssen die Namen von Textmarken mit einem Buchstaben beginnen (auch ein Unterstrich ist nicht erlaubt) und dürfen Zahlen und Buchstaben, aber keine Leerzeichen enthalten. Bei einem Verstoß gegen diese Regeln wird die Hinzufügen-Schaltfläche im Dialog deaktiviert.
Bei ausgeblendeten Textmarken handelt es sich um Textmarken, die Word für eigene Zwecke anlegt, wie z.B. für die Verwaltung von Hyperlinks und bestimmten Querverweisen. Der Name von ausgeblendeten Textmarken beginnen mit einem Unterstrich.
Dies würde bedeuten, dass ausgeblendeten Textmarken nicht von Benutzern gesetzt werden können.
Diese Aussage stimmt allerdings nicht.
Benutzer können vorhandene ausgeblendete Textmarken im Textmarken-Dialog überschreiben. Die Hinzufügen-Schaltfläche wird bei Eingabe eines vorhandenen ausgeblendete Textmarkenamens nicht ausgeblendet.
Beim Versuchen mit WORD-Feldfunktionen fiel mir auf, dass mit der Feldfunktion {SET} ausgeblendete Textmarken mit einem Unterstrich als erstes Zeichen erzeugt werden können. Beispielweise wird eine ausgeblendete Textmarke mit dem Namen _Test und dem Inhalt a durch Aktualisierung der Feldfunktion {SET _Test a} erzeugt.
Wenn nun ein Textbereich des Dokumentes markiert und der Textmarken-Dialog aufgerufen wird, kann diese Textmarke überschrieben werden. Allerdings muss danach die Feldfunktion im Dokument gelöscht danach werden, da ansonsten bei jeder Aktualisierung die Textmarkierung wieder überschrieben würde.
Wir haben heute von unserem Rechenzentrum Office 2021 erhalten.
Öffnen man nun Vordrucke mit dem Formular-Manager, wird das Datum auf Italienisch geschrieben.
Ich konnte rausfinden, dass das italienische Datum durch den VBA-Befehl
ActiveDocument.FormFields("Datheute").Result = Date
geschrieben wird.
Mir ist es jedoch ein Rätsel wieso, weil innerhalb Office alles auf Deutsch steht.
Erstelle ich ein Blanko-Datei mit nur einem Textfeld und der gleichen Funktion, wird das Datum auf Deutsch geschrieben.
Haben Sie eine Idee, wieso das so sein könnte? Freundliche Grüße
Hallo Herr H.,
italienisch … ich erinnere mich. In irgendeiner älteren Word-Version war ständig die Sprache italienisch – das nervte, weil man (ich) sie auf Deutsch (für Rechtschreibung und Silbentrennung) umschalten musste.
ersetzen Sie mal bitte die Zeile
ActiveDocument.FormFields("Datheute").Result = Date
durch
If ActiveDocument.FormFields("Datheute").TextInput.Format = "D. MMMM YYYY" Then
ActiveDocument.FormFields("Datheute").TextInput.EditType wdRegularText
ActiveDocument.FormFields("Datheute").Result = Format(Date, "D. MMMM YYYY")
End If
Achtung: diese Zeile befindet sich zwei Mal im Code!
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Der Klassiker! Inhaltsverzeichnisse in Word besitzen Hyperlinks. Ein Stichwortverzeichnis (Index) jedoch nicht. Nein, haben sie nicht – kann man auch nicht einschalten!
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Manchmal gibt es in Word Formatvorlagen, die auf anderen Formatvorlagen basieren. Sie müssen in den gelöscht werden, wenn man ein Inhaltsverzeichnis erstellt.
Eine Teilnehmerin fragt, ob man schnell alle Einträge löschen kann.
Leider nein, lautet meine Antwort. Man kann jedoch mit der [Tab]-Taste von Feld zu Feld springen und dann die Einträge löschen.
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Nicht nur bei den Querverweisen muss man zwei Mal klicken, um Nummer UND Text der Überschrift einzufügen. Auch bei der Feldfunktion STYLEREF, mit der man lebende Kolumnentitel in Word erzeugen kann. Auch hier muss man zwei Mal auswählen: für die Nummer (als Parameter) und für den Text:
In einer Spalte befinden sich Datumsangabe in der Form Monat – Tag – Jahr. Muss man Formeln oder Power Query bemühen, um diese Angaben in eine korrekte Form bringen?
Nein: der Assistent Daten / Text in Spalten hilft. Stellt man im letzten Schritt das Datumsformat MTJ ein, werden die Daten mit sich selbst überschrieben:
Und das Ergebnis steht in der korrekten Form in der Spalte.
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Die Teilnehmerin beschwert sich, dass ein Feld fehlt, wenn man Kapitelnummer UND den Text der Kapitelüberschrift in einem Querverweis eingeben möchte. Man kann nur das eine oder das andere auswählen:
Stimmt: man muss zwei Mal wählen – eine Option für beides wäre praktisch!
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Amüsant. Die Teilnehmerin fragt mich, warum Sie keine Textmarke erstellen kann. Die Schaltfläche „Hinzufügen“ ist ausgegraut. Ich antworte ihr, dass der Name ihrer Textmarke ein Leerzeichen enthält.
Wir scheuen es uns genau an:
Heißt die Textmarke „Rene“, darf ich sie so nennen:
Heißt die Textmarke „Rene “ (mit Leertaste am Ende, darf ich sie so nennen:
Heißt die Textmarke „Rene M“ (mit einem Leerzeichen dazwischen, darf ich sie NICHT so nennen:
Erstaunlich: Manchmal – nicht immer – stehen die „englischen“ Länder zwei Mal untereinander im Gebietsschema bei Power Query. Nach Zypern beginnt die Liste neu mit American Samoa. Das wäre nicht so schlimm – jedoch: Englisch (USA) steht nur einmal in der Liste – im oberen Teil. Ich weiß nicht, wann das passiert und wie man das wegbekommt …
In den letzten Tagen habe ich häufig Word unterrichtet. Und dort einige Fragen und Kommentare gesammelt. Beispielsweise:
Ich erkläre, dass unter einer Tabelle in Word IMMER eine Absatzmarke steht. Manchmal kann es passieren, dass eine Tabelle am Ende einer Seite steht. Dann befindet sich die Absatzmarke auf der anderen Seite. Sie soll aber nciht gedruckt werden:
Meine Lösung sieht vor, diese Absatzmarke einzeilig und mit einer Schriftgröße von 1 pt zu formatieren.
Eine Teilnehmerin meldet sich und sagt, dass man das Absatzzeichen doch auch ausgeblendet formatieren könne:
Claudia kommt in der Pause zu mir. Zwei Stunden habe sie den Fehler gesucht und nicht gefunden. Ob ich ihr mit einer Formel helfen könne, die nicht richtig rechne:
Der Bereich A2:A13 trägt den Namen Feiertage_BY, B2:B10 heißt Feiertage_HE.
Darin befinden sich die bayrischen und die hessischen Feiertage.
Markus arbeitet in Bayern; Boris in Hessen.
Claudia möchte mit der Funktion NETTOARBEITSTAGE ausrechnen, wie viele Tage Markus und wie viele Boris arbeiten muss. Für Markus erhält sie die korrekte Zahl 248; Boris muss drei Tage länger arbeiten – eigentlich 251 Tage. Excel jedoch berechnet 253.
Ich kontrolliere die Namen, die Formatierungen, die Formel – alles ist korrekt. Ich sehe nach, ob alle Feiertage auf einen Wochentag fallen. Stimmt auch. Dann prüfe ich die Feiertage.
Haben Sie es gesehen? In der Liste Feiertage_HE befinden sich zwei Mal die Tage 07.04.2023 und 10.04.2023. Allerdings fehlen die Weihnachtsfeiertage. Wahrscheinlich ein Kopierfehler …
Und dann klappt es auch. Und Claudia ist glücklich.
Ich habe genau dieses Problem, mit dem Löschen verhindern von einzelnen Tabellenblättern.
Die hier gezeigte Lösung erscheint recht logisch und einfach und wollte es auch in meiner Datei ausprobieren.
Habe den Code so übernommen (im Case-Bereich dann die Tabellenblätter die Benennungen angepasst)
Also:
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
Nur bei Sh.CodeName gibt es mir für CodeName immer „DieseArbeitsmappe“ an, statt den den eigentlichen Tabellenname.
Was mache ich falsch?
Vielen Dank für einen Tipp
Freundliche Grüsse
####
Hallo Herr W.,
Sie sind in „DieseArbeitsmappe“?
Sie sind im Ereignis: SheetBeforeDelete?
Testen Sie mal am besten in einer anderen, leeren Datei):
Private Sub Workbook_SheetBeforeDelete(ByVal Sh As Object)
MsgBox Sh.CodeName
MsgBox TypeName(Sh)
End Sub
Bei mir wird IMMER der Codename des Blattes angezeigt.
Eine Teilnehmerin in der Excelschulung fragt, wie man Dropdownlisten der Datenüberprüfung konfigurieren kann, damit eine Mehrfachauswahl möglich ist.
Ich erkläre ihr, dass das nicht möglich sei – für Mehrfachauswahl benötige sie ein Steuerelement. Und/oder VBA-Programmiercode.
Als ich nachfrage, warum sie mehrere Elemente auswählen möchte und was mit den ausgewählten Daten passiere, kommt sie ins Schleudern. Also vielleicht doch zwei oder drei Spalten mit solchen Datenüberprüfungslisten.
ich würde gerne bei dir einen 2 bis 3 Minuten-Support in Anspruch nehmen. Die bedingte Formatierung zeigt eine „Lücken“ an.
Gruß Jürgen
Es dauert wirklich nur drei Minuten. EIn Blick auf die Formel
=A2<>""
genügt. Da diese Formel in den Spalten C, D und E verwendet wird, „wandert“ der relative Bezug nach rechts. Und so wird in Spalte D auf Spalte B zugegriffen:
es droht ein langes Wochenende und bevor Dir vielleicht doch mal langweilig wird, muß ich Dir hier was zusenden:
Ich habe eine Excelmappe, die aus unerfindlichen Gründen neue Tabellenblätter mit dieser Formatierung anlegt und bei „bereinigten Blättern“, wenn ich Formatierung löschen anwende, die Zellen wieder auf diese saubl…. Formatierung setzt.
Wo ist da der Bug? – Dachte mir – das ist was für Dich:
Hi Angelika,
du meinst das Zahlenformat? Das wurde in „Standard“ in den Zahlenformatvorlagen eingestellt:
Es nervt: Über das Kontextmenü ändere ich an vielen Stellen die Spaltenbreite in Excel. Der Dialog wird angezeigt, der Mauszeiger befindet sich darüber – allerdings vor dem „?“-Symbol, so dass sich das Quickinfo „Hilfe“ über das Eingabefeld für die Zahlen schiebt. Immer!
Gestern in der Excelschulung. Warum die Blitzvorschau inaktiv ist, möchte eine Teilnehmerin wissen:
Ich werfe einen Blick auf das Menüband. Andere Symbole sind auch inaktiv:
Mein Blick geht noch weiter nach oben. In der Titelzeile finde ich die Lösung:
Die Teilnehmerin hatte aus Versehen zwei Tabellenblätter ausgewählt:
Warum? Wir hatten den Befehl [Umschalt] + [Strg] + [Pfeil] verwendet. Sie hatte fälschlicherweise auf [Umschalt] + [Strg] + [Bild unten] geklickt – so wird das zweite Blatt mit dem ersten selektiert.
Ein großes Dankeschön an Alan Murray, der am Montag den Excel Stammtisch in München ausgerichtet hat.
Dort kam die Frage auf, die leider nicht beantwortet wurde, ob man in Bedingte Formatierungen eigene Bilder einfügen kann. Fotos leider nicht, aber mit dem bedingten Zahlenformat können beispielsweise Smiley oder andere Icon eingefügt werden, entweder:
Gestern auf dem London Excel Meetup group, Munich, Germany.
Martin Weiß hat einen tollen Vortrag gehalten, wie man mit einer Hilfsspalte und der Funktion AGGREGAT überprüfen kann, ob eine Zeile ausgeblendet ist:
Ich wollte es mal wissen, ob sich AGGREGAT genauso verhält wie TEILERGEBNIS.
Zur Erinnerung: Die Funktionen SUMME, TEILERGEBNIS und AGGREGAT mit Parameter 9, beziehungsweise 109 berechnen die Summe:
Filtert man die Liste, werden nur die gefilterten Werte von TEILERGEBNIS und AGGREGAT summiert:
Blendet man Zeilen aus, werden diese nur von TEILERGEBNIS mit Parameter 109 und AGGREGAT summiert:
Filtert man die Liste UND blendet Zeilen aus, werden sie von TEILERGEBNIS und AGGREGAT summiert:
Das irritiert, weil die Hilfe erläutert, dass der Parameter 109 die ausgeblendeten und gefilterten Daten nicht summiert, der Parameter 9 jedoch nur die gefilterten.
Das heißt: Der Parameter 9 von TEILERGEBNIS summiert Werte von ausgeblendeten Zeilen, wenn kein Filter gesetzt ist, summiert sie jedoch nicht, bei einem eingeschalteten Filter.
AGGREGAT hingegen mit dem Parameter 9 verhält sich wie TEILERGEBNIS mit 109.
Word. Wird nervt auch. Kennen Sie das? Manchmal werden nur Teile eines Inhaltsverzeichnisses markiert. Oder Markierungen bleiben zum Teil bestehen, wen der Cursor an eine andere Stelle gesetzt wird:
Kann ich mit einer Serien-E-Mail auch unterschiedliche Anlagen pro Empfänger anfügen? Das habe ich bisher nicht entdeckt. Funktioniert das überhaupt mit Outlook oder muss ich ein Zusatztool dafür finden?
###
Schnell beantwortet: Nein! Das ist nur per Programmierung oder mit Zusatztools möglich.
habe was „Schönes“ in den Excel – Dateieigenschaften gefunden:
Als ich ein Addin an mene Kollegen verteilt habe, dem ich über den Windows – Dialog (Rechtsklick) „Dateieigenschaften“ > „Details“ einige zusätzliche Infos wie Titel, Betreff, Kommentare, etc. verpasst hatte, konnten diese das Addin nicht laden oder aktivieren. Beim direkten Start des Addins per Doppelklick kamen seltsame Fehlermeldungen wie „Excel kann auf die Datei ‚C:\Users\awa\AppData\Roaming\Microsoft\AddIns\Pro….xlam‘ nicht zugreifen. Dies kann mehrere Gründe haben:
– Name/Pfad nicht vorhanden
– Dokument wird von anderem Programm verwendet
– Name der Arbeitsmappe die gespeichert werden soll, ist identisch zu dem Namen eines anderen Dokuments, welches schreibgeschützt ist“
Kann nicht sein – als ich das Addin zuletzt getestet hatte, lief alles noch?!
Also habe ich mal dumm die von mir eingetragenen Dateieigenschaften Stück für Stück wieder rausgelöscht – und kam der Sache auf die Spur:
Bei „Revisionsnummer“ dürfen nur Zahlen eingetragen werden, keine Buchstaben oder Kombinationen mit Buchstaben!
Auch bei „normalen“ .XSLX – Dateien funktioniert diese Blockade (durch Eingabe von Buchstaben in die Eigenschaft „Revisionsnummer“) zuverlässig, nur die Fehlermeldungen sind dann andere:
„Wir haben ein Problem bei einigen Inhalten in ….XLSX erkannt. Sollen wir soviel wie möglich wiederherstellen? Wenn Sie der Quelle dieser Arbeitsmappe vertauen, klicken Sie auf ‚Ja'“
Wenn man das macht und die „Reparatur“ durchführt, hat die Datei anschließend die Revisionsnummer 1. Offensichtlich wird diese Eigenschaft von Excel selbst verwaltet / genutzt.
Nur schade, dass Windows ein Editieren durch den user zulässt, was zu den o.a. irritierenden Meldungen führt…
Liebe Grüße aus dem hohen Norden – andreas
####
Vielen Dank, Andreas, für den wertvollen Hinweis – bei XLAM-Dateien erhalte ich auch die Fehlermeldung – XLSX-Dateien kann ich jedoch problemlos öffnen. Dennoch: Vorsicht vor der Revisionsnummer.
Im Rätsel 5 bei der Funktion Wochentag – was ist der Unterschied zwischen Typ 2 und Typ 11? Mir sehen sie ident aus… Zahlen 1 (Montag) bis 7 (Sonntag).
Ich glaube nicht, dass es einen Unterschied gibt. Ich vermute, der Parameter 11 wurde aufgenommen, um Vollständigkeit bei „beginnt bei Mo, Di, Mi, …)“ zu haben – also eine zweite Liste, die sich mit der ersten überschneidet.
Ich habe jetzt von einem Kunden die Anforderung, eine Access-DB per zwei-Faktor-Authentifizierung zu schützen. Mir ist bisher nicht bekannt, dass Access so etwas ermöglicht. Weißt du, ob Excel oder Access so etwas anbietet? Access erlaubt ja die Verschlüsselung der DB, die per Passwort den Zugriff erlaubt. Aber das ist halt nur ein Faktor. Und hast du so eine Anforderung auch schon mal bekommen?
Schöne Grüße
Peter
####
Hi Peter,
das habe ich noch nie gemacht; und ich glaube auch nicht, dass das in Excel (oder Access) geht …
Gestern in der Excelschulung stellte eine Teilnehmerin eine Frage zu den 3D-Karten in Excel. Ich wollte ihr die Antwort geben, indem ich auf das Symbol klickte und erhielt:
Bei 3D-Karten ist ein Fehler beim Herstellen der Verbindung mit dem Microsoft Bing-Kartendienst aufgetreten. Die Funktionalität ist möglicherweise eingeschränkt (Statuscode: 1).
Es hat eine Weile gedauert, bis ich herausgefunden hatte, was die Ursache des Fehlers war. Die Lösung: Ich hatte keine Internetverbindung. DANN lief es!
Ich gucke gerne deine Excel Erklärvideos auf LinkedIn. Ich habe aber eine Frage und dachte ich wende mich mal an den Excel-Experten. Ich würde gerne eine Tabelle zum Tagesablauf anfertigen, in der ich in der ersten Spalte die Urzeit habe und in der zweiten Spalte die jeweilige dazu gehörige Aktivität. Da der Zeitplan noch nicht feststeht würde ich gerne, dass wenn ich eine Uhrzeit änder sich alle anderen auch anpassen. Also wenn ich 8:30 in A2 zustehen habe und in A3 9:20 und ich A2 aber auf 8:45 änder, dass sich dann A3 anpasst und sich auf 9:35 ändert. Hast du eine Idee wie ich das hinbekommen?
Danke in Voraus für deine Hilfe.
Viele Grüße, Marie
###
Hallo Marie, ja – das funktioniert mit Formeln. Wenn es eine Beziehung zwischen den Uhrzeiten gibt, kannst du sie einbauen. Also statt 8:30 und 8:45 schreibst du 8:30 und =A1+15/60/24 (oder die entsprechende Zelle). Alternative: Die Uhrzeit, die du hinzuzählst, steht in F1, beispielsweise 00:00:50 Dann steht in A1 =ZEIT(0;8;30)+$F$1 in A2 =ZEIT(0;8;45)+$F$1 Oder – letzte Variante – in der ersten Spalte steht deine Ursprungsuhrzeit (8:30, 8:45, … ) In einer Spalte daneben steht =A1+$F$1 Die Formel wird nach unten gezogen.
Bei der zweite Pivot Tabelle hat Excel hinter den Artikelnummer eine „2“ gestellt
####
Hallo Frau W.
schauen Sie mal, ob ein benutzerdefiniertes Zahlenformat oder eine bedingte Formatierung mit Zahlenformat – etwas in der Form @“2″ unter den Zellen liegt.
Amüsant: die Funktion TEILERGEBNIS liefert die Fehlermeldung #KALK:
Ich dachte, dass #KALK! nur bei den Arrayfunktionen als Fehlermeldung herauskommen kann.
Nein: wenn eine Arrayfunkion den Fehler #KALK! liefert und eine der „alten“ Funktionen damit weiter rechnet, kann dieser Fehler weiter gereicht werden:
Ich erhalte einige LibreOffice-Calc-Dateien mit der Bitte sie nach Excel zu konvertieren.
Kein Problem, denke ich und öffne die erste Datei in Excel: sechs Tabellenblätter, einige Formatierungen, einige Formeln, einige Dropdownlisten – nichts Aufregendes:
Ich speichere die Datei und bin erstaunt: die Dateigröße wächst von 70 KB auf 43 MB:
Die Ursache ist schnell gefunden: mit der Tastenkombination [Strg] + [Ende] springt Excel in die Zelle IW65538 – also das Ende von LibreOffice …
Heißt: Spalten markieren und löschen. Zeilen markieren und löschen. Und schon hat die neue Datei eine angenehme Dateigröße.
wenn du bei deinen Kunden eine Excel-Datei im Einsatz hast, die dann mit PowerQuery ausgestattet ist, wie lege ich die Schutzoptionen im Dialog fest, dass bei geschütztem Blatt die Option
Ich habe in einer Datei 46 Abfragen programmiert. Wenn ich die Abfragen manuell einzeln aktualisiere funktioniert das einwandfrei.
Wenn ich aber alle Daten aktualisieren lasse, dann stürzt mein Excel aufgrund zu wenig Ram ab.
Gibt es eventuell Einstellungen die ich ändern muss um Ram zu sparen?
Ich nutze aktuell eine 32 Bit Version von Excel. Laut unserer IT könnte ich eine 64 Bit Version bekommen. Liegt es eventuell daran?
Problem ist nur, dass später andere Personen die Datei nutzen sollen die unter Umständen keine 64 Bit Version nutzen.
Vielen Dank
####
Ich schaue es mir an: in verschiedenen Ordnern liegen Excelmappen:
Davon wird jeweils die neuste Datei verwendet, was man mit Sortieren und Zeilen beibehalten leicht erreichen kann.
Aus dieser Datei werden bestimmte Informationen (Datum, Status) ausgelesen:
Und tatsächlich: Bei Aktualisierung der Abfragen stürzt Excel auf einer 32-Bit-Maschine ab:
Die Lösung: Wir versuchen es. Wir erstellen EINE Abfrage, welche auf den übergeordneten Ordner zugreift, dort die Dateien der untergeordneten Ordner ausliest und mit geschickten Transformationen erhalten wir das Ergebnis in einer Tabelle. Diese lässt sich problemlos aktualisieren.
Ich bin begeistert: Formatiert man in Excel online eine Zelle als Datum und trägt dann eine Zahl ein, wird ein Datepicker angezeigt zur bequemen Datumswahl.
Schade nur, dass dieses Feature noch nicht in der Desktop-App vorhanden ist.
Ein HALLO und DANKESCHÖN für deinen Support über die Alpen,
bei uns bläst der Wind bei ca. 19 Grad und im WWW finde ich nicht die korrekte Lösung, wie man in einem Listenfeld eines Formulars die Spaltenkopfinformationen setzt.
Also unter:
Private Sub UserForm_Initialize()
findest du schon Mal den VBA, auch die Zeile ColumnHeads = True
aber das i-Tüpfelchen nicht, wie man die Daten aus dem Bereich A1:D1 des Tabellenblattes „Material Data“ übernimmt, fehlt mir noch. Die Lösungen des WWW führten leider nicht zum Erfolg. Dankeschön & Gruß Jürgen
Hallo Jürgen,
so geht es:
du musst einen Bereich definieren (mit Überschrift).
Und die Adresse (also $A$1:$D$14) an die RowSource übergeben.
Leider verlangt VBA die Adresse vom aktiven Blatt. Also muss man wechseln – möglicherweise am Ende wieder zurück:
With Me.LB_Entries
.ColumnHeads = True
Worksheets(„Material Data“).Activate
.RowSource = xlBereich.Address
End With
Den kompletten Code in deinem Beispiel findest du in der zweiten Userform:
Set xlBereich = Worksheets("Material Data").Range("A1").CurrentRegion
Set xlBereich = xlBereich.Offset(1, 0).Resize(xlBereich.Rows.Count - 1, xlBereich.Columns.Count)
With Me.LB_Entries
.ColumnHeads = True
Worksheets("Material Data").Activate
.RowSource = xlBereich.Address
End With
Was macht denn der? Plötzlich sind ganz viele Tabellen nach Schließen von Power Query in der Excelmappe.
Die Antwort: Er klickt im Power Query-Editor auf Datei / Schließen (wie auch in den anderen Office-Programmen).
Und so verwendet Power Query die Grundeinstellung, die man über die Abfrageoptionen ändern kann:
Ich erkläre ihm den Unterschied zwischen „Schließen und Laden“ und „Schließen und Laden in“ und empfehle ihm IMMER die letzte der beiden Varianten zu verwenden.
Manchmal sind einfache Fragen verblüffenderweise gar nicht einfach..
Ich zeige in der Power Query-Schulung, wie man in Excel einer Zelle einen Namen geben kann und diesen als Parameter für die Filterung einer Liste verwenden kann:
Dann kommt die Frage, wie man alle Daten sehen kann, wenn das FIlterkriterium leer ist:
Da Power Query kein If-Statement kennt, um Befehle bedingt auszuführen, also IF nicht in der Abfolge der M-Befehle kennt, sondern nur als Funktion, muss man sich mit einem Trick behelfen. Beispielsweise mit einer Funktion;
=if Ortsfilter = null then
"x"
else
if [Ort] = Ortsfilter then
[Ort]
else
null
Ach wie doof! Die Funktion OR (ebenso wie AND) kann in Power Pivot – anders als in Excel – nur zwei Argumente aufnehmen! Also genau so wie die Funktion CONCATENATE
Eine Abfrage wird mit Power Query auf Basis einer anderen Datei erstellt. Man kann in den Optionen einstellen, dass sie beim Öffnen der Datei aktualisiert wird.
Auf Basis dieser Tabelle wird eine Pivottabelle erstellt. Auch dort wird festgelegt, dass sie bei Öffnen aktualisiert wird:
Allerdings ist die Reihenfolge wichtig: zuerst muss die Abfrage aktualisiert werden und anschließend die Pivottabelle. Das ist so nicht gegeben.
Die Lösung: man muss mit dem Datenmodell arbeiten. Verwendet die Pivottabelle das Datenmodell, wird korrekt aktualisiert.
ich arbeite gerade an einer Excel-Datei (zum Üben).
In der Spalte A ab A2 bis A31 habe ich eine Liste hinterlegt, die sich auf die Nachnamen im Arbeitsblatt Belegung bezieht.
Nun würde ich gern die Matrix im Arbeitsblatt Belegung in eine formatierte Tabelle umwandeln. (Das ist kein Problem.) Nachdem ich dies getan, möchte ich gern folgendes erreichen:
wenn ich in die formatierte Tabelle einen neuen Namen einfüge, alle Nachnamen nochmals alphabetisch sortiere, soll der neu eingetragene Name in der Liste (Spalte A ab A2 bis A31) auftauchen.
Ist das möglich? Wenn ja, wie?
Vielen Dank im Voraus für Ihre Hilfe.
Mit freundlichen Grüßen
####
Hallo Herr F.,
der Trick ist, dass Sie dem Bereich der intelligenten Tabelle einen Namen geben müssen. Dann können Sie den Namen in der Dropdownliste verwenden.
Wird die Liste erweitert (oder verringert), passt sich die Liste an.
Man gewöhnt sich so schnell an die Vorteile, die ein Programm bietet und vermisst sie dann in einem anderen Programm.
Wenn man in Word auf ein Wort doppelklickt, wird das Wort und das nachfolgende Leerzeichen markiert. Das heißt: Drückt man die [entf]-Taste, steht zwischen beiden Wörtern nur noch ein Leerzeichen:
Wird es gelöscht, bleiben zwei Leerzeichen hintereinander stehen.
In einer Zelle befindet sich längerer Text mit Textumbruch. Die Zeilenhöhe wurde so groß gewählt, dass ein kleiner Teil des Textes verdeckt ist. Der Text sitzt an der Unterkante der Zelle. Die Zeile darunter ist sehr viel höher:
Mit einem Doppelklick wird die Zelle editiert. Dann „springt“ der Text nach unten und sitzt auf der Unterkante der unteren Zeile.
Ich zeichne mit dem Befehl „Aktionen aufzeichnen“ mit OfficeSkript den Befehl „benutzerdefiniertes Zahlenformat #.##0,00 „km“ auf:
Das Skript sieht so aus:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set number format for range C2:C6 on selectedSheet
selectedSheet.getRange("C2:C6").setNumberFormatLocal("#,##0.00 \"\"km\"\"");
}
Ich lasse es abspielen:
Analog: ich zeichne eine Summe auf. Der Code:
function main(workbook: ExcelScript.Workbook) {
let selectedSheet = workbook.getActiveWorksheet();
// Set range C8 on selectedSheet
selectedSheet.getRange("C8").setFormulaLocal("=SUM(C2:C7)");
}
Das Ergebnis:
In die Zelle wird SUM statt SUMME eingetragen – Excel schafft die Lokalisierung noch nicht. Da muss Microsoft noch einmal ran …
Seit ein paar Tagen öffnet ein Klick auf einen Link in einer Outlook-Mail Edge die Seite in Edge. Wenn Sie einen anderen Browser, beispielsweise Firefox, als Standardbrowser eingestellt haben, kann dies ärgerlich sein.
Allerdings ist das kein Problem: in Outlook kann man über Datei / Optionen / Erweitert die Links von Outlook wieder im Standardbrowser öffnen lassen:
Ich lege in einer Exceltabelle einen Druckbereich fest:
schaue mir das Ergebnis anschließend in der Seitenansicht im Druckendialog an
und wundere mich, dass Excel noch weitere Zeilen – außerhalb des Druckbereichs – ausdrucken würde.
Des Rätsels Lösung findet sich im Dialog „Seite einrichten“. Dort stelle ich fest, dass auch Wiederholungszeilen eingeschaltet wurden – diese werden auch gedruckt, unabhängig davon, ob sie sich im Druckbereich befinden. Eigentlich konsequent …
Sehr seltsam! In einer (intelligenten) Tabelle (tbl_Kunden1) wurde zeilenweise gerechnet. Der Betrag aus der Spalte Rechnungsbetrag wurde um 100 erhöht.
Kopiert man nun diese Formel in eine andere (intelligente) Tabelle, in der sich auch eine Spalte Rechnungsbetrag befindet, wird leider der Bezug auf die erste Tabelle mitgenommen:
Dort klickte ich im Menüband Einfügen > auf Diagramm. Ich nahm das als Standard festgelegte Säulendiagramm. Beim Auswählen erscheint eine Vorschau:
Klickt man auf OK, wurden Diagramm und Mini-Excel-Tabelle eingeblendet:
Kurios ist, daß das in meiner neuen Excel-Version 365 nicht mehr der Fall ist.
Nicht einmal eine Vorschau. Im Menüband sieht das so aus:
Also in Excel keine Vorschau und kein wirkliches Diagramm:
Ist das jetzt eine neue Einstellung in Excel oder ein Bug?
Wie ließe sich die ursprüngliche Einstellung wieder herstellen?
Denn es ist schon merkwürdig, daß die Diagramm-Einstellung in Word und PowerPoint funktioniert, nicht aber in Excel.
Hätten Sie eine Idee?
Mit freundlichen Grüßen
####
Hallo Herr F.,
ich verstehe: sie markieren eine leere Zelle oder eine leeren Bereich und erstellen daraus ein Diagramm. Und sehen nicht die verschiedenen Diagrammformatvorlagen. Ich auch nicht.
Stört mich das? Nein: ich erstelle zuerst einen Datenbereich und setze darauf das Diagramm auf. Dann habe ich den vollen Zugriff auf die Vorlagen.
Und: einige Dinge wurden geändert. Bleibt nur: wundern, staunen, manchmal Kopf schütteln. Allerdings: es sind auch Verbesserungen dabei.
Ich bin begeistert. Seit heute nervt mit Excel etwas weniger. Martin Weiß hat mich auf Excel Lab aufmerksam gemacht. Über die Add-Ins kann man dieses Office Add-In herunterladen und installieren:
Befindet sich in einer Zelle eine Formel, wird sie nach der Hierarchie der verschachtelten Funktionen analysiert. Sehr praktisch!
Dort kann man auch über den Aufgabenbereich die Formel bearbeiten und ändern!
Ich wollte folgendes machen: die E-Mails, die ich bekomme, sollen nicht nur im Posteingang von Outlook ankommen, sondern auch auf dem Server verbleiben.
Ich fand im Internet diesen Hinweis:
Das Problem ist nur, daß ich in diesem Fenster keine Schaltfläche namens: Weitere Einstellungen finde und damit auch nicht die nachfolgenden Hinweise in dieser Beschreibung:
Klicke ich unten auf Weiter, erscheint nur dieser Hinweis:
Mit freundlichen Grüßen
####
Stimmt, Herr F.,
HIER geben ich Ihnen recht (bei Umschalt + F5 in Word nicht *lach*)
Ist mir gar nicht aufgefallen, weil ich schon lange kein neues Konto importiert habe, bzw. geändert habe.
JA – DAS hat Microsoft wohl geändert (war früher anders – siehe Internet)
Ich fürchte, Sie müssen das Konto löschen und dann neu anlegen – DANN kommen Sie auf die benutzerdefinierten Kontoeinstellungen:
Und dort:
Stimmt: doof!
Und: auch hier: durch das ständige Ändern kann man sich nicht mehr auf Infos verlassen.
Vor einigen Jahren habe ich mal auf einer Microsoft-Konferenz gefragt, wie ich denn Bücher schreiben soll. Sie haben mir sehr irritiert angeschaut …
daß sich sehr oft die Einstellungen sowie Symbole ändern, ist wirklich nervig.
Ich hatte vor 365 Office 2019.
Übrigens, schon lange her, daß ich Sie das fragte: Umschalt + F5 funktioniert auch bei 365 nicht mehr, d. h. daß man mit diesem Tastenkürzel an jene Stelle kommt, wo man in Word zuletzt gearbeitet hat. Und auch dieses kleine Fenster, das rechts auftaucht und man darauf klicken kann, um an die zuletzt bearbeitete Stelle zu kommen, erscheint manchmal nicht. Damit ich nicht ewig scrollen muß, hatte ich mir vor Jahren schon angewöhnt, an die zuletzt bearbeitete Stelle drei X zu machen und diese steuere ich mit der Suchfunktion an. Not macht erfinderisch.
####
DOCH!
Umschalt + F5 funktioniert und das Symbol ist auch sichtbar:
Hallo Herr Martin,
habe es eben probiert: Umschalt + F5 funktioniert bei mir leider nicht.
Das Willkommen zurück-Fenster taucht auf (aber eben manchmal auch nicht). Weiß der Geier, woran das liegt.
An diese neuen Einstellungen muß ich mich gewöhnen.
Was mir z. B. bei Word auffällt, ist, daß in der Menüleiste, in der Gruppe Formatvorlagen, die einzelnen Felder für die Absatzformate breiter sind als nötig.
Gibt es eine Möglichkeit, die Breite dieser Felder zu verringern?
Es sieht so aus, daß ich mir ein Buch anschaffen muß, daß die Funktionen von Office 365 erklärt.
Ich bin mir nicht sicher, ob all diese Neuerungen sinnvoll sind, eher eine Verschlimmbesserung.
Mit freundlichen Grüßen
###
Hallo Herr F.,
ist DAS SO schlimm? Bei mir (Windows 10) sieht das so aus:
oder eine Vorlage:
Welche Office-Version hatten Sie zuvor? Word hat in den letzten Version immer schon sehr viel Platz für die Formatvorlagen verwendet – zu viel, wie ich finde. Anfänger verwenden sie nicht und Profis klappen den Aufgabenbereich auf:
Zu Ihrer Frage: nein – im Menüband können Sie keine solchen Einstellungen vornehmen.
DAS finde ICH nicht so schlimm.
Woran ICH mich bis heute noch nicht gewöhnt habe ist, dass Word, Excel & co «jeden Tag anders aussieht», das heißt: ich öffne das Anwendungsprogramm und Symbole sind anders beschriftet, anders platziert, es tauchen neue Symbole auf … Manchmal ein wenig nervig …
ich habe noch einmal gewühlt und selbst probiert – es scheint keinen trivialen Workaround zu geben, um mit VBA eine Mail zu verschlüsseln.
Dahinter liegen wohl andere Technologien (und ich weiß, dass Sie in Ihrer Firma auch externe Tools einsetzen), die sich nicht oder nicht einfach ansteuern lassen.
Ob ich mal kurz Zeit hätte. Eine Excel-Frage. Ganz dringend. Und sehr kompliziert.
Ich hatte Zeit und schaute mir das Problem an.
In einer intelligenten Tabelle befinden sich in einer Spalte lange Texte. Leider kann man sie nicht über die Zellen daneben zentrieren:
Stimmt – das ist in der intelligenten Tabelle verboten. Und das ist auch gut so.
Aber das ist so hässlich und nimmt so viel Platz weg. Und man kann nicht gut lesen.
Meine Antwort: Markieren Sie die Zellen, wählen Zellen formatieren / Ausrichtung und dort „Über Auswahl zentrieren“
Leider bleibt der Text zentriert (man kann ihn nicht linksbündig formatieren); aber damit konnte sie leben. Und war begeistert.
Und war noch begeisterter, als ich ihr den Tipp gab: mit [Strg] + [1] wechseln Sie in den Dialog „Zellen formatieren“ und mit [Strg] + [Y] oder [F4] wiederholen sie den letzten Schritt. So kann man die Tabelle schnell formatieren:
Ich suche per VBA eine Kostenstelle in einer anderen Liste und benötige die Zeilennummer, weil ich aus dieser Zeile mehrere Informationen auslesen will:
So steht beispielsweise der Wert von A2 (4711) in Zeile 5.
Sub Kostenstellensuche()
Dim strKostenstelle As String
Dim lngZeile As Long
strKostenstelle = ActiveSheet.Range("A2").Value
If Application.WorksheetFunction.CountIf(ActiveSheet.Columns("D"), strKostenstelle) > 0 Then
lngZeile = Application.WorksheetFunction.Match(strKostenstelle, ActiveSheet.Columns("D"), 0)
MsgBox lngZeile
End If
End Sub
Das Programm läuft leider an die Wand:
Die Match-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Der Grund: da ich nicht sicher bin, ob die Kostenstelle immer als Zahl vorliegt, habe ich sie in einer String-Variablen gespeichert.
Für CountIF (ZÄHLENWENN) stellt dies kein Problem dar; allerdings für Match (Vergleich). Also prüfen:
Sub Kostenstellensuche()
Dim strKostenstelle As String
Dim lngZeile As Long
strKostenstelle = ActiveSheet.Range("A2").Value
If Application.WorksheetFunction.CountIf(ActiveSheet.Columns("D"), strKostenstelle) > 0 Then
If IsNumeric(strKostenstelle) Then
lngZeile = Application.WorksheetFunction.Match(CLng(strKostenstelle), ActiveSheet.Columns("D"), 0)
Else
lngZeile = Application.WorksheetFunction.Match(strKostenstelle, ActiveSheet.Columns("D"), 0)
End If
MsgBox lngZeile
End If
End Sub
ich hoffe es geht dir gut, bei diesem schönen Wetter.
Die Zeitraumberechnung mit WORD-Feldfunktionen hat mich doch noch weiter beschäftigt. Ich habe mich deshalb etwas intensiver mit Formel zur Datumsberechnung und auch mit den WORD-Feldfunktionen beschäftigt.
Dabei habe ich einiges dazu gelernt. War dir z.B. bekannt, dass mit der SET-Funktion auch ausgeblendete Textmarken erzeugt werden können. Dazu muss der Textmarkenname nur mit einem Unterstrich beginnen.
Oder das mit Hilfe der QUOTE-Funktion strukturierte Feldfunktionskombinationen erstellt werden können.
Als Beispiel hänge ich eine Word Datei an die Mail. Bei der zur Berechnung der Zeitdifferenz in Version 1 nur 7 Zeilen benötigt werden. Bei Version 2 kann sogar eine Zeitdifferenz über mehrere Tage berechnet werden. Diese Version benötigt nur 15 Zeilen. Das Feldfunktion-Ergebnis wird aber in nur 1 Zeile dargestellt.
Schöne Grüß
Salü
Ernst
####
Berechnen einer Zeitdifferenz mit WORD-Feldfunktionen.
Die Berechnung einer Zeitdifferenz mit WORD-Feldfunktionen soll nicht oder nur mit viel Aufwand möglich sein. Das ist nicht richtig.
Durch eine Kombination der Feldfunktionen {=}, {SET} und {QUOTE}, sowie der Anwendung von Format-Schaltern ist dies sogar strukturiert möglich.
Vorbemerkungen:
Laut Hilfe ordnet die Feldfunktion SET einer Textmarke Text zu. Syntax: {Set Textmarkenname „Text oder Feldfunktion“} Das auch ausgeblendete Textmarken so erzeugt werden können, wird in der Hilfe nicht beschrieben. Dazu muss der Textmarkennamen nur mit einem Unterstrich beginnen.
Wenn die Feldfunktion QUOTE mit Formatierungsschalter verwendet wird, werden alle anderen Inhalte ausgeblendet. Dies gilt auch für LF und CR. Dadurch kann die jeweilige Feldfunktionskombination strukturiert geschrieben werden. Sie muss nur von der QUOTEN Feldfunktion umschlossen sein.
Weiterer Hinweis:
Durch Kombination dieser 3 Feldfunktionen können noch weitere Datumwerte errechnet werden.
Beispielweise
Die Bestimmung ob ein Jahr ein Schaltjahr ist.
Anzeige des Druckdatum plus x Tage.
Berechnung des Wochentags als Zahl (Montag = 1)
usw.
Ver. 1 – Für eine Zeitdifferenz die kleiner als 24 Stunden ist.
Bei dieser Version besteht die Feldfunktionskombination aus nur 7 Zeilen.
Im nachfolgenden Beispiel ist den Zellen B1 und B2 vorher den Textmarken „StartZeit“ und „EndZeit“ zugeordnet worden. Die Feldfunktionskombination steht in Zelle B3.
Diese Methode hat unter anderem den Vorteil, dass die Zeit in jedem Format angegeben werden kann, die WORD als Zeit interpretiert. Z.B. statt 16:47 auch als 4:47 pm.
Natürlich muss nach jeder Änderung der Zeiteingabe die Feldfunktionskombination aktualisiert werden. Beispielsweise durch F9.
Zeile 1 und 7 umschließt die gesamte Kombination und formatiert die Ausgabe im Format „H:mm“. Das Ergebnis wird dadurch in einer Zeile angezeigt, obwohl die Kombination aus 7 Zeilen besteht.
In Zeile 2 und 3 werden die Daten aus den Textmarken in interne Textmarken übertragen. Diese Zeilen müssen angepasst werden. Hier müssen die Textmarkennamen eingetragen werden.
Zeile 4 extrahiert die Stunden und Minuten aus den Eingaben. Die Startzeit wird von der Endzeit subtrahiert. Dazu werden die Stunden, durch Multiplikation mit 60, in Minuten umgewandelt. Das Ergebnis wird in die Textmarke _Zeitraum übernommen.
Zeile 5 überprüft ob der Wert kleiner 0 ist. Dies tritt dann ein, wenn die Endzeit einen Tag später als die Startzeit liegt. Ist dies der Fall wird 1440 dazu addiert und das Ergebnis in die Textmarke _Zeitraum übernommen.
Zeile 6 wandelt das Minutenergebnis in Stunden und Minuten um und gibt dies als Text aus.
Ver. 2 – Für eine Zeitdifferenz die größer als 24 Stunden ist.
Bei dieser Version besteht die Feldfunktionskombination allerdings aus 15 Zeilen.
Im nachfolgenden Beispiel ist den Zellen B1 und B2 vorher den Textmarken „StartZeit2“ und „EndZei2“ zugeordnet worden. Die Feldfunktionskombination steht in Zelle B3.
Auch diese Methode hat den Vorteil, dass das Datum und die Zeit in jedem Format angegeben werden kann, die WORD als Datum und Zeit interpretiert. Z.B. kann statt 12.06.2023 17:45 auch 12. Juni 2023 5:45 pm geschrieben werden. Allerdings werden somit auch nur Datumswerte zwischen dem 1.1.1901 und 31.12.4095 erkannt.
Natürlich muss auch hier nach jeder Änderung der Datums- und Zeiteingabe die Feldfunktionskombination aktualisiert werden.
Zeile 1 und 15 umschließt die gesamte Kombination und formatiert die Ausgabe. Das Ergebnis wird dadurch in einer Zeile angezeigt, obwohl die Kombination aus 15 Zeilen besteht.
In Zeile 2 und 3 werden die Daten aus den Textmarken in interne Textmarken übertragen. Diese Zeilen müssen angepasst werden. Hier müssen die Textmarkennamen eingetragen werden.
In Zeile 4 wird der Tag aus der Startzeit extrahiert.
In Zeile 5 wird der Monat aus der Startzeit extrahiert und wenn dieser kleiner als 3 ist, wird 12 addiert.
In Zeile 6 wird das Jahr der Startzeit extrahiert und wenn der Monat vorher kleiner als 3 war wird 1 subtrahiert.
In Zeile 7 wird errechnet wieviel Tage ab 1.1.1901 00:00 bis zur Startzeit vergangen sind.
In Zeile 8 wird der Tag aus der Endzeit extrahiert.
In Zeile 9 wird der Monat aus der Endzeit extrahiert und wenn dieser kleiner als 3 ist, wird 12 addiert.
In Zeile 10 wird das Jahr der Endzeit extrahiert und wenn der Monat vorher kleiner als 3 war wird 1 subtrahiert.
In Zeile 11 wird errechnet wieviel Tage ab 1.1.1901 00:00 bis zur Endzeit vergangen sind.
In Zeile 12 wird, nach Umrechnung in Minuten, die Startzeit von der Endzeit subtrahiert und somit die Zeitdifferenz in Minuten errechnet.
In Zeile 13 und 14 wird das Minutenergebnis in Tage, Stunden und Minuten umgerechnet.
in Zeile 14 werden der Stunden- und Minutenwerte ausgegeben.
Der Auftrag hörte sich einfach an: Der Kunde wollte ein Add-In, welches alle Dateien aus allen Unterordnern vom firmeneigenen Sharepoint herunterlädt und in bestimmten Zellen Werte einfügt.
Der Knackpunkt war: Sharepoint!
Ich habe lange getüftelt, wie ich „auf den Sharepoint komme“, wie ich die Ordner und Unterordner und die dort befindlichen Dateien auslesen könne. Und herunterladen und bearbeiten.
Irgendwann kam mir die Idee: nicht mit VBA und DIR oder den FileScription-Objekt auf den Ordner losgehen, sondern mit Power Query! Damit kann man leicht alle Dateien aller Unterordner auslesen und auflisten. Der Befehl
SharePoint.Files
macht es möglich. Dieses Power Query-Skript kann leicht mit VBA aufgerufen werden (der Makrorekorder zeigt, wie das funktioniert:
Nein – das erfreut mich gar nicht. Den ganzen Tag habe ich VBA in Excel programmiert – getestet, angepasst, verändert, getestet, … Plötzlich funktioniert es nicht mehr. Ein Modul ist nicht mehr erreichbar. Ich versuche es zu retten; zu exportieren:
Modul nicht gefunden.
Keine Chance – kein Zugriff auf das Modul und den Code.
Also noch einmal von vorne … Zum Glück hatte ich Datei vom Vortag und zum Glück waren es nicht sehr viele Funktionen …
Sehr geehrter Herr Martin, Heute habe ich folgende Frage. Wenn ich Wörter miteinander verketten möchte, habe ich bisher die Funktion Verketten genommen, wo ich auch zwischen 2 Wörtern ein Komma setzen konnte:
So weit, so gut. Nehme ich aber die Funktion Textverketten, funktioniert es nicht mit dem Komma:
Frage: Was müßte ich tun bei der letzten Funktion, um z. B. zwischen Nachname und Ort ein Komma zu setzen, dem ein Leerzeichen folgt?
####
Hallo Herr F.,
nein, mit TEXTVERKETTEN können Sie nicht mit unterschiedlichen Trennzeichen verketten. Der Gedanke ist, dass TEXTVERKETTEN mit Bereichen arbeitet:
=TEXTVERKETTEN(„; „;WAHR;A2:H2)
Wenn Sie einzeln verbinden möchten, müssen Sie auf das «&» zurückgreifen oder die alte VERKETTEN-Funktion verwenden.
Ich benutze TEXTVERKETTEN gerne, wenn ich eine Reihe an Mailadressen habe – dann verbinde ich sie zu einer Zeile:
=TEXTVERKETTEN(„;“;WAHR;A1:A555)
und kann sie so über Outlook in das An-Feld eintragen. DAS würde mit VERKETTEN nicht funktionieren.
Man muss immer aufpassen! Ganz genau hinschauen! Mal eben schnell – das geht einfach nicht!
Ich wollte nur „mal schnell etwas probieren“. Mehrere Mails über Outlook aus Excelversenden an die Mailadresse, die in einer Liste stehen.
Also mal schnell etwas Code getippt (mit einem Verweis auf die Microsoft Outlook-Bibliothek):
Sub MailVersenden()
Dim olApp As Outlook.Application
Dim olMail As Outlook.MailItem
Dim i As Integer
Set olApp = New Outlook.Application
Set olMail = olApp.CreateItem(olMailItem)
For i = 2 To Range("A1").CurrentRegion.Rows.Count
With olMail
.To = Range("B" & i).Value
.Subject = "Diese Mail ist völlig überflüssig"
.Body = "Hallo " & Range("A" & i).Value & "," & vbCr & vbCr & "Nicht wundern - das ist nur eine Testmail" & vbCr & vbCr & "Gruß"
.Send
End With
Next i
End Sub
Und der Test – liefert einen Fehler. Bei der ZWEITEN Mail:
Outlook kennt mindestens einen Namen nicht.
Seltsam! Hinschauen – überlegen – stimmt:
Ich muss INNERHALB der Schleife eine neue Mail erzeugen – das heißt: für jede Zeile wird eine neue Mail versenden:
Sub MailVersenden()
Dim olApp As Outlook.Application
Dim olMail As Outlook.MailItem
Dim i As Integer
Set olApp = New Outlook.Application
For i = 2 To Range("A1").CurrentRegion.Rows.Count
Set olMail = olApp.CreateItem(olMailItem)
With olMail
.To = Range("B" & i).Value
.Subject = "Diese Mail ist völlig überflüssig"
.Body = "Hallo " & Range("A" & i).Value & "," & vbCr & vbCr & "Nicht wundern - das ist nur eine Testmail" & vbCr & vbCr & "Gruß"
.Send
End With
Next i
End Sub
DANN funktioniert es auch. Beim nächsten Mal – halt nicht so schnell!
Man lege eine Excelmappe auf Sharepoint und verknüpfe diese in eine andere Mappe, die beispielsweise auf der Festplatte liegt.
Man verschicke diese „lokale“ Arbeitsmappe.
Nun wird der Anwender beim Öffnen einen Hinweis erhalten, dass er sich anmelden muss:
Da er aber keinen Zugriff auf Sharepoint hat, wird die Anmeldung verweigert. Abbrechen gibt es nicht! Die einzige Lösung: Excel im Task-Manager abschießen!
In einer Excelmappe (Prinz) befinden sich mehrere Verknüpfungen auf andere Dateien:
Da diese Datei per VBA weiter verarbeitet werden soll, müssen die Verknüpfungen gelöscht werden. Beispielsweise so:
Dim arrLinks As Variant
Dim i As Integer
arrLinks = ThisWorkbook.LinkSources(xlLinkTypeExcelLinks)
If Not VBA.IsEmpty(arrLinks) Then
For i = 1 To UBound(arrLinks)
'MsgBox ThisWorkbook.LinkSources(xlLinkTypeExcelLinks)(i)
ThisWorkbook.BreakLink Name:=arrLinks(i), Type:=xlLinkTypeExcelLinks
Next
End If
Die Verknüpfungen werden gelöscht – bis auf eine !?!
Ich schaue nach: diese Verknüpfung liegt auf einem geschützten Blatt.
Was mich irritiert ist, dass keine Fehlermeldung die Folge war: VBA übergeht einfach die Tatsache, dass die Verknüpfung nicht gelöst werden kann. Also hebt man den Blattschutz auf (und merkt ihn sich vorher):
Dim blnBlattStatus() As Boolean
i = ThisWorkbook.Worksheets.Count
ReDim blnBlattStatus(i)
For i = 1 To ThisWorkbook.Worksheets.Count
blnBlattStatus(i) = ThisWorkbook.Worksheets(i).ProtectContents
If ThisWorkbook.Worksheets(i).ProtectContents = True Then
ThisWorkbook.Worksheets(i).Unprotect
End If
Next
Und setzt ihn am Ende wieder:
For i = 1 To ThisWorkbook.Worksheets.Count
If blnBlattStatus(i) = True Then
ThisWorkbook.Worksheets(i).Protect
End If
Next
Schade. Word zeigt in der Registerkarte „Überprüfen“ an, dass ein Dokument keine Kommentare enthält – das Symbol „Weiter“ ist inaktiv. Leider nicht bei den Änderungen: „Weiter“ ist immer aktiv.
Der Auftrag: der Kunde möchte in eine Excelliste Informationen eintragen, beispielsweise die Namen der Tabellenblätter, die mit einem Klick auf einen Button erzeugt werden. Auf den Blättern werden Verknüpfungen zu den anderen Zellen hergestellt, auf einem weiteren Blatt wird eine Formel aktualisiert. So weit so gut – ich teste – klappt:
Der Kunde testet und schickt meine Mail mit dem Hinweis, dass „Nicht genügend Speicher“ vorhanden sei.
Seltsam – bei mir nicht.
Doch – wenn er 200 Tabellenblätter erzeuge, meldet Excel diesen Fehler nach Blatt Nummer 117.
Seltsam. Bei mir auch:
Der Fehler trat beim Erstellen der Formel auf. Zuerst dachte ich an Schwierigkeiten des Prozessors beim Erstellen so vieler Formeln. Oder vielleicht hatte ich die Objektvariablen nicht sauber „geputzt“. Oder es gab ein Geschwindigkeitsproblem:
Die Ursache war eine andere: Die Formel war schlicht zu lang. Mit der Funktion SUMMEWENNS sollten Berechnungen für jedes Tabellenblatt ausgeführt werden und diese Werte addiert werden. Ein teil der Formel (bei Blatt Nummer 116) ist hier zu sehen:
Also haben wir eine andere Lösung gesucht.
Und: mit Verlaub: ich bin nicht sicher, ob die fast 100 Monster-SUMMEWENNS auf dem Tabellenblatt die Datei mit den 200 Blättern nicht in die Knie gezwungen hätte …
Wie man denn eine Person oder mehrere Personen anonym einladen kann, will eine Teilnehmerin in der Outlook-Schulung wissen:
Nun – mit einem Klick auf „Erforderlich“ oder „Optional“ kann man im Dialog die Option „Ressourcen“ verwenden – diese Person oder Personen werden dann auf BCC gesetzt:
Erstaunlicherweise erscheint dann die Person oder Personen in der Zeile „Erforderlich“. Wirklich sehr verwirrend:
In der letzten Outlook-Schulung fragt ein Teilnehmer, was der Unterschied zwischen einer Gruppe und einer Kontaktgruppe ist. Und was denn eine Verteilerliste sei.
Ich erkläre den Unterschied und erstelle eine Gruppe:
Wie man denn diese Gruppe wieder löschen könne, fragt eine Teilnehmerin. Sie hat recht: weder über das Kontextmenü, noch über ein Symbol im Menüband kann man die Gruppe löschen.
Wir werden fündig: Über den Befehl Gruppeneinstellungen / Gruppe bearbeiten
findet man im Dialog den Befehl „Gruppe löschen“
Anschließend muss man nur noch den Hinweis bestätigen.
In der letzten Outlook-Schulung kam die Frage, wie man mehrere Anlagen auf einmal drucken könne:
Nu – ein wenig versteckt ist sie schon, diese Option: Wählt man den Drucken-Befehl, findet man die Druckoption „Anlagen drucken, Anlagen werden nur mit dem Standarddrucker gedruckt.“
In einer Datei habe ich 26 Tabellenblätter, die A, B, C, … Z heißen.
Von einem weiteren Blatt aus greife ich darauf zu:
Erstaunlicherweise wird der Blattnamen C in Apostroph gesetzt: ‚C‘. Ebenso ‚R‘, ‚S‘ und ‚Z‘.
Klar: row und column – diese beiden Begriffe sind geschützt. Das ist wichtig zu wissen, wenn man per Programmierung den Tabellenblattnamen aus der Formel =A!A1 und=’C‘!A1 herauslöst.
Ich habe gelacht. Eine Teilnehmerin erzählte mir, dass sie für ihre Kollegen eine Tabelle eingerichtet hat. Darin befindet sich eine Spalte „Erledigt“, über welche gekennzeichnet wird, ob dieser Prozess bereits erledigt ist:
Diese Datei wird nun mit Hilfe von PowerQuery weiter verarbeitet.
Nun gibt es einige sehr „clevere“ Kollegen, die den Erledigt-Status kennzeichnen, indem sie die Inhalte der Zellen durchstreichen:
Eine Teilnehmerin in der Excelschulung fragte mich, warum auf einem Rechner folgendes funktioniert, auf einem anderen nicht:
Normalerweise bewirkt ein Klick auf eine Zelle in der Pivottabelle, dass die Formel
=PIVOTDATENZUORDNEN
erzeugt wird:
Bei ihr jedoch nicht:
Auch das Eintippen der Formel hilft nicht – Intellisense versagt:
Des Rätsels Lösung war schnell gefunden: sie hatte in den Optionen / Formeln die Option „GetPivotData-Funktionen für PivotTable-Bezüge verwenden“ ausgeschaltet.
Das hatten wir doch schon einmal. PowerBI unterscheidet beim Zugriff auf Access-Datenbanken zwischen der 32-Bit und 64-Bit-Version.
Nicht nur dort – auch bei XLS-Dateien wird unterschieden. So kann ich auf einem Rechner diese Datei nicht ins Datenmodell laden ohne das Add-In zu installieren:
Auf dem anderen Rechner funktioniert es problemlos:
Kennst ihr DPQ-Dateien? Das sind Textdateien, in denen ein Query auf eine Datenbank gespeichert sind. Diese Data-Query kann man in Excel einbinden.
Soweit so gut.
Nun wollte ich so eine Datei in Power BI einbinden.
„Einen direkten Konnektor über diese Datenverbindung gibt es zur Zeit in Power BI Desktop nicht.“ schreibt Frank Arendt-Theilen. Hans-Peter Pfister hat es bestätigt. Schade.
Ach wie doof! Wenn man in PowerBi in das Visual Tabelle oder Matrix Werte (oder besser: ein Measure) in die Werte zieht, kann man mit einem Klick auf den Spaltenkopf danach sortieren:
Verwendet man jedoch eine Kategorie in den Spalten, kann man damit nicht sortieren – auch nicht mit gedrückter [Strg]-Taste:
Mit einem Klick wird die Spalte selektiert (und damit die anderen Visuals gefiltert).
Hallo Hr. Martin. Wie kann ich in VBA prüfen, ob ein Textfeld als Formularsteuerelement das mit einer Textmarke versehen ist (z Bsp.“TMThemaPos16″) leer ist. Laut Lokal-Fenster soll es ein String mit 5 Leerzeichen sein. Diese Prüfung wird aber ignoriert. Auch auf Empty prüfen bringt keinen Erfolg. Ich muss den Inhalt der Textmarken in eine Excel überführen, die stetig erweitert wird. Es können 30 Themen ins Formular eingetragen werden. Ab einer leeren Textmarke der Kategorie „Thema“, soll die Prozedur beendet werden. Vielen Dank für ihre Unterstützung.
###
Hallo Herr W.,
Wenn ich Ihr Problem richtig verstanden habe, würde ich das folgendermaßen lösen: Formularsteuerelemente haben keinen Namen und können deshalb nicht direkt angesprochen werden. Hinterlegen Sie bei der Eigenschaft „Tag“ einen Text. Durchlaufen Sie mit einer Schleife alle ContentControls und überprüfen Sie, ob das ContentControls(i) den Tag = „yxz“ hat. Wenn ja, dann können Sie den Text auslesen: ActiveDocument.ContentControls(1).Range.Text Ist das die Antwort auf Ihre Frage?
LG und ein schönes Wochenende
Rene Martin
###
Hallo Hr. Martin.
Ich hab das jetzt über die ASC-Funktion gelöst. Frage somit ab, welches ASCII Zeichen die Textmarke hat und wenn diese (in meinem) Fall 32 ist, dann ist sie leer.