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:
Also genauer hinschauen – was bläht diese Datei auf?
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:
Für eine Datei gibt es zwei (!) Abfragen, deren Tabellen nebeneinander stehen. Also jeweils: eine Zeile Überschrift und eine Zeile Inhalt:
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:
In Excel dagegen wird nur das Wort markiert. Das heißt: Drückt man die Excel die Entf-Taste, bleiben zwei Leerzeichen nebeneinander stehen.
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.
Schöne Frage in der letzten Outlook-Schulung zum Thema Kontakte und Adressbuch: die „erweitere Suche“ war bekannt. Darüber kann man im Adressbuch nach Kolleginnen und Kollegen suchen, wenn man nur den Vornamen weiß. Oder die Abteilung. Oder den Standort:
Wie man aber eine Kontaktgruppe (Verteilerliste) nach Standort durchsuchen kann, will eine Teilnehmerin wissen. Besser noch: Alle Kontaktgruppen.
Peter schickt mir eine Mail und fragt mich, warum die Sortierung in Excel nicht funktioniere.
Natürlich funktioniert sie, lautet meine Antwort. Er solle mir die Datei zusenden; ich würde sie mir ansehen. Ich vermutete eine leere Spalte oder Zeile zwischen den Daten.
Er erklärt mir:
Sortiert man die Liste nach dem Namen ist alles prima:
Sortiert man sie nach dem Ort, funktioniert es auch:
Jedoch bei der Sortierung nach der ID stimmt die Zuordnung zum Länderkennzeichen und dem Land nicht mehr:
Ich sehe mir die Liste genau an – die Lösung ist bald gefunden: Auf halber Strecke wurde ein Teil der Liste nach unten verschoben, das heißt: der linke Teil befindet sich eine Zeile tiefer als der rechte. So kann es gehen:
Hallo Herr Martin, seit einigen Jahren schaue ich mir regelmäßig Ihre Videos an und muss sagen, ich habe durch Sie wirklich viel gelernt. Summenprodukte, XVerweise und weitere Formeln gehören zu den Formeln, die ich jede Woche – wenn nicht jeden Tag – nutze. Ich habe derzeit ein Problem eine Excel-Datei zu speichern. Darin stecken 10 Stunden Arbeit, die verloren gehen, wenn ich die Datei nicht gespeichert bekomme. Excel schlägt mir immer vor, dass die Datei repariert werden könnte. Ich weiß allerdings schon, dass die Reparatur fehlschlagen wird und diverse Teile meiner Inhalte gelöscht oder umformatiert werden, wenn ich die Reparatur durchführen würde. Haben Sie einen Tipp, wie man jede Datei speichern kann, auch wenn Excel nicht clever genug dazu ist? Noch habe ich meine Datei geöffnet, aber über Nacht wird mein Firmen-Notebook neustarten und dann ist der Inhalt leider verloren 🙁 Viele Grüße aus Berlin!
####
uh, das hört sich schrecklich an! Hallo Herr S., können Sie die Datei in einem anderen Format (XLSB oder XLS) speichern? Können Sie die Datei auf einen anderen Datenträger speichern? USB-Stick? Können Sie alle Tabellenblätter markieren (rechte Maustaste) und alle in eine andere Datei kopieren und diese Daten dann speichern? (Achtung: möglicherweise haben Sie dann Bezüge auf die erste Datei, die sich nicht speichern lässt) Ist denn die Autospeichern-Funktion aktiviert? Im schlimmsten Fall zumachen – meistens (leider nicht immer) wird die Datei ziemlich gut geöffnet. (Stoßgebet zum Himmel nicht vergessen!)
Uff! – Sonst fällt mir nichts ein … Ich drücke die Daumen LG :: Rene Martin
####
Hallo Herr Martin, ich habe es über ein VBA-Makro gelöst, welches die (vielen) Worksheets in eine neue Datei kopiert hat und die Datei anschließend speichern konnte. Die Referenzen waren dann defekt (es wurde auf Tabellenblätter der defekten Datei verwiesen), aber das habe ich dann manuell mit Suchen+Ersetzen korrigiert.
Vielen Dank für den Tipp!!
####
Hier das Makro:
Sub CreateBackupWorkbook()
On Error Resume Next
Dim BackupName As String
BackupName = ThisWorkbook.FullName & " backup.xlsb"
Dim NewWorkbook As Workbook
Set NewWorkbook = Workbooks.Add
Dim CurrentSheet As Worksheet
For Each CurrentSheet In ThisWorkbook.Worksheets
CurrentSheet.Copy After:=NewWorkbook.Sheets(NewWorkbook.Sheets.Count)
Next CurrentSheet
NewWorkbook.SaveAs BackupName, FileFormat:=xlExcel12
NewWorkbook.Close False
On Error GoTo 0
End Sub
Klasse, dass Sie es retten konnten. Und ja – so etwas Ähnliches hatte ich mal bei Visio (leider tragisch): Eine gespeicherte Datei ließ sich nicht mehr öffnen! Keiner der Versuche war von Erfolg gekrönt – ein Arbeitstag war weg! Wie sagte mal ein Freund: „beim zweiten Mal geht es immer schneller“. Aber Sie hatten ja Glück. LG :: Rene Martin
ich hoffe, es geht dir gut und du bist schon auf dem Weg ins Wochenende. 😊
Ich schreibe dir weil ich verzweifelt bin, da mich diese Sache heute einiges an Zeit gekostet hat.
in Word eingebettete Excel Tabellen lassen sich nicht mehr öffnen.
Excel ist installiert, wir haben verschiedene Add-Ons deaktivieren, etc. Auch das Konvertieren des Objekts in verschiedene Versionen bringt nichts.
Die eingebettete Tabelle lässt sich nicht öffnen.
Auch wenn ich eine neue Word-Datei mit einer neuen Tabelle erstelle, ist diese nur solange bearbeitbar bis ich die Word-Datei schließe.
Danach läuft im Hintergrund wohl eine sogenannte OLE-Aktion weiter. Denn ich erhalte permanent die Fehlermeldung, dass Excel auf das Ende der OLE-Aktion wartet.
Es ist nicht dringend, da du aber schon mal eine schnelle Lösung parat hattest, wo alle anderen ratlos waren, dachte ich, ich frag dich gleich. Bitte verwende aber keine großen Bemühungen darauf.
Ich habe meine Anfrage nun an unseren IT Provider für das DMS weitergegeben, nachdem auch mithilfe unserer IT für Windows/Office nicht weitergekommen bin. Auch googeln hat nicht geholfen. Es gibt zwar mehrere Einträge dazu aber die Lösungen dort haben bei uns nichts gebracht.
Jetzt wollte ich mal anfragen, ob dir das schon einmal untergekommen ist und du vielleicht gleich eine Info parat hast.
Wenn nicht, warte ich erstmal, was das DMS Team zu sagen hat.
LG und großes Dankeschön
Janet
###
Hallo Janet,
ich kann die Datei öffnen:
Noch einmal zum Mitschreiben:
* Wo liegt die Datei? Sharepoint? OneDrive? Teams?
* Macht ihr sie in Desktop-Word auf oder Word online?
Wenn nur zwischen der Anzeige des Inhaltverzeichnistextes und der TOC-Feldfunktion geschaltet werden soll, muss die Alt-F9-Taste verwendet werden.
Wird die Shift-F9-Taste verwendet, kommt es darauf an was im Inhaltverzeichnis markiert ist oder wo der Cursor steht. Ist alles markiert wird auch zwischen Textanzeige und TOC-Feldfunktion umgeschaltet.
Steht der Cursor am Anfang einer Zeile, wird zwischen der aktuellen Anzeige (das betrifft auch die Anzeige einer Hyperlink Feldfunktion) und der TOC-Feldfunktion geschaltet.
Steht der Cursor aber in einer Zeile, wird bei Shift-F9 zwischen der Textanzeige der Zeile und der Anzeige der Hyperlink-Feldfunktion geschaltet. Wobei es einen kleinen aber wichtigen Unterschied gibt. Bei der Anzeige der Feldfunktion bleibt der Cursor in der Zeile stehen. Bei der Textanzeige springt der Cursor zum Zeilenanfang.
Ein sofortiges drücken der Shift-F9-Taste zeigt deshalb ein unterschiedliches Verhalten.
Bei meinen Versuchen ist mir dabei eine Besonderheit aufgefallen. Vielleicht kennst du dieses Verhalten schon.
Wenn die erste Feldfunktion in einem markierten Text gegen Aktualisierung gesperrt ist (Strg-F11), werden auch alle anderen Feldfunktion bei Betätigung der F9-Taste nicht aktualisiert. Ist die erste Feldfunktion eines Dokument gesperrt, kann dies zu folgenden Problem führen. Nach einer vollständigen Markierung dieses Dokumentes (Strg-a) und anschließendes Drücken der F9-Taste, wird keine Feldfunktion aktualisiert.
In der Vergangenheit habe ich in Outlook regeln festgelegt die dann aber verschwunden waren als ich einen neuen PC bekommen habe etc.
Wie kann ich Regeln in Outlook PC übergreifend einrichten sodass diese auch funktionieren wenn ich einen neuen PC bekommen?
Gruß Martin
####
Sorry, Martin, aber das geht meines Wissens nicht. Einige Dinge werden in Outlook an den Rechner gebunden. Ich denke nicht, dass man sie exportieren kann oder rechnerübergreifend festlegen kann. LG :: Rene
Eigentlich wollte ich nur einen Befehl mit Office Skript aufzeichnen: formatiere den Text einer Zelle fett:
Geht nicht:
„Leider ist ein Problem aufgetreten. Wir können Ihr Skript nicht speichern. Unerwarteter Fehler beim Generieren und Speichern des Skripts. Klicken Sie auf „Aktionen aufzeichnen“, um erneut aufzuzeichnen.
Erstaunt starre ich auf den Bildschirm. Ich habe keine Ahnung, warum und woher das Problem rührt.
ich habe mal wieder eine Aufgabe (für Sie bestimmt eine Kleinigkeit), die ich als PDF-Formular nicht vollständig gelöst bekomme, aber auch als EXCEL-„Formular“ möglicherweise zu lösen wäre:
„Ich sende an unsere Partner ein Formular mit 6 Dekor-Beispielen. Jedes der 6 Dekor-Beispiele soll mit einer Note von 1 – 6 bewertet werden.
Dabei soll jede Note nur einmal vorkommen, sodass eine eindeutige Bewertungs-Reihenfolge entsteht. Bis jetzt habe ich 6 kleine Zahlengruppen (von 1 – 6) jeweils mit Optionsfeldern belegt.
Wie kann ich verhindern, dass z.B. das Dekor 2 und das Dekor 5 versehentlich beide mit der Note 1 bewertet werden? …oder anders herum, versehentlich 2 Bewertungen in einer Zahlengruppe eingegeben werden
Ich würde mich riesig freuen, wenn Sie mir hierzu einen Lösungstipp auch in EXCEL geben könnten.
Ganz herzlichen Dank vorab
Christoph
####
Hallo Christoph,
ich würde in jeder Zelle mit der Datenüberprüfung die Werte 1 … 6 zulassen. Dann würde ich mit einer bedingten Formatierung die Zellen rechts neben jeder Zelle überprüfen, ob einer der Werte dem Wert der Zelle entspricht. Beispielsweise mit: =UND(ODER(A1=B1:F1);A1<>““)
Ich öffne eine uralte Datei, die noch im XLS-Format vorliegt:
Ich speichere sie als XLSX.
Und erstelle eine Pivottabelle:
Aber irgendwie sieht die komisch aus.
Auch als ich weiterarbeite, „fühlt“ sich das Ganze sehr seltsam an:
Ups – und meine Diagramme – wo sind meine Diagramme?
Dann dämmert es mir: Nach dem Konvertieren ins XLSX-Format muss ich die Datei schließen und erneut öffnen – sonst verbleibt sie im Kompatibilitätsmodus:
Werden in PowerQuery Spalten mit einem Verkettungsoperator „&“ zusammengefügt und befindet sich in einer der Zellen der Wert null, dann ergibt Inhalt & null -> null:
Nur wenn alle Zellen mit Text gefüllt waren, wird das Ergebnis angezeigt.
Anders dagegen der Assistent „Spalten zusammenführen“.
Trägt man in Excel ein zehnstellige Zahl ein, beispielsweise 1234567890 oder 5432167890 und zieht diese mit gedrückter [Strg]-Taste herunter wird weitergezählt:
Erstellt man allerdings ein Text-Zahl-Gemisch, wird die Zahl weitergezählt, wenn sie mit 1, 2, 3 oder 4 beginnt. Ab 5 nicht mehr:
Microsoft listet auf der folgenden Seite die Beschränkungen von Excel auf:
Amüsant, was manchen Teilnehmerinnen und Teilnehmern in Schulungen auffällt. Dinge, die ich noch nie beachtet habe oder denen ich keine Beachtung beigemessen habe.
Beispielsweise ist mir noch nie aufgefallen, dass Zahlen in PowerQuery kursiv stehen, während Texte immer „aufrecht“, also nicht kursiv im Editor dargestellt werden:
Excelschulung. Wir üben rechnen. Zuerst eine einfache Subtraktion; Formel herunterziehen:
Wir lernen, wie man mit dem AutoSummen-Symbol eine Summe erzeugt:
Und jetzt machen Sie es mal alleine, lautet die Aufgabe. Ein Teilnehmer beschwert sich, dass eine Summe falsch rechnet:
Wir gehen der Sache auf den Grund. Klar – er hat die erste Summe nicht nach rechts gezogen, sondern drei Mal eine Summe erstellt. Und bei der dritten Summe hat er nicht aufgepasst und den Vorschlag von Excel übernommen:
Amüsant. In der Excelschulung fragt mich ein Teilnehmer, warum manchmal der Filter bei der Auswahl „Textfilter“ / „Ist gleich“ die letzte Filterung anzeigt und manchmal nicht:
Oder so:
Nun – das hängt damit zusammen, wie man filtert. Wählt man den Befehl „Textfilter“ / „Ist gleich“ aus
und trägt dort mehrere Varianten ein, beispielsweise M?nchen oder M??nchen:
wird dies als Auswahl unter „Benutzerdefinierter Filter“ angezeigt. Der grüne Haken gibt Auskunft darüber.
Wählt man nun die Option „Ist gleich“, wird der vorher eingegeben Text gelöscht.
Allerdings: wählt man als Filterkriterium München oder Muenchen, so wird gar nichts angezeigt:
Amüsante Frage in der Excelschulung. Wir üben das Formatieren per Hand. Folgende Tabelle ist das Ziel:
Warum denn seine Angaben so „seltsam“ in der Zelle stehen, will der Teilnehmer wissen:
Die Antwort ist leicht: er hatte auch die Ausrichtung geändert. Ein zweiter Klick auf das Symbol „Text nach oben drehen“ lässt den Text wieder von links nach rechts laufen.
Volker Pagel ist sehr irritiert. Er hat lange gesucht, um die Ursache für folgende Inkonsequenz zu finden.
In einer Liste befinden sich Kostenstellennummer, beispielsweise 010, 0010 oder 000010.
Die Funktionen der Klasse ZÄHLENWENN, SUMMEWENN & co unterscheiden nicht zwischen 010, 0010 oder 00001, obwohl diese als Text vorliegen. Wahrscheinlich werden diese Texte intern als Zahlen behandelt.
Anders dagegen die Funktionen WENN, SVERWEIS, XVERWEIS, SUMMENPRODUKT & co. HIER wird klar zwischen 010 und 00010 unterschieden!
Ich möchte mit Power BI auf eine Access-Datenbank zugreifen. Leider erhalte ich folgende Meldung:
Beim Herstellen einer Verbindung ist ein Fehler aufgetreten.
Schade!
Auf der genannten Seite von Microsoft lese ich:
Ich soll mein Office deinstallieren und in der gleichen Version wie Power BI zu installieren, finde ich nun keine wertvolle Hilfe. Ich scrolle nach unten und lese dort:
Ah, okay – zwei Versionen von Access.
Gut – ich warte bis nächste Woche und teste alles auf meiner 64-Bit-Maschine.
Ich habe ein Add-In für einen Kunden erstellt. Per Knopfdruck sollen Daten (eine Liste der Debitoren) in eine bestehende Datei importiert werden.
Ich entscheide mich für VBA, weil ich so die Datei und die Daten prüfen kann.
Klappt:
Ich erhalte die Rückmeldung:
„Wir haben nun das File beim ersten Kunden getestet und dabei ist uns aufgefallen, dass aus den Debitor Stammdaten leider nur Einträge mit Kürzel exportiert werden und jene ohne nicht.“
Ich wundere mich. Ich importiere doch alle Daten:
xlBlattDebitoren.Range("A1").CurrentRegion.Copy Destination:=ThisWorkbook.Worksheets("Debitoren").Range("A1") ' -- kopiere die Daten
Ich ahne wo das Problem ist.
Wenn die ursprüngliche Liste gefiltert war, werden nur die sichtbaren Daten kopiert.
Also muss ich vorher prüfen, ob ein Filter eingeschaltet war. Falls ja, wird er entfernt:
' -- schalte mögliche gesetzten Filter aus
If xlBlattDebitoren.FilterMode = True Then
xlBlattDebitoren.Range("A1").AutoFilter
End If
Erstaunt schaue ich einem Kollegen über die Schulter. In „seinem“ Power BI werden nur zwei Symbole angezeigt – die Datenansicht fehlt:
Des Rätsels Lösung ist schnell gefunden: Dieser Bericht greift auf eine SQL-Datenbank zu – allerdings nur per DirectQuery. Erst wenn man irgendeine weitere Datenquelle direkt einbindet, erscheint das Symbol. Eigentlich klar, oder?
Ich amüsiere mich jedes Mal, wenn ich (auf einer Internetseite) anklicken muss, dass ich kein Roboter, sondern ein Mensch bin. Was machen denn die armen Roboter – schwindeln sie oder bleiben sie beleidigt draußen?
Ich erhalte die Frage, wie man Datumsangaben, die sich in Textfeldern in Word befinden, berechnen kann, beispielsweise den folgenden Tag berechnen kann. Meine Antwort:
Hallo Herr R.,
Während ein
{ = { PAGE} + 1}
funktioniert, klappt leider eine Berechnung
{ = { REF Datum} + 1}
nicht. Ich wüsste auch nicht, wie man den Wert der Textmarke in eine Zahl verwandeln kann.
Wenn Sie das unbedingt brauchen und wenn das System (ja, ich erinnere mich) dies nicht liefert, sehe ich auch nur eine Lösung Programmieren.
Und ja: RTF kann keine Makros speichern; also extern (Tipp: nicht in Normal.dotm, sondern in eine andere Vorlage). Ja – so wie Ihr Beispiel (ohne es getestet zu haben)
Gegenfrage: kann man nicht etwas einschieben?
System liefert Daten. Kann man die nicht abfangen, in Excel schreiben und dort rechnen und dann (mit einem Serienbrief) auf diese Daten zugreifen?
Sorry, Felder, VBA – Word ist seeeeehr schlecht im Rechnen …
Liebe Grüße und trotzdem ein schönes Wochenende – es soll ja regnen – ich kann mal ein bisschen grübeln
Rene Martin
PS: Formularfelder können ja auch rechnen – aber auch das scheitert:
Ich habe in einem Beitrag beschrieben, dass man Lücken im Liniendiagramm erzeugen kann, indem man #NV statt 0 verwendet und die entsprechenden Optionen einstellt:
„Hallo, Diese Lösung hört sich super an und man findet sie vielfach im Internet, nur leider funktioniert sie wohl nicht mehr. Ich arbeite mit Microsoft Excel for M365 (Version 2022) und egal was ich mache, mein Liniendiagramm rauscht bei Nullwerten oder #NV oder #DIV/0 auf die Nulllinie und ich verzweifle langsam. Man kann bei den Diagrammoptionen anklicken was man will ,es ändert sich absolut nichts. Irgendeine Idee?“
Ausdruck eines gefilterten Tabellenblattes durchführen mit folgenden Bedingungen:
Seitenumbrüchen aus den rausgefilterten (ausgeblendeten) Zeilen entfernen, Ausdruck starten, im Anschluss Seitenumbruch an den gleichen Stellen wieder einfügen.
Alternativ: Seitenumbrüche der rausgefilterten (ausgeblendeten) Zeilen ignorieren (nicht löschen, bei nächster Filterung könnten ja entsprechende Seite eingeblendet sein…).
Hintergrund: ohne Makro werden leere Seiten durch die vorhandenen Seitenumbrüche generiert.
Ich habe schon mal ChatGPT befragt, da meine VBA Kenntnisse hierfür nicht ausreichen, dieser hat mir folgenden Code vorgeschlagen:
ja – ich habe einige Versuche mit ChatGPT gestartet. Das Problem: bekannte Dinge weiß er auch; mir unbekannte Probleme kennt er auch nicht und liefert falsche Lösungen … Also googeln …
Die Fehler:
* nicht die Zeile hat einen Umbruch, sondern das Blatt
* die Eigenschaft heißt HPageBreaks (mit «H» am Anfang)
* ich darf nicht alle Zellen durchlaufen und prüfen, ob eine Zelle/Zeile einen Umbruch hat (und ausgeblendet ist), sondern ich muss die Liste der Umbrüche durchlaufen und prüfen, ob die Zelle/Zeile ausgeblendet ist.
* man muss die Liste der ausgeblendeten Zellen «einsammeln» – gerne in der Collection, wie ChatGPT vorschlägt, aber man muss es tun. (in meinem Beispiel sammle ich sie in einem Textstring ein, getrennt mit «|» – so «sehe» ich die Liste besser.
ChatGPT muss noch viel lernen! Von uns?
Dieser Code funktioniert. Zum Test: Das Teilchen fragt, ob du drucken willst. Wenn du «nein» anklickst, stoppt es und du kannst kontrollieren. Bei «ja» erfolgt Ausdruck und die Umbrüche werden danach eingeschaltet.
Wenn du die Zeile «Exit sub» löschst, werden die Umbrüche gelöscht und dann wieder gesetzt (zur Kontrolle).
Sub PrintWithoutPageBreaks_Rene()
Dim ws As Worksheet
Dim lngAnzahlUmbrueche As Long
Dim strUmbrueche As String
Dim strUmbruchsadresse As String
Dim i As Long
‚ Set worksheet to active worksheet
Set ws = ActiveSheet
‚ ermittle die Anzahl der Umbrüche:
lngAnzahlUmbrueche = ws.HPageBreaks.Count
‚ Loop through each pagebreak
For i = lngAnzahlUmbrueche To 1 Step -1
‚ falls ausgeblendet
If ws.Range(ws.HPageBreaks(i).Location.Address).RowHeight = 0 Then
‚ merke die Adresse des Umbruchs, beispielseise $A$17
Ich habe eine Liste, bestehend aus zwei Spalten, in den sich Buchstaben befinden.
Ich möchte wissen, ob der erste Teil einer Buchstabenkombination („XY“), beispielsweise „X“ in der ersten Spalte steht und der zweite Teil, beispielsweise „Y“ in der zweiten.
Mit der Formel
=A2:A39&B2:B39
verkette ich die beiden Spalten. Nun kann ich zählen:
=ZÄHLENWENN(D7#;D3)
Will ich allerdings die beiden Formeln zusammenbauen, versagt Excel:
=ZÄHLENWENN((A2:A39&B2:B39);D3)
Und ja – natürlich kann man das Problem (anders) lösen – beispielsweise so:
Ich möchte in einer Abfrage den Text „Warengruppe“ filtern.
Okay – ich habe ihn ohne Anführungszeichen eingetragen – diese fügt Access automatisch hinzu.
Leider werden bei der Eingabe alle benutzerdefinierten Funktionen aufgelistet -DAS möchte ich nun nicht.
Und nun stellt sich die Frage: wie beende ich die Eingabe, so dass „Warengruppe“ in der Zelle steht und nicht diese benutzerdefinierte Funktion. [Enter]? [Tab]? [Pfeiltaste]?
Die Lösung: Pfeiltaste oder mit der Maus in ein anderes Feld klicken.
Natürlich habe ich mehrmals [Enter] gedrückt!
Beim nächsten Mal werde ich den Text, den ich filtern möchte, in Anführungszeichen setzen. Ich verspreche es!
Vor der Excelschulung bat mich der Teilnehmer einen Blick auf seine Exceldatei zu werfen. Er könne seit einer Weile keinen Datenschnitt mehr einfügen. Das Symbol sei inaktiv.
„Zu viele Formeln?“ schoss es mir durch den Kopf? „Zu viele bedingte Formatierungen?“ „Oder andere Formate?“
Als ich die Datei erhielt, fiel mein erster Blick auf die Dateigröße – sie war nicht einmal ein MByte groß. Also wohl kein „zu viel an“.
Die Pivottabellen habe ich schnell in der Datei gefunden – und wirklich: warum kann man keinen Datenschnitt einfügen?
An den „Filterverbindungen“ kann es nicht liegen – dort wird festgelegt, welche Pivottabelle welchen Datenschnitt verwendet.
Eine Weile habe ich gegrübelt.
Des Rätsels Lösung habe ich auf der Registerkarte „Einfügen“ gefunden:
DORT kann man auch den Datenschnitt aktivieren. Und natürlich Bilder, SmartArts, Diagramme einfügen. Eben nicht – all diese Symbole sind inaktiv. DORT war natürlich auch der Datenschnitt inaktiv.
Mir dämmerte es: mit der Tastenkombination [Strg] + [6] kann man Bilder (und Diagramme) ausblenden. Eben: und auch Datenschnitte. Diese Option findet man auch in den Exceloptionen in der Kategorie „Erweitert“ / „Optionen für diese Arbeitsmappe anzeigen“:
Werden nun SO oder mit der Tastenkombination [Strg] + [6] die Objekte wieder angezeigt, erscheint auch der Datenschnitt. Und sogar ein Diagramm!
Der Teilnehmer war sehr froh über diese Information.
Hallo Hr Martin, ich habe heute einen Post von Ihnen gesehen und finde in leider nicht mehr ;-( wie formatiert man mit Mausklick? Vielen lieben Dank
###
Hallo Herr L.,
die Frage ist zu kurz: Sie meinen Excel? Zellformatierung? Die Tastenkombination Strg + 1? Oder die Minisymbolleiste?
Könnten Sie die Frage bitte etwas genauer formulieren? Ich weiß auch nicht, auf welchen Post Sie sich beziehen?
lG :: Rene Martin
####
Sorry Ecxel, Mausklick auf eine Zelle, Zeile und Spalte hervorheben über bedingte Formatierung
####
Hallo Herr L., den Trick habe ich auch irgendwo gelesen – er war nicht von mir. Wenn sich der Cursor IN der Zelle befindet, kann man das mit =ODER(ZELLE(„ZEILE“)=ZEILE();ZELLE(„SPALTE“)=SPALTE()) hervorheben. Man sollte allerdings die Eingabe mit dem grünen Haken beenden. Liebe Grüße Rene Martin
Hurra – ich habe die Funktion (genauer: die Hilfe) auch!
Während man früher einen Teil einer Formel markieren und dann mit [F9] sich das Ergebnis anzeigen lassen konnte, ist es jetzt möglich lediglich einen Formelteil zu markieren – ein Quickinfo zeigt den berechneten Wert an:
Schöne Sache. Aber diesmal bin nicht ich es, der nörgelt, sondern Bill Jelen (MrExcel) weist darauf hin, dass ein Datum leider nicht formatiert dargestellt wird:
Außerdem, so meint er, kann die Anzeige ein fehlerhaftes Ergebnis anzeigen, wenn falsch markiert wurde (das konnte bei [F9] allerdings auch schon passieren):
Korrekt wäre (hätte man die 31 und nicht die 1 markiert):
Hallo Herr Martin, ich begleite Sie so gut wie täglich – immer wieder erfrischend und gottseidank manchmal „Ja klar“: das tut ja auch mal gut. Heute passiert mir folgendes: Eine Tabelle mit Temperaturaufzeichnungen im 10-Minuten-Abstand über ca. 1 Monat, also ca 4000 Datensätze. Ich will das Datum auf der X-Achse und die Temperatur auf Y haben, Überraschung: der „Kerl“ denkt mit und macht mir bei Diagrammtyp Linie (xy brauch ich nicht aufgrund der äquidistanten Messzeiten) ein abgehacktes/stufiges Diagramm mit konstanten Tageswerten und offenbar Min/Max Strichen wie Börsendiagramme oder so. Nehme ich die Zeiten raus, funktioniert alles wie vermutet. Welche Einstellung bleibt mir hier verborgen? Danke und VG
###
Hallo Herr H.,
Steht in einer Spalte eine Datumsangabe und daneben eine Zahl wird das Datum als Achsenbeschriftung erkannt – obwohl es sich hierbei eigentlich auch um eine Zahl handelt.
Tragen Sie jedoch Datum + Uhrzeit in eine Zelle, wird es nicht erkannt.
Der Grund: Excel erkennt die erste Spalte als Datum, hat jedoch als kleinste Einheit nur Tage zur Verfügung (deshalb bei Ihnen auch die Tagessprünge).
Eine Lösung: wandeln Sie das Datum in einen Text um, beispielsweise mit =TEXT(A2;“TT.MM.JJJJ hh:mm“)
Dann klappt es.
Liebe Grüße
Rene Martin
Nachtrag: wenn Sie mehrere Tage verwenden, wird jeder Tag nur mit „einem Strich“ dargestellt
Ich habe mal eine Funktion gesehen, ich meinte, diese haben sie mir sogar gezeigt, wie man so ein Fenster anzeigen kann, wo diese Informationen ohne VBA ersichtlich sind.
Ich prüfe aktuell ein Excel mit gefühlt 10 Mio Formeln 😉 und wollte die Grösse ermitteln, damit ich danach sagen kann wie viel ich kontrollieren konnte.
Freundliche Grüsse
####
Hallo Herr Schönenberger,
Sie haben nach einer „Funktion“ gefragt.
Haben Sie den Inquire? Schauen Sie mal in Com-Add-Ins nach.
Damit ist die Analyse schnell möglich:
Danke an XLarium – oder natürlich über die Arbeitsmappenstatistik
Könne Sie mir nochmals sagen, wo ich die Funktion finde wie gross eine Excel-Datei ist
Anzahl Register
Benötigte Zellen
Anzahl Formeln
Danke
Freundliche Grüsse
####
Hallo Herr S.,
Sie meinen die VBA-Befehle, mit denen man das herausbekommt?
– Anzahl der Tabellenblätter (Register):
ThisWorkbook.Sheets.Count
– Benötigte Zellen:
UsedRange
oder:
Range(„A1“).SpecialCells(xlCellTypeLastCell)
ist die letzte Zeile. Sie hat die Eigenschaften Row und Column – also die Nummer der Zeile und die Nummer der Spalte. Noch weiter rechts, bzw. unten gibt es nichts.
– Anzahl Formeln
dafür gibt es keinen einfachen Befehl. Entweder Sie durchlaufen alle verwendeten Zellen in UsedRange
Option Explicit
Sub AnzFormeln()
Dim xlBlatt As Worksheet
Dim xlZelle As Range
Dim lngAnzahl As Long
Set xlBlatt = ActiveSheet
For Each xlZelle In xlBlatt.UsedRange
If xlZelle.HasFormula Then
lngAnzahl = lngAnzahl + 1
End If
Next
MsgBox „Anzahl der Zellen mit Formeln: “ & lngAnzahl
Erstaunlich – man kann eine Zahl mit mehreren Dezimalstellen mit einem Tausendertrennzeichen im Zahlenformat trennen, beispielsweise (für Deutschland und Österreich)
#.##0
oder (für die USA)
#,##0
oder für die Schweiz
#'##0
Allerdings versagt das Leerzeichen:
# ##0
Es funktioniert erst dann, wenn man in den Optionen / Erweitert das Leerzeichen als Tausendertrennzeichen definiert und dann die Zellen als Zahl mit Tausendertrennzeichen festlegt.
Ich habe an dem Beispiel die ersten drei Monate von 2023 genommen und die jeweilige Kalenderwoche eingefügt.
Ich habe aber keine Idee, wie ich auch das Datum links neben Montag rot formatieren kann.
Hätten Sie eine Idee? Vielleicht eine solche, wo man alle drei Zellen: Datum, Wochentag (hier der Montag) und KW-Zahl zugleich fett und rot formatieren könnte.
Hallo Herr F.,
mit der Funktion WOCHENTAG können Sie das Problem lösen.
Verwenden Sie bei WOCHENTAG den Parameter 2, dann ist Wochentag(Datum;2) = 1 bei Montag.
Für einen SAP-Upload soll eine Textdatei erzeugt werden. Mehrere Zeilen mit unterschiedlichen Informationen sollen zusammengebaut werden und in eine Textdatei geschrieben werden. Jede Zeile wird mit einem Zeilenumbruch beendet. Ich verwende vbCrLf.
Da nun die letzte Zeile auch einen Zeilenumbruch hat, überlege ich ihn zu löschen. Ich überprüfe das letzte Zeichen – falls es nicht um vbCrLf handelt, wird es gelöscht. Jedoch:
' -- entferne den letzten Zeilenumbruch
If Right(strExportString, 1) = vbCrLf Then
strExportString = Left(strExportString, Len(strExportString) - 1)
End If
funktioniert nicht! Klar doch: vbCrLf sind ZWEI Zeichen: Wagenrücklauf + Zeilenschaltung. Klar: ich muss überprüfen, ob die letzten BEIDEN Zeichen vbCrLf entsprechen. Und dann löschen.
Folgender Befehl funktioniert dann:
' -- entferne den letzten Zeilenumbruch
If Right(strExportString, 2) = vbCrLf Then
strExportString = Left(strExportString, Len(strExportString) - 2)
End If
Manchmal bin ich erstaunt, was Firmen (beziehungsweise Menschen, die dort arbeiten), sich so alles wünschen. Beispielsweise folgender Wunsch:
Firmenweit existiert ein Excel-Add-In:
Der XML-Code des Ribbons sieht folgendermaßen aus:
Nun – so lautete der Wunsch – soll ich ein zweites Add-In erstellen. Allerdings soll es sich in das erste einklinken. Also die gemeinsame Registerkarte „Schneewittchen und die sieben Zwerge“ verwenden.
Wie das?
Ich dachte nicht, dass das funktioniert.
Ein Dankeschön an Markus Hahner (www.hahner.de) – er hat mir die Lösung geliefert.
Das „Haupt-Addin“ muss mit einem Namespace im Element <customUI> versehen werden – hier:xmlns:x=“Zeichentrick“. Der Name (Zeichentrick) ist beliebig. Dieser Namespace (hier: „x“) wird im Element <tab> verwendet: idQ=“x:tabZwerge“. Dabei ist „tabZwerge“ natürlich auch beliebig.
Die andere Datei, also das andere Add-In, sieht dann folgendermaßen aus:
Also: Namespace in customUI und idQ sind identisch. Das Label, also die Beschriftung der Registerkarte, muss natürlich nicht wiederholt werden.
Und schon klinkt es sich ein:
Nachdem ich das Problem gelöst hatte, hatte ich doch glatt im Internet eine weitere Beschreibung gefunden:
Boah – das hat mich einige Stunden Arbeit gekostet! Beinahe hätte es excel-nervt nicht mehr gegeben. Warum?
Vor einigen Tagen erhielt ich eine Rechnung von meinem Internetanbieter strato, Sie berechnen 7,81 Euro für PHP 7.4 Extended Support:. Warum das, denke ich und logge mich ein.
Tatsächlich:
„Wir informieren Sie rechtzeitig per E-Mail, wenn Sie noch eine veraltete Version von PHP verwenden. Auf diese Weise haben Sie noch Zeit, die Version zu wechseln, bevor wir den kostenpflichtigen PHP Extended Support aktivieren.“
Haben sie mich informiert? Ich kann mich nicht erinnern.
Egal – das will ich nicht – selbstverständlich deaktiviere ich den Dienst.
Und aktiviere php Version 8.0
Was passiert? Alle meine Interauftritte funktionieren nicht mehr. Die Seite „excel-nervt“ sieht nun so aus:
Es gab einen kritischen Fehler auf deiner Website. Bitte überprüfe den Posteingang deiner Website-Administrator-E-Mail-Adresse für weitere Anweisungen.
Und dann fing der Horror an. Zum Glück hatte ich noch eine Woche Zeit, um auf die alte php-Version zurückzuschalten:
Was tun? Unter Werkzeuge / Website-Zustand findet man nur die Versionsnummer, aber nicht, wie man die Seite auf Version 8.0 aktualisieren kann.
Gibt es ein Plug-In, das mir behilflich ist? Kann mir eine Firma helfen? Ein Mensch? An welcher Schraube muss ich drehen?
Auf vielen Seiten und Tutorial erhalten ich den Hinweis zu prüfen, ob die Plug-Ins auch für die aktuelle Version geeignet sind. Das Problem: ich kann nicht php 8.0 aktivieren und dann prüfen, weil dann die Seite nicht mehr funktioniert.
Aber eben das ist der Ansatz: einige der Plugins (auf einigen Seiten auch die Themes) sind nicht für php Version 8.0 ausgelegt. Werden sie deaktiviert (man muss probieren!), dann läuft die Seite wieder:
Vor allem WP Permalauts war einer der Übeltäter. Inzwischen habe ich ihn gelöscht und zur Hölle gewünscht)!
Das hat mich einige Stunden (Such-)Arbeit gekostet. Und das Design ist nun etwas anders.
Wenn ich Zeit und wieder viele Nerven habe, werde ich es ändern. Versprochen.
Ich erstelle eine VBA-Funktion, bei der eine Zahlenreihe (normalerweise vier Ziffern) als Text gespeichert wird und mit Nullen davor aufgefüllt wird (meistens mit zwei Nullen). Der Funktion füge ich in VBA einen Kommentar hinzu, damit ich weiß, dass es sich um sechs Ziffern handelt:
' _ _ _ _ _ _
Die Funktion sieht folgendermaßen aus:
Ich teste und bin irritiert, dass das Ergebnis falsch ist.
Tatsächlich: Else ist grün! Der Unterstrich bewirkt einen Umbruch! Obwohl er im Kommentar steht!
Also verwende ich ein anderes Zeichen, um diese Leerzeichen zu versinnbildlichen:
Ich programmiere wirklich gerne. Aber ich habe immer meine liebe Not mit ungenauen Arbeitsanweisungen.
Ich soll per Programmierung ein Tabellenblatt als PDF ablegen.
Kein Problem. Allerdings muss ich nachfragen, wie das PDF-Dokument heißen soll.
BatchRecord-Filename-Datum-Uhrzeit
lautet die Antwort.
Ich vermute, dass er nicht Filename, sondern Blattname meint.
Und: in welcher Form das Datum und die Uhrzeit geschrieben wird, erklärt er mir auch nicht. Nun, er wird es mir sicherlich noch sagen.
Ich probiere:
strBlattname = "BatchRecord-" & ThisWorkbook.Name & Format(Date, "DD.MM.YYYY") & "-" & Format(Now, "HH:MM") & ".pdf"
' -- Export als PDF - in den gleichen Ordner, in dem sich die Vorlagendatei befindet
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
ThisWorkbook.Path & "\" & strBlattname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=False
Eine Fehlermeldung ist die Folge:
Das Dokument wurde nicht gespeichert.
Ein bisschen suchen und ich werden fündig: Natürlich darf kein Doppelpunkt im Dateinamen auftauchen. Also raus damit (bei der Uhrzeit) und warten, wie denn der Dateiname korrekt aussehen soll:
Die Kamera ist sicherlich bekannt. Mit ihrer Hilfe kann man einen dynamischen Snapshot auf einen Teil der Excelmappe herstellen.
Christian Gröblacher hat mich darauf hingewiesen, dass zu viele Fotografien eine Excelmappe jedoch enorm verlangsamen können. Also: Vorsicht ist geboten!
Microsoft sollte uns fragen, was sie noch an den Programmen verbessern können.
In regelmäßigen Abständen erhalte ich Anfragen, wie man so etwas machen könne. Und muss abwehren und gestehen, dass das nicht geht. Beispielsweise folgende Anfrage:
Sehr geehrter Herr Martin
Mit viel Interesse und Freude schaue ich auf LinkedIn-Learning Ihre Kurse.
Eine Frage hätte ich zu Outlook: Wie ist es möglich, dass E-Mailadressen, denen man antwortet, automatisch ins Adressbuch übernommen werden?
Denn ich möchte nicht bei jeder E-Mailadresse dies manuell tun müssen.
Wenn Sie mir das beantworten könnten, wäre ich Ihnen auf ewig dankbar. 😉
Freundliche Grüsse aus der Schweiz
####
Hallo Herr R.,
danke für das Lob.
Und: schöne Frage – aber ich fürchte, hierfür gibt es keine Lösung.
Ich verschiebe immer die Mail ins Adressbuch – dadurch wird ein neuer Kontakt generiert, der bereits die Mailadresse, manchmal auch den Namen, enthält. Die Telefonnummer und Anschrift ziehe ich mit der Maus in die entsprechenden Felder. In einem der Filme habe ich das gezeigt.
Wenn du beispielsweise eine Zahl eingibst, die mit einem Nullenprefix beginnt (z.B. „01234“), würde Excel sie automatisch als Zahl formatieren und die Nullen entfernen. Wenn du die Formatierung „;;;“ verwendest, wird die Zahl als Text behandelt und die Nullen bleiben erhalten.
Um die Zellformatierung „;;;“ in Excel zu verwenden, kannst du die Zelle auswählen und dann auf den „Zahlenformatierungs-Typ“ klicken, der sich in der Registerkarte „Start“ im Bereich „Zahlenformatierung“ befindet. Du kannst auch die Tastenkombination „STRG + 1“ verwenden, um die Zahlenformatierung aufzurufen, und dann „Text“ auswählen.
Nein – das kann ich so nicht durchgehen lassen.
Nächste Frage:
In Microsoft Excel kannst du den Nachnamen aus einem vollen Namen extrahieren, indem du eine Kombination aus Textfunktionen verwendest. Hier sind einige Möglichkeiten, wie das funktionieren kann:
Die Funktion "RECHTS": Die Funktion "RECHTS" kann verwendet werden, um eine bestimmte Anzahl von Zeichen von der rechten Seite einer Zeichenfolge zu extrahieren. Hier ist ein Beispiel:
=RECHTS(A2,LEN(A2)-FIND(“ „,A2))
Diese Formel sucht den Leerraum im Namen und berechnet die Anzahl der Zeichen bis zum Leerraum. Die Funktion „RECHTS“ extrahiert dann die gleiche Anzahl von Zeichen vom Ende des Namens.
Die Funktion "TEIL": Die Funktion "TEIL" kann verwendet werden, um einen Teil einer Zeichenfolge anhand eines bestimmten Zeichens zu extrahieren. Hier ist ein Beispiel:
=TEIL(A2,FIND(“ „,A2)+1,LEN(A2))
Diese Formel sucht den Leerraum im Namen und extrahiert alles nach dem Leerraum als Nachnamen.
Die Funktion "TEXTVOR": Die Funktion "TEXTVOR" kann verwendet werden, um eine bestimmte Anzahl von Zeichen von einer Zeichenfolge zu entfernen. Hier ist ein Beispiel:
=TEXTVOR(A2,“ „)
Diese Formel sucht den Leerraum im Namen und entfernt alles nach dem Leerraum als Vornamen.
Okay, schon ganz gut, denke ich. Aber: bitte alles auf Deutsch (nicht LEN) und bitte Semikolon statt Komma!
wie ermittle ich die Anzahl der Sonntage eines Monats in Excel?
will ich wissen. Und erhalte die Antwort:
In Microsoft Excel kannst du die Anzahl der Sonntage eines Monats mit einer Kombination aus Funktionen berechnen. Hier ist ein Beispiel, wie das geht:
Verwende die Funktion "NETZWERKDIENSTAG" für das erste Datum des Monats:
=NETZWERKDIENSTAG(DATE(Jahr,Monat,1))
In dieser Formel:
"Jahr" ist das Jahr, für das du die Anzahl der Sonntage berechnen möchtest
"Monat" ist der Monat, für den du die Anzahl der Sonntage berechnen möchtest
Verwende eine Schleife, um die Anzahl der Sonntage für jeden Tag des Monats zu berechnen:
Die Funktion "WENN" überprüft, ob jeder Tag ein Sonntag ist
Die Funktion "SUMME" addiert schließlich die Anzahl der Sonntage zusammen.
Uff – was bitte ist NETZWERKDIENSTAG ?
Auch die Antwort auf die Frage, wie man eine Quersumme berechnen kann, liefert ein kurioses Ergebnis:
In Microsoft Excel kannst du die Quersumme einer Zahl berechnen, indem du die Zahl in eine Zeichenfolge umwandelst und dann jede Ziffer einzeln addierst. Hier ist ein Beispiel, wie du das mit einer Formel tun kannst:
"Zahl" ist die Zahl, deren Quersumme berechnet werden soll
Die Funktion "LÄNGE" bestimmt die Anzahl der Zeichen in der Zahl
Die Funktion "INDIREKT" und "ROW" erstellen eine Zeichenfolge mit der Anzahl der Zeichen in der Zahl
Die Funktion "WENNTEIL" teilt die Zahl in einzelne Zeichen auf
Die Funktion "SUMME" addiert schließlich alle Zeichen zusammen, um die Quersumme zu berechnen.
WENNTEIL würde ein Schmunzeln hervorrufen – ein Anwender wird sicherlich verärgert sein, weil er überhaupt nicht weiß, wie man diese Formel umbauen kann/muss, damit sie ein korrektes Ergebnis liefert.
ChatGPT irritiert schon sehr. Haben Sie es schon ausprobiert. Hier einige Stilblüten. Ich will wissen
Wie kann ich mit VBA überprüfen, ob eine Zelle eine Datenüberprüfung besitzt?
Die Antwort:
Sie können in VBA überprüfen, ob eine Zelle eine Datenüberprüfung besitzt, indem Sie folgenden Befehl verwenden:
If Range(„A1“).Validation.Type <> 0 Then ‚ Code ausführen, wenn die Zelle eine Datenüberprüfung hat End If
In diesem Beispiel wird die Eigenschaft „Validation.Type“ verwendet, um zu überprüfen, ob die Zelle „A1“ eine Datenüberprüfung besitzt. Wenn die Überprüfung vorhanden ist, wird die Eigenschaft „Validation.Type“ ungleich 0 sein, und der Code innerhalb der If-Abfrage wird ausgeführt.
Nein, liebes ChatGPT, das ist falsch.
Wenn auf einer Zelle keine Datenüberprüfung liegt, liefert Range(„A1“).Validation.Type einen Fehler. Diesen kann man abfangen (On Error Resume Next) und dann den Wert der Err-Variable ermitteln.
Würde jemand dein Beispiel ausprobieren, wäre er oder sie frustriert und verärgert, weil es einen Fehler liefert.
Auch folgende Antwort erstaunt:
Gib mir fünf Lösungen, um die Summe der Zahlen in Spalte F zu berechnen
Hier sind fünf Lösungen, um die Summe der Zahlen in Spalte F in Microsoft Excel zu berechnen:
Verwenden Sie die SUM-Funktion:
=SUM(F1:F10)
Verwenden Sie die AutoSum-Funktion:
Klicken Sie auf die Zelle unter der letzten Zelle in Spalte F und drücken Sie die Tastenkombination "Strg + Alt +".
Verwenden Sie die Formel SUMME:
=SUMME(F1:F10)
Verwenden Sie die SUM-Formel mit einer festen Zellenbereichsadresse:
=SUM(F1,F2,F3,F4,F5,F6,F7,F8,F9,F10)
Verwenden Sie die SUM-Formel mit einer bedingten Formatierung:
Wählen Sie die Zellen in Spalte F aus und verwenden Sie die Funktion "Bedingte Formatierung". Wählen Sie dann die Option "Formel" und geben Sie "=ISTZAHL(F1:F10)" ein. Die Zellen, die Zahlen enthalten, werden automatisch markiert. Verwenden Sie dann die SUM-Formel und beschränken Sie die Zellenbereichsadresse auf die markierten Zellen.
=SUM(F1:F10)
Hinweis: In diesen Beispielen wird davon ausgegangen, dass die Daten in Spalte F in den Zellen F1 bis F10 enthalten sind. Stellen Sie sicher, dass Sie die Zellenadressen entsprechend anpassen, wenn Ihre Daten anders angeordnet sind.
Okay – das sind fünf Antworten (auch wenn die automatische Nummerierung versagt), aber sehr ähnliche. Ich hatte auf TEILERGEBNIS, AGGREGAT, … gehofft. Tja …
Und: einmal SUM, einmal SUMME zu schreiben sind eigentlich keine zwei Lösungen. Schließlich: liebes ChatGPT – bitte verwende doch Semikolon als Trennzeichen.
Vielleicht sollte ich die Antwort regenerieren lassen.
ChatGPT polarisiert: es begeistert, verblüfft und irritiert. Es irritiert durch falsche Antworten. Ein Beispiel gefällig?
Ich frage CHatGPT:
Mit welchem VBA-Befehl kann ich den Autor der Arbeitsmappe ermitteln?
Und erhalte folgende korrekte Antwort:
Sie können den Autor einer Arbeitsmappe in VBA mit folgendem Befehl ermitteln:
Dim strAuthor As String strAuthor = ThisWorkbook.BuiltinDocumentProperties(„Author“)
In diesem Beispiel wird die Eigenschaft „Author“ aus den „BuiltinDocumentProperties“ des aktuellen Workbooks abgerufen und in der Variablen „strAuthor“ gespeichert. Die „BuiltinDocumentProperties“ enthält alle standardmäßigen Dokumenteigenschaften wie Autor, Betreff, Schlagworte, etc.
Auch die Frage
Mit welchem VBA-Befehl kann ich ein Bild (beispielsweise C:\Test.jpg) in die rechte Kopfzeile einfügen?
wird korrekt beantwortet:
Sie können ein Bild in die rechte Kopfzeile einer Arbeitsmappe in VBA mit folgendem Befehl einfügen:
In diesem Beispiel wird die aktive Arbeitsblattseite ausgewählt und die Eigenschaft „RightHeaderPicture.Filename“ verwendet, um das Bild „C:\Test.jpg“ in die rechte Kopfzeile einzufügen. Wenn das Bild bereits eingefügt wurde, wird es durch das neue ersetzt.
Jedoch:
Meine Frage
Mit welchem VBA-Befehl kann ich den Mauszeiger ein- und wieder ausblenden?
wird nicht verstanden:
Sie können den Mauszeiger in VBA ein- und wieder ausblenden, indem Sie folgenden Befehl verwenden:
In diesem Beispiel wird die Eigenschaft „Cursor“ des Application-Objekts auf den Wert „xlWait“ gesetzt, um den Mauszeiger auszublenden. Nach der Ausführung des Codes wird die Eigenschaft „Cursor“ auf den Wert „xlDefault“ zurückgesetzt, um den Mauszeiger wieder einzublenden.
Bemerkung: xlWait und xlDefault sind Konstanten in der Microsoft Excel-Object Library, die Teil von VBA sind.
Nein, liebes ChatGPT – das ist nicht richtig. Mit der Eigenschaft Cursor kann man den Mauszeiger verändern, aber nicht ein- und ausblenden.
In letzter Zeit wird viel über ChatGPT diskutiert. Ich habe es mir angesehen und bin nicht sehr glücklich über die Antworten, die ich dort erhalte.
Ich will Folgendes wissen:
was ist der Unterschied zwischen SVERWEIS und XVERWEIS?
Und erhalte die Antwort:
Der Unterschied zwischen „SVERWEIS“ und „XVERWEIS“ liegt darin, wie sie mit fehlenden oder mehreren Übereinstimmungen umgehen.
„SVERWEIS“ gibt immer den ersten Wert zurück, der dem Suchkriterium entspricht, auch wenn es mehrere Übereinstimmungen gibt. Wenn kein Wert gefunden wird, gibt „SVERWEIS“ den Fehlerwert „#NV“ (Nicht verfügbar) zurück.
„XVERWEIS“ kann jedoch so konfiguriert werden, dass es bei mehreren Übereinstimmungen den ersten, den letzten oder einen bestimmten Wert zurückgibt. Wenn kein Wert gefunden wird, kann „XVERWEIS“ auch einen alternativen Wert zurückgeben, den Sie angeben, anstatt einen Fehler auszulösen.
Zusammenfassend ist „SVERWEIS“ schneller und einfacher zu verwenden, während „XVERWEIS“ mehr Flexibilität und Kontrolle bei der Verarbeitung von Suchergebnissen bietet.
Okay – diese Antwort ist richtig, aber XVERWEIS weist noch weitere Fähigkeiten auf, die ich bin SVERWEIS vermisse: Platzhaltersuche, matrixfähig, Standard die exakte Suche, die Spalte, in der die Werte stehen, die zurückgegeben werden, kann auch VOR der Suchespalte stehen, …)
Der Kommentar, dass „SVERWEIS“ schneller und einfacher zu verwenden,“ ist, halte ich für bedenkenswert.
ist der Prototyp eines Chatbots, also eines textbasierten Dialogsystems als Benutzerschnittstelle, der auf maschinellem Lernen beruht. Den Chatbot entwickelte das US-amerikanische Unternehmen OpenAI, das ihn im November 2022 veröffentlichte.
Und weiter:
Der Chatbot wurde mithilfe zweier Arten des sogenannten bestärkenden Lernens trainiert: RLHF (Reinforcement Learning from Human Feedback) und PPO (Proximal Policy Optimization[4][5]). Er nutzt zur Textein- und -ausgabe das Sprachmodell GPT-3.5 (GPT steht für Generative Pre-trained Transformer), eine verbesserte Version von GPT-3, die ebenfalls von OpenAI stammt. GPT basiert auf Transformern, ein von Google Brain vorgestelltes Maschinenlernmodell.
Klingt spannend. Ich melde mich an – das ist kostenlos.
Ich probiere aus – die Seite soll ja sehr gut Antworten zu Excel liefern – auf Englisch und auf Deutsch. Erster Versuch:
How to use xlookup in Excel?
Die Antwort:
XLOOKUP is a function in Microsoft Excel that allows you to search for a value in a table and return a corresponding value from a specified column. The syntax for XLOOKUP is:
lookup_value: The value you want to search for in the lookup_array.
lookup_array: The range of cells that contains the data you want to search.
return_array: The range of cells that contains the data you want to return.
default_value: The value to be returned if the function does not find a match (optional).
For example, if you have a table of data in columns A and B, with the names in column A and the corresponding ages in column B, you can use XLOOKUP to find the age of a specific person by using the following formula:
=XLOOKUP(„John“, A1:A5, B1:B5)
This will search for „John“ in column A, and return the corresponding value in column B.
Note: XLOOKUP function is available starting with Excel version 365, if you are working with an older version of Excel you may consider using INDEX and MATCH function or VLOOKUP. rene.martin@compurem.de how can I find an information in Column A in Excel with VBA?
Ich versuche es auf Deutsch:
Erkläre mit, was XVERWEIS in Excel macht
Die Antwort:
„XVERWEIS“ ist eine Funktion in Microsoft Excel, die eine Verweisoperation durchführt. Es ermöglicht es Ihnen, Werte aus einem anderen Tabellenbereich oder einer anderen Arbeitsmappe zu suchen und in Ihre aktuelle Tabelle einzufügen. Die Syntax von XVERWEIS lautet wie folgt: XVERWEIS(Suchkriterium, Bereich, [Spalte], [exakt]). „Suchkriterium“ ist der Wert, nach dem Sie suchen möchten. „Bereich“ ist der Bereich, in dem Sie suchen möchten. „Spalte“ ist optional und gibt an, in welcher Spalte Sie suchen möchten. „Exakt“ ist auch optional und legt fest, ob eine exakte Übereinstimmung gefunden werden soll oder nicht.
Ich reibe verwundert die Augen. Ich frage nach XVERWEIS und erhalte eine Erklärung zum SVERWEIS. Nein, liebes ChatGPT – DA musst du noch einmal ran!
Hallo Herr Martin, ich habe letzte Woche mich mit ihrem Excel Kurs beschäftigt und einige neue Funktionen kennen gelernt. Heute habe eine bereits bestehendes Excel welches ich oft offen habe geöffnet und kann bei der Seite „Einfügen“ nichts mehr machen (alles vergraut) und die alle Formen welche ich eingefügt habe kann ich nicht verschieben, editieren oder bearbeiten. Ich kann mir vorstellen, dass das bei dem Kapitel „Hilfreiche Assistenten“ bei Finden von Formen etwas verstellt habe. Kann das sein? Wenn ich auf die Formen fahre kommt ein weißer kreis mit einem schwarzen Ring und der einfach ( \ ) durchgestrichen ist.
ich hoffe sie können mir helfen.
mit freundlichen Grüßen
Hallo Herr A., es gibt eine Tastenkombination, welches Bilder ausblendet und keine neuen mehr einfügen lässt. Diese haben Sie aber nicht gedrückt, weil Sie sonst keine Bilder mehr sehen würden. Vielleicht haben Sie aus Versehen den Gruppierungsmodus aktiviert; also mehrere Tabellenblätter markiert. Falls ja, dann steht in der Titelleiste oben, dass eine Gruppe aktiviert ist. Unten sind mehrere Tabellenblätter ausgewählt. Über das Kontextmenü (rechte Maustaste) kann man auf einen Tabellenreiter das wieder ausschalten. War DAS die Ursache? Liebe Grüße Rene Martin
vielen vielen dank für die Problemlösung. Es waren tatsächlich mehrere Tabellenblätter markiert.
In Word soll per VBA ein Bild in eine Kopfzeile eingefügt werden. Blöde nur, dass es nach dem Einfügen „hinter den Text“ eingefügt werden soll. Ich habe lange gesucht, bis ich eine Lösung dafür gefunden habe:
Man muss das Bild in eine Form verwandeln (ConvertToShape). Dann funktioniert es:
Boah, wie schrecklich: eine Tabelle in Word (in der Kopfzeile) soll bearbeitet werden: in einer Zelle sitzt ein Bild – das soll gelöscht werden.
Mit dem VBA-Befehl Cells kann man in der Form Cells(1,1) auf die einzelnen Zellen zugreifen. Jedoch: sind Zellen verbunden, dann liefert beispielsweise Cells(2,2) ein Fehler, weil diese Zelle nicht vorhanden ist!
Die Lösung ist nicht elegant, aber sie funktioniert: Man durchläuft einfach alle Zellen – mit On Error Resume Next wird die fehlerhafte Zelle übergangen …
On Error Resume Next
Set wdDatei = wdApp.Documents.Open(Datei)
For i = 1 To wdDatei.Sections.Count
For j = 1 To wdKopf.Range.Tables.Count
Set wdTabelle = wdKopf.Range.Tables(j)
intZeilenAnzahl = wdTabelle.Rows.Count
intSpaltenAnzahl = wdTabelle.Columns.Count
For intZeile = 1 To intZeilenAnzahl
For intSpalte = 1 To intSpaltenAnzahl
If wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes.Count > 0 Then
Set wdMyRange = wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes(1).Range
wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes(1).Delete
End If
Next intSpalte
Next intZeile
Next j
Der Kunde will nicht nur, dass in einer Reihe von Excelvorlagen das Logo automatisiert, das heißt: mit VBA, ausgetauscht wird, sondern auch in Wordvorlagen.
Und damit beginnt wieder die Fummelei: liegt das Logo in der Kopfzeile oder in einer Tabelle in der Kopfzeile?
Eine Kopfzeile kann zur ersten Seite gehören, zum Objekt „gerade und ungerade Seiten unterschiedlich“ oder „gerade und ungerade Seiten nicht unterschiedlich“. Und diese wiederum an verschiedenen Abschnitten. Also sind eine Reihe von Schleifen nötig, um das alte Logo zu finden und zu löschen:
For i = 1 To wdDatei.Sections.Count
Set wdKopf = wdDatei.Sections(i).Headers(wdHeaderFooterPrimary)
If wdKopf.Range.InlineShapes.Count > 0 Then
Set wdMyRange = wdKopf.Range.InlineShapes(1).Range
wdKopf.Range.InlineShapes(1).Delete
wdKopf.Range.InlineShapes.AddPicture Bildpfad, , , wdMyRange ' Kopf ohne Tabelle
End If
For j = 1 To wdKopf.Range.Tables.Count
Set wdTabelle = wdKopf.Range.Tables(j)
intZeilenAnzahl = wdTabelle.Rows.Count
intSpaltenAnzahl = wdTabelle.Columns.Count
For intZeile = 1 To intZeilenAnzahl
For intSpalte = 1 To intSpaltenAnzahl
If wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes.Count > 0 Then
wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes(1).Delete
Set wdMyInShape = wdTabelle.Cell(intZeile, intSpalte).Range.InlineShapes.AddPicture(Bildpfad, , , wdMyRange)
End If
Next intSpalte
Next intZeile
Next j
Der Kunde ist noch immer nicht zufrieden. Die Kopfzeile soll um zwei Zeilenschaltungen nach unten verschoben werden. Also nicht so:
sondern so:
Der Befehl ist schnell gefunden. Allerdings amüsiert mich, dass die Kopfzeile vbCrLf als zwei Zeilenschaltungen interpretiert. Nun ja – ist ja okay so:
With Datei.Worksheets(j).PageSetup
.LeftHeader = vbCrLf & .LeftHeader
Gefunden in den Tiefen des Internets. Geschmunzelt: Endlich ein Rezept zum Keksbacken, das auch für Techniker und Mathematiker geeignet ist:
Und damit verabschiede ich mich in die Tiefen der Weihnachtsferien und wünsche allen Leserinnen und Lesern entspannte Weihnachtstage und einen guten Rutsch ins neue Jahr.
Dummerweise hat ein Teilnehmer eine intelligente Tabelle über das gesamte Tabellenblatt erstellt.
Ich möchte den Bereich auf die benötigte Größe verkleinern. Hierfür tut das Symbol „Tabellengröße ändern“ in der Registerkarte „Tabellenentwurf“ gute Dienste. Schneller als das grüne Eck nach oben zu ziehen ist sicherlich das Eintragen des Bereichs:
Allerdings: wir wundern uns, dass das Ergebnis nicht das gewünschte ist – die intelligente Tabelle ist verschwunden. Genauer: sie „hängt“ irgendwo oben:
Des Rätsels Lösung: der Bildschirm war so verschoben, dass die erste Ziffer der Zeilennummer nicht sichtbar war. Also auf ein Neues – beim zweiten Mal klappt es auch!
In ein Tabellenblatt wird eine Überschrift eingetragen. Sie wird formatiert:
Sie wird in eine (leere) intelligente Tabelle (mit einer Zeile) umgewandelt:
Fügt man nun eine Zeile ein, wird die Farbe der Überschrift übernommen:
Man darf also nicht, wenn man in einer intelligenten Tabelle die Überschrift per Hand formatiert (beispielsweise, wenn man unterschiedliche Farben für verschiedene Bereiche verwenden möchte) vor der ersten Datenzeile eine Zeile einfügen.
Für die leere Tabelle heißt das: man muss sie so anlegen, dass mehrere leere Zeilen vorhanden sind.
Die Teilnehmerin in der Excelschulung möchte wissen, wie man eine Formel wieder im Funktionsassistenten anzeigen lassen kann. Beispielsweise den XVERWEIS:
Erstaunlicherweise liefert ein Klick auf f(x) nicht den Dialog, sondern das Ergebnis, was nicht gewollt ist:
Die Ursache ich schnell gefunden: die Formel besteht nicht nur aus einer (ineinandergeschachtelten) Funktion, sondern aus einer Funktion und einer Berechnung. DAS kann nicht im Funktionsassistenten angezeigt werden.
Aber man kann die Funktion innerhalb der Formel markieren und dann mit f(x) im Funktionsassistenten anzeigen lassen:
Ein bisschen überlegen musste ich schon bei der Antwort auf die Frage, was der Unterschied zwischen „Gleich“ und „Textinhalt“ (in der bedingten Formatierung):
Im Englischen ist es etwas besser erklärt, finde ich: die eine Option bedeutet „exakt“, die andere „enthält“:
Katharina hat auf eine Differenz zwischen scheinbar gleichen, aber auf unterschiedlichen Rechner installierte Excel 2016-Version aufmerksam gemacht. Power Query hat bei der Abfrage auf einen Ordner nicht nachvollziehbare Fehlermeldungen:
Das Dialogfeld beim Zugriff auf Ordner wird gar nicht angezeigt.
Mark hat uns für eine mögliche Lösung den folgenden Link genannt:
Eigentlich dürfte das doch nicht so schwierig sein, denke ich. Weit gefehlt!
Die Aufgabe: In einer Liste sollen alle Zellen mit einem bestimmten Begriff, beispielsweise „Fehler“ ans Ende der Liste sortiert werden:
Nun – im benutzerdefinierten Sortieren gibt es die Möglichkeit eine benutzerdefinierte Liste zum Sortieren zu definieren. Diese Liste kann auch nur aus einem Wort bestehen:
Für diese Liste gibt es nun zwei Varianten: an den Anfang oder ans Ende:
Wählt man die untere Option – also: ans Ende – dann stehen die anderen Werte auch in umgekehrter Sortierreihenfolge in der Liste:
DAS ist allerdings nicht gewünscht – die oberen Werte sollen in alphabetisch aufsteigender Reihenfolge stehen und DANN der letzte Text „Fehler“. Und: zwei Mal sortieren verbietet Excel:
Also sortieren wir den gewünschten Text „Fehler“ doch nach oben … DAS funktioniert.
Trägt man in einer List in der Spalte der Ort beim Autofilter in das Suchen-Feld den Text Ulm ein, werden auch Orte wie Kulmbach oder Neckarsulm gefunden:
Abhilfe schafft ein Anführungszeichen am Anfang und am Ende: „Ulm“
Allerdings: beim Suchen wird „Ulm“ nicht gefunden:
Hier muss man die Option „Gesamten Zellinhalt“ bemühen.
Max fragt mich, ob ich ihm helfe könne, per VBA einen PowerBI-Bericht anzuzeigen.
Er möchte in Excel über eine Schaltfläche ein Makro aufrufen, das einen Bericht öffnet, so dass die Anwenderinnen und Anwender den Bericht sehen können:
Er hat den Befehl „Shell“ im Internet gefunden. Richtig: Mit Shell rufe ich Programme auf, die ich nicht direkt über einen eingebundenen Verweis starten kann. Wir machen uns auf die Suche. Wie denn der Pfad auf seinem SharePoint lautet, will ich wissen. Den finden wir heraus. Er hat etwa die Form:
Microsoft Excel können keine neuen Zellen einfügen, weil in dem Ende des Arbeits Blatts Push-Zellen nicht leer sind. Diese nicht-leeren Zellen werden möglich erweise leer angezeigt, aber leere Werte, einige Formatierungen oder Formeln. Löschen Sie genügend Zeilen oder Spalten, um Speicher Platz zu schaffen, was Sie einfügen möchten, und versuchen Sie es dann erneut.
Zugegeben: diese Fehlermeldung verstehe ich nicht. Ich schaue nach: Die Zellen sind leer:
Dann entdecke ich die Ursache der Fehlermeldung und den Grund, warum Excel keine Spalten einfügen kann: in der Firma wurde ein Filter von der ersten bis zur letzten Spalte eingeschaltet!
Mein Kollege Philip hat mir heute eine Excel-Frage gestellt, die ich nicht beantworten konnte, wohl wieder so ein „bei mir ist es aber anders“-Phänomen.
Er hat eine Excel-Datei erstellt, in der Prozentzahlen stehen. Das Zahlenformat der Zellen ist benutzerdefiniert und heißt 0,0000%;-0,0000%
Bei jedem anderen werden beim Öffnen der Datei diese Zahlen so angezeigt, wie sie sollen:
Egal welche Version, von Excel 2010 über Excel Online bis Microsoft 365 war alles dabei.
Nur bei Philip nicht – hier werden die Zahlen immer z.B. als 0,435130 angezeigt.
Ich würde daraus schließen, dass es in seinem Excel irgendeine Einstellung gibt, die anders ist bzw. in der mal irgendwas verstellt wurde.
Seine Version ist Home & Business 2019, das dürfte aber keine Rolle spielen.
Weißt du das?
Viele Grüße, Dominic
####
Hi Dominic,
nein – DAS kenne ich nicht – ich verwende bei Prozent immer das Zahlenformat „Prozent“ und keine benutzerdefinierten Formate.
ich möchte (mit [Strg] + [+]) eine weitere Zeilen einer intelligenten Tabelle einfügen. Und erhalte folgende Fehlermeldung:
Hierdurch wird ein gefilterter Bereich in Ihrem Arbeitsblatt geändert. Um diesen Vorgang abzuschließen, entfernen Sie bitte die AutoFilter.
Seltsam, denke ich: in meiner Tabelle habe ich noch nichts gefiltert. Auch das Entfernen des Autofilters bringt kein Licht ins Dunkel. Aber dann entdecke ich UNTER der Tabelle eine weitere Liste mit einer Filterung:
DAS ist des Rätsels Lösung. Obwohl noch Platz für eine weitere Zeile wäre, kann Excel, aufgrund des gesetzten Filters oben keine weitere Zeile einfügen.
Wie man denn Links auf einem Tabellenblatt schnell löschen können, möchte eine Teilnehmerin meiner Excelschulung wissen. Ich schaue mir die Datei an:
Seltsam, denke ich, der Link ist nicht an eine Zelle gebunden. Ich klicke auf den Link und stelle fest, dass er an ein Rechteck (ohne Füllfarbe und ohne Rahmenfarbe) gebunden ist, das auf dem Tabellenblatt liegt.