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.
Schöne Frage in der Excelschulung. Wir haben verschiedene Farben festgelegt, mit denen wir bestimmte Aufgaben kennzeichnen:
Nun passiert es manchmal, dass einige Kolleginnen und Kollegen ANDERE Farben verwenden als die Farben, die wir festgelegt haben. Das macht das Sortieren und Filtern mühsam. Kann man Farben schützen – in dem Sinne, dass nur bestimmte Farben verwendet werden können?
Die Antwort: leider nein. Mit VBA ist das möglich, aber nicht mit den Excel-Bordmitteln.
Umgekehrt: ich würde ein Auswahlfeld für die Aufgaben anbieten und auf Basis dieses Textes mit einer bedingten Formatierung die Zeilen enfärben.
Ein bisschen peinlich ist es schon. Ich habe für meine Excelschulungen viele Beispieltabellen mit Dummy-Daten. Einige davon sind hervorragend, um Dinge zu zeigen. In einer Schulung, in der ich die Pivottabellen erläutere, formatiert eine Teilnehmerin die Umsatzzahlen mit einem Klick auf das Symbol „Buchhaltungszahlenformat“ die Zahlen als Währung.
Und fragt mich, warum Excel „DM“ als Währung verwendet.
Die Antwort: weil ich diese Datei seit mehr als 20 Jahren verwende, zwar die Jahreszahlen austausche, aber immer noch die gleiche Datei.
Okay: ich sollte zumindest die Werte in eine neue, leere Datei kopieren, in der Euro in der Standardzellformatvorlage verwendet wird …
Da Leute dies unterschiedlich aussprechen, wiederhole ich den Namen „Pivot“ in verschiedenen Aussprachevarianten. Auch in der „französischen“ – ohne „t“.
Eine Teilnehmerin aus der Slowakei schaut irritiert auf. Ihr Nachbar kommentiert: „Du denkst jetzt an Bier, oder?“
Schöne Frage in der Excelschulung. In einer Excelmappe sind mehrere Tabellenblätter vorhanden, die alle den gleichen Aufbau aufweisen. Von allen soll nur ein Teil (jeweils der gleiche) ausgedruckt werden.
Leider versagt der Gruppierungsmodus (also mehrere Tabellenblätter markieren) UND „Druckbereich festlegen“:
Wir überlegen zusammen. Wenn mehrere Blätter markiert sind, wird die Markierung eines Bereichs auf allen Blättern übernommen.
Wählt man nun beim Drucken die Option „Auswahl drucken“ wird von jedem Blatt der selektierte Bereich gedruckt.
Nach der Excelschulung zeigt mir ein Teilnehmer eine Pivottabelle. Er möchte dort eine Berechnung durchführen. Eigentlich recht einfach: einen Wert durch 1.000 teilen. Kein Problem, oder?
Allerdings erhalten wir eine Fehlermeldung:
Es dauert eine Weile, bis ich dahinter komme, dass ich mir die Liste einmal anschauen sollte. Und tatsächlich: dort finde ich eine Spaltenüberschrift
in der sich nicht nur Leerzeichen und Sonderzeichen ([ ]) befinden, sondern auch noch Zeilenumbrüche ([Alt] + [Enter]).
Also noch ein Versuch: Da ich die unterste Zeile nicht sehe, drücke ich so lange die Taste [Pfeil unten] und [Pfeil rechts], bis ich glaube, das Ende erreicht zu haben. Dann füge ich die Rechnung (hier: / 1000) ein.
Speichert man in Outlook eine Anlage ab und öffnet sie und versucht nun in Outlook diese Anlage erneut zu speichern, erhält man folgende amüsante Meldung:
„Warum gleich zwei Mal?“, fragt sich Dominic, dem ich diesen Hinweis verdanke.
Hinweis: Microsoft war diesmal schnell. Inzwischen ist diese Meldung vereinfacht worden.
„Mit welcher Funktion“, will eine Teilnehmerin wissen, kann man die Änderung einer Zelle protokollieren. Das heißt: „wie kann man ermitteln, um welchen Wert eine Zelle geändert wurde.“
„Schöne Frage“, denke ich und antworte: „Das geht mit Excel-Formeln leider nicht. Das müsse man per Programmierung ermitteln. Beim Ändern einer Zelle wird der alte Wert mit dem neuen Wert verglichen.“
In der Excelschulung zeige ich, dass man mit [Strg] + [Pfeil unten] an das untere Ende (auf die letzte gefüllte Zelle) in einem Bereich springen kann. Mit [Strg] + [Pfeil oben] an das obere Ende.
Die Teilnehmerin fragt, wie man in die Mitte der Liste springen kann. Ich lache und sage ihr, dass es dafür keine Tastenkombination gibt. Aber: man kann den Zellnamen, beispielsweise A16, in das Namensfeld eintragen, [Enter] drücken – dann steht der Cursor in der Mitte der Liste.
Hallo Herr Martin, können Sie mir als Excel-Virtuose beim Umgang mit intelligenten Tabellen helfen? Es handelt sich um folgende Sache:
gegeben: ein Bereich mit insgesamt 14 Spalten und beliebig vielen Zeilen
Ziel: eine intelligente Tabelle bei der Spalte 1, Spalte 2-5, Spalte 6-10; Spalte 11-14 jeweils ein eigenes coloriertes Stripset besitzen (siehe Abbildung = 1. Versuch)
meine Versuche + aufgetretene Problematik:
Versuch: mehrere intelligente Tabellen mit dem jeweiligen Stripset (für Zeilen und Spalten) aneinanderfügen –> beim Hinzufügen einer neuen Zeile in Spalte 1 (und ff. neu alphabetisch sortieren lassen), sortieren sich die Zeilen der anderen Tabellen nicht automatisch mit –> Chaos Idee: Verknüpfung der aneinanderliegenden Tabellen, damit jede auf die Veränderung bspw. in der ersten Spalte (bzw. Tabelle) reagiert
Versuch: eine 14 Spalten umfassende intelligente Tabelle mit benutzerdefinierter Tabellenformatierung –> da die Tabellenabschnitte aus einer unterschiedlichen Anzahl aus Spalten bestehen, lässt sich nicht mal ansatzweise mein Ziel über das Formatieren des Stripsets „erste Spalte“ / „zweite Spalte“ verfolgen Idee: Hinzufügen der Auswahlfelder Stripset „dritte Spalte“, „vierte Spalte“, usw.
Versuch: eine 14 Spalten umfassende intelligente Tabelle mit „überdeckender“ händisch eingestellten Formatierung –> händisch eingestellte Formatierung ist nicht intelligent, sodass bei Filterfunktion die farbliche Unterscheidung zwischen den Zeilen nicht mehr gegeben war (Bsp. Zeile 1 gelb, Zeile 2 grün, Zeile 3 gelb; Filter Z.2 ; Zeile 1 gelb, Zeile 3 gelb)
Idee: Anwenden der bedingten Formatierung. Hierbei habe ich schnell festgestellt, dass mir der Ansatz gänzlich fehlt –> an welche „Variable“ od. „Konstante“ binde ich die Formatierung, damit ich einfach eine normale intelligente Tabelle erhalte, bei der sich die Hintergrundfarben unterschiedlich vieler Spalten abschnittsweise unterscheiden, die sich zusätzlich mitverändern, sollte man filtern oder neue Zeilen an unterschiedlicher Stelle hinzufügen
Ich hoffe, ich konnte es einigermaßen verständlich machen, woran es bei mir scheitert. Weiterhin hoffe ich, dass Sie Zeit und Lust haben, sich mit dieser Problematik zu befassen. Mit freundlichen Grüßen Marcel
PS: Ihr Forum „Excel nervt …“ ist mega unterhaltsam und hilfreich und befasst sich verständlich mit atypischen Fragen im Umgang mit dem Programm. Einfach genial. Hat mir sehr gefallen!
#####
Hallo Herr Gröschel,
1.) ich würde nicht mehrere intelligente Tabellen verwenden. Das widerspricht dem Gedanken der Tabellen.
2.) Ich habe nachgeschaut: es geht nicht mit dem Stripset. DAS ist recht einfach aufgebaut und erlaubt nicht so viele Varianten, wie Sie es gerne hätten.
3.) Warum nicht bedingte Formatierung? Setze ich auch gerne ein. Beispielsweise um eine Zeile farblich zu hinterlegen.
Die Formel (bspw.):
=UND(SPALTE()>=11;SPALTE()<=14)
Hilft das?
Liebe Grüße
Rene Martin
####
Guten Abend Herr Martin,
vielen Dank, dass Sie so schnell geantwortet haben! Ihre Formel hat mir grundsätzlich weitergeholfen. Damit konnte ich das Problem der verschiedenen Spaltenfarben in meiner Tabelle lösen. Es war simpel und genial.
Dennoch blieb das Problem der farblichen Abgrenzung zwei aufeinanderfolgender Zeilen bestehen. Zuerst probierte ich es mit:
=REST(ZEILE();2)
Hat soweit gut funktioniert, bis ich dann die Filterfunktion der intelligenten Tabelle verwendet habe. Im Ergebnis unterschied das Programm nicht zwischen eingeblendeten und ausgeblendeten Zeilen.
Basierend darauf kam ich durch weitere Recherche zur Ziellösung:
=REST(TEILERGEBNIS(3;$B$5:$B5);2)=0
(wobei die erste Spalte meiner Tabelle in Blattspalte B beginnt und ab Zeile 5 stets einen Wert beinhaltet)
Hierbei ist zu beachten, dass der gewünschte Effekt bzw. konkret die gewünschte farbliche Formatierung in der gesamten Tabelle nur dann funktioniert, wenn in Spalte B, in jeder Zelle der Tabelle auch ein beliebiger Wert steht. In meinem Fall befinden sich hier jeweils die Bezeichnungen.
Das wiederum bedeutet, dass beim Hinzufügen einer neuen Zeile vorerst nicht der gewünschte Effekt eintritt, sondern erst nach befüllen der neuen Zelle in Spalte B. Es ist unterm Strich noch nicht perfekt, aber es lässt sich damit arbeiten.
Ich unterrichte PowerQuery in einer internationalen Firma. Einige haben die englische Oberfläche eingestellt und damit auch das Dezimaltrennzeichen „.“ und die Datumsschreibweise „MM/TT/JJJJ“, einige Teilnehmer und Teilnehmerinnen „sprechen“ deutschen, also das Komma als Dezimaltrennzeichen und Datum in der Form „TT.MM.JJJJ“.
Beim Festlegen des Datentyps müssen nun einige auf „Dezimalzahl“ klicken, andere das Gebietsschema festlegen. Da ich verschiedene Übungsbeispiele mitgebracht habe, muss man entweder die eine oder andere Variante wählen:
Ich überlege: Wenn nun eine solche Datei mit einem PowerQuery-Zugriff ausgetauscht wird, wäre es doch sinnvoll IMMER das Gebietsschema der Quelle festzulegen, da es ansonsten zu Fehlern kommen kann:
Eine Teilnehmerin in der Schulung fragte, wie man geöffnete Dateien sortiert.
Der Gedanke: sie öffnet mehrere Dateien – allerdings leider nicht in der von ihr gewünschten Reihenfolge – und sucht dann eine Datei. Das kann bei sehr vielen Dateien recht mühsam sein, wenn man mit [Alt] + [TAB] sich durch die Dateien bewegt:
Meines Wissens kann man nicht die Reihenfolge ändern.
Auch nicht die Reihenfolge, wenn man auf das Excelsymbol in der Taskleiste klickt:
Aber: Da in der Registerkarte Ansicht im Symbol „Fenster wechseln“ die Dateinamen alphabetisch sortiert sind, fand sie diese Lösung sehr attraktiv:
Warum sie eine intelligente Tabelle nicht umbenennen dürfe, fragt eine Teilnehmerin in der Excelschulung.
Seltsam, denke ich: ein Tabellenblatt, eine intelligente Tabelle – Excel behauptet, dass dieser Name bereits vorhanden sei.
Ich werfe einen Blick in den Namensmanager:
Dort finde ich eine intelligente Tabelle und einen Namen. Was hat die Teilnehmerin gemacht?
Schritt 1: Wandle den Bereich in eine Tabelle um. Sie heißt nun Tabelle1:
Markiere die Liste und vergebe ihr einen Namen. Also nicht der Tabelle, sondern dem Bereich (hier: A1:F25)
Und so sieht man den Namen der Tabelle, aber nicht, dass ein anderer Bereich bereits mit dem Namen belegt ist, den man selbst gerne vergeben möchte … Perfide!
VBA-Schulung. Ein Teilnehmer wollte JSON-Datein in Excel haben. Kein Problem, sagte ich und zeigte ihm PowerQuery.
Allerdings – nach einigen fragenden Blicken – stellten wir fest, dass in seinem Excel 2016 (anders als meines in Microsoft 365) noch kein JSON-Zugriff vorhanden ist.- Ärgerlich!
und füge einige Zeilen ein – padautz: es erscheinen einige Zellen in schwarzer Farbe:
Ich habe die Formatvorlagen durchgesehen, die bedingten Formatierungen, es gibt keine schwarze Farbe auf dem Tabellenblatt, er rührt auch nicht von der Formatierung der intelligenten Tabelle.
Erst wenn ich alle Formatierungen lösche und neu einschalte, verschwindet der Spuk.
Ich habe keine Ahnung, woher und warum sich Excel auf dem SharePoint in diesen Zellen die Hintergrundfarbe zieht …
Mit PowerQuery wurde eine Abfrage erstellt. Diese enthält eine Liste. Wie kann man eine Dropdownliste mit einer Datenüberprüfung auf diese Liste erstellen, ohne dass die Daten nach Excel geladen werden?
Etwas irritiert bin ich schon. In einer PowerBI-Schulung erzählt mir ein Teilnehmer, dass er die Daten gerne in Excel hätte. Und dass er eigentlich gerne mit PowerQuery in Excel darauf zugreifen würde. Und nicht mit PowerBI. Aber die IT hätte ihm gesagt, dass es nicht gut ist, wenn mit PowerQuery so viele Abfragen auf die Datenbank abgesetzt werden. Besser wäre es, mit PowerBI auf die Datenbank zuzugreifen.
Ich bin mir nicht sicher, ob die Damen und Herren von der IT nicht wissen, dass PowerBI auch PowerQuery verwendet.
Schöne Frage in der Excelschulung: Wir haben auf SharePoint mehrere Excelmappen, in denen der Autofilter eingeschaltet ist. Kolleginnen und Kollegen laden die Dateien runter, filtern, vergessen den Filter auszuschalten und – nun ist für den nächsten Kollegen der „alte“ Filter aktiviert. Ob man das einstellen könne, dass beim Schließen der Datei zwar der Autofilter gesetzt bleibt, jedoch nicht eine mögliche Filterung.
Leider gibt es dafür keine Einstellung, lautete meine Antwort – das müsse man programmieren. Ein langes Gesicht war die Folge.
Warum rechnet der XVERWEIS bei mir nicht, möchte ein Teilnehmer in meiner Excelschulung wissen:
Ich lasse die korrekt berechnete Zelle editieren:
Ich sehe den Fehler nicht. Er als ich den Teilnehmer bitte, eine andere, fehlerhafte Zelle mit einem Doppelklick zu editieren, sehe ich, dass von den acht Dollarzeichen eines fehlt. Und somit sind die beiden Spalten nicht gleich groß.
Ich schmunzle, wenn Teilnehmerinnen oder Teilnehmer in meiner Excelschulung mich darauf aufmerksam machen, dass sie einen Fehler haben, ihn aber nicht finden. Und das, obwohl sie es GANZ GENAU SO GEMACHT HABEN, wie ich. Eben nicht, denke ich mir.
Wir üben die Funktionen der Kategorie „Nachschlagen und verweisen“: INDEX. Ich habe auf dem ersten Tabellenblatt „Entfernungen“ einen Entfernungsliste (von A nach B). Ei Wert soll Zeilen und ein anderer Spaltenweise gesucht werden. Auf einem zweiten Blatt beginne ich zu tippen:
=INDEX
und wechsle auf das erste Tabellenblatt, wo ich den Bereich markiere und fixiere ([F4]):
Dann drücke ich das Semikolon, um danach auf dem zweiten Blatt den zweiten Wert einzugeben. Allerdings vergisst die Teilnehmerin das Semikolon, klickt auf das andere Blatt, was Excel interpretiert als: „Sie möchte sicherlich einen anderen Blattnamen haben …“ Eben – das führt zu einem Fehler:
Mir ist es gerade passiert, dass mein erstelltes Liniendiagramm plötzlich nicht mehr sichtbar war.
Dann habe ich erst versucht, ein neues Diagramm zu erstellen und da war mein ursprüngliches Diagramm für kurze Zeit wieder sichtbar. Sobald ich jedoch bei dem neuen Diagramm auf OK drückte, war das alte wieder weg.
Ich bin dann mal kurz auf den Menüpunkt „Ansicht“ und dort auf „Umbruchvorschau“ gegangen und das ursprüngliche Diagramm war wieder da. Bei Rückkehr in die Normalansicht blieb es dann auch sichtbar und ich konnte das neue Diagramm löschen.
Excel scheint da irgendeinen Bug zu haben …
####
Ich kenne diese Anomalie nicht – sorry, Elke – dazu kann ich leider nichts sagen …
Hat heute ein Kollege rumgeschickt mit der Bitte um Hilfe, ich selbst hab das aber auch zum ersten Mal gesehen:
Meine These lautet, dass der Gegenüber (also der Verfasser der Kommentare) Microsoft 365 nutzt, mein Kollege hingegen Home&Business 2019, also eine etwas ältere Kauflizenz und dass die Ursache der Fehlermeldung in Kompatibilitätsproblemen der beiden Versionen liegt.
Die Kommentare konnten auch wirklich nicht angezeigt werden.
Meine Lösung war, die Datei auf OneDrive zu speichern und mit der Web-Version von PowerPoint zu öffnen, was dann auch funktioniert hat.
Nur irgendwie ist das schon doof, wenn bei sowas Simplen wie der Kommentarfunktion schon Probleme zwischen den beiden Versionen entstehen (Absicht von Microsoft um Menschen zur Abo-Version zu drängen?)-
Danke dir und viele Grüße, Dominic
###
Hi Dominic,
es bleibt spannend: NEIN – DAS habe ich noch nicht gesehen.
Zugegeben: ich arbeite selbst wenig mit PowerPoint und schule es auch sehr selten.
nach langer Zeit melde ich mich mal wieder mit einem kleinen Rätsel bzw. mit so einem kleinen „Bin ich doof?“-Moment. Es geht um die Schriftfarbe in PowerPoint
Das erste Problemchen war, dass ich daran gescheitert bin, mittels .TextFrame.TextRange.Font.Color.RGB die Schriftfarbe eines (bzw. natürlich mehrerer) Textfelder auszulesen – es wurde immer der anscheinend unsinnige Wert –2147483648 ausgegeben.
Farbenblind? Naja, irgendwie war das schon aber richtig (Beispielfolie im Anhang) – sieht grün aus.
Ich tippe in das Textfeld und klicke unter Start à Gruppe „Schriftart“ à Schriftfarbe à weitere Farben à Benutzerdefiniert und schaue mir den RGB-Code an: (0, 176, 80). Soweit so gut.
So, jetzt klicke ich aber auf den Rahmen des Textfeldes, da erscheint auch eine schöne Schaltfläche, die „Schriftfarbe“ heißt:
Hier ist jetzt ein RGB Wert von (0,0,0) zu sehen:
Ich würde jetzt mal spekulieren, dass dieses schwarz auch hinter der Ausgabe von –2147483648 steckt, die .TextFrame.TextRange.Font.Color.RGB ausspuckt.
Ist das normal, dass die eine Schriftfarbe nichts mehr der anderen zu tun hat? Ich bin verwirrt.
Viele Grüße, Dominic
###
Hi Dominic,
hübsch! Ich erkläre in PP-Schulungen immer, dass es drei Status bei Objekten gibt: entweder du bist „drauf“ (hast das Objekt markiert), oder „drin“ (im Text, in der Tabelle, im Diagramm, …) oder gar nicht markiert – also auf der Folie.
Richtig: wenn du den Rahmen markierst, ist die Schriftfarbe schwarz:
Wenn du dagegen IN dem Text bist, ist die Schriftfarbe „dein“ Grün:
Das heißt: du darfst nicht die Farbe des Rahmens auslesen (schreiben schon, bspw.: ActivePresentation.Slides(1).Shapes(1).TextFrame.TextRange.Font.Color = RGB(255, 0, 0) ), sondern eines Zeichens:
Bei mir erscheint seit geraumer Zeit auch diese ominöse Meldung mit dem „Das wird nicht funktionieren bla bla bal“ Allerdings erhalte ich die Meldung wenn ich versuche in einer Tabelle eine Spalte einzufügen und es ist egal ob links, oder rechts.
Perfide ist, dass das Ganze ab der Spalte BQ mit allen Tabellen funktioniert.
Da dachte ich, da muss irgendwo in einer „Zombie Zelle“ etwas stehen, was diese Funktion ab der Spalte A bis BQ stört. Also habe ich versucht die Tabellen in den betroffenen Spalten einfach nach rechts, > Spalte BQ zu verschieben. Dies mit der Absicht danach alle Spalten A bis BQ löschen zu können:
Mit einigen Tabellen hat das funktioniert, doch plötzlich geht das Einfügen von Spalten in einer Tabelle welche ab der Spalte BQ steht, auch nicht mehr und mir gehen langsam aber sicher die Ideen aus, was die Ursache sein könnte und bin schon ziemlich genervt.
Hast Du vielleicht eine Idee, was die Ursache sein könnte?
###
Hallo Herby,
nein – DAS kenne ich nicht. Ab und zu friert mein Excel ein; ich klicke wild drauf rum – aber meistens ist der „Schaden“ behoben, wenn ich Excel schließe und wieder öffne.