Author Archives: Medardus

Ich beurteile Menschen nicht nach Aussehen, Hautfarbe oder Religion. Sondern wie sie sich benehmen, wenn eine zweite Kasse geöffnet wird.

Das ist bösartig! In einem Exceldokument sollen Werte von Eigenschaftsfeldern, die von SAP kommen, in die Kopfzeile geschrieben werden. Also von:

Nach:

Der Befehl für diese Felder ist schnell gefunden:

ContentTypeProperties(„Target group“)

Das Makro:

Dim strTitle As String
Dim strLocation As String
Dim strTarget As String
Dim strType As String

strTitle = ThisWorkbook.BuiltinDocumentProperties("Title").Value
strLocation = ThisWorkbook.ContentTypeProperties("Location").Value
strTarget = ThisWorkbook.ContentTypeProperties("Target group").Value
strType = ThisWorkbook.ContentTypeProperties("Document type").Value

If strTitle <> "" Then strTitle = " " & strTitle
If strLocation <> "" Then strLocation = " " & strLocation
If strTarget <> "" Then strTarget = " " & strTarget
If strType <> "" Then strType = " " & strType

With ActiveSheet.PageSetup
    .LeftHeader = Replace(.LeftHeader, "Title", "Title" & strTitle)
    .LeftHeader = Replace(.LeftHeader, "Location", "Location" & strLocation)
    .LeftHeader = Replace(.LeftHeader, "Target group", "Target group" & strTarget)
    .LeftHeader = Replace(.LeftHeader, "Document type", "Document type" & strType)
End With

Ein Durchlauf mit leeren Feldern – klappt! Ein Durchlauf mit Daten bringt die Fehlermeldung 13: Typen unverträglich. Ich stutze. Ich untersuche die Inhalte. tatsächlich: die Daten, die aus Sharepoint kommen, sind keine Texte, sondern Datenfelder. Bestehend aus zwei Werten: Inhalt und ID. Sieht man aber nicht:

Nun das kann man abprüfen:

Dim strTitle As String
Dim strLocation As String
Dim strTarget As String
Dim strType As String

If TypeName(ThisWorkbook.BuiltinDocumentProperties("Title").Value) = "String()" Then
    If UBound(ThisWorkbook.BuiltinDocumentProperties("Title").Value) >= 0 Then
        strTitle = ThisWorkbook.BuiltinDocumentProperties("Title").Value(0)
    End If
ElseIf TypeName(ThisWorkbook.BuiltinDocumentProperties("Title").Value) = "String" Then
    strTitle = ThisWorkbook.BuiltinDocumentProperties("Title").Value
End If

If TypeName(ThisWorkbook.ContentTypeProperties("Location").Value) = "String()" Then
    If UBound(ThisWorkbook.ContentTypeProperties("Location").Value) >= 0 Then
        strLocation = ThisWorkbook.ContentTypeProperties("Location").Value(0)
    End If
ElseIf TypeName(ThisWorkbook.ContentTypeProperties("Location").Value) = "String" Then
    strLocation = ThisWorkbook.ContentTypeProperties("Location").Value
End If

If TypeName(ThisWorkbook.ContentTypeProperties("Target group").Value) = "String()" Then
    If UBound(ThisWorkbook.ContentTypeProperties("Target group").Value) >= 0 Then
        strTarget = ThisWorkbook.ContentTypeProperties("Target group").Value(0)
    End If
ElseIf TypeName(ThisWorkbook.ContentTypeProperties("Target group").Value) = "String" Then
    strTarget = ThisWorkbook.ContentTypeProperties("Target group").Value
End If

If TypeName(ThisWorkbook.ContentTypeProperties("Document type").Value) = "String()" Then
    If UBound(ThisWorkbook.ContentTypeProperties("Document type").Value) >= 0 Then
        strType = ThisWorkbook.ContentTypeProperties("Document type").Value(0)
    End If
ElseIf TypeName(ThisWorkbook.ContentTypeProperties("Document type").Value) = "String" Then
    strType = ThisWorkbook.ContentTypeProperties("Document type").Value
End If

If strTitle <> "" Then strTitle = " " & strTitle
If strLocation <> "" Then strLocation = " " & strLocation
If strTarget <> "" Then strTarget = " " & strTarget
If strType <> "" Then strType = " " & strType

With ActiveSheet.PageSetup
' -- schreibe nur rein, falls der Text noch nicht drinsteht.
    If InStr(1, .LeftHeader, "Title" & strTitle) = 0 Then
        .LeftHeader = Replace(.LeftHeader, "Title", "Title" & strTitle)
    End If
    If InStr(1, .LeftHeader, "Location" & strLocation) = 0 Then
        .LeftHeader = Replace(.LeftHeader, "Location", "Location" & strLocation)
    End If
    If InStr(1, .LeftHeader, "Target group" & strTarget) = 0 Then
        .LeftHeader = Replace(.LeftHeader, "Target group", "Target group" & strTarget)
    End If
    If InStr(1, .LeftHeader, "Document type" & strType) = 0 Then
        .LeftHeader = Replace(.LeftHeader, "Document type", "Document type" & strType)
    End If
End With

Und dann klappt es auch:

Die Tatsache, dass Quallen mehr als 500 Millionen Jahre überlebt haben, obwohl sie kein Gehirn haben, gibt vielen Menschen Hoffnung.

Ich weiß nicht genau warum. Eigentlich ist VBA VBA. Aber manchmal passiert es, dass ich ein Programm schreibe, es einem Kunden weitergebe und sämtliche Funktionen der VBA-Bibliothek nicht erkannt werden, also: Left, Right, Len, InStr, …

Die Lösung: ich setze den Bibliotheksnamen VBA davor, also: VBA.Left, VBA.Right, VBA.Len, VBA.InStr, … Dann läuft es.

Gib einem Mann einen Putzlappen und er wird ihn ratlos angucken. Gib ihm einen Hochdruckreiniger und er wird alle reinigen, soweit das Kabel reicht.

Einmal links, einmal rechts – da muss ich jedesmal hinschauen. Kennt ihr das? Ich habe eine Datei erstellt oder geöffnet und modifiziert und möchte die Datei oder die Applikation schließen OHNE zu speichern. Sei es, weil ich etwas ausprobieren wollte, weil ich nur drucken wollte, weil die Änderungen falsch waren, weil Excel volatile Funktionen neu berechnet hat… Es gibt eine Reihe von Gründen. Also: schließen/beenden OHNE ZU SPEICHERN. Wohin klicken? „Nicht speichern“ – rechts:

Eben: „Nicht speichern“ – rechts:

Ups: noch ein Button mehr:

Hier auch:

Oder ich muss genau hinschauen, um zu verstehen, dass „NEIN“ „nicht speichern“ bedeutet:

In PowerQuery muss ich wieder rechts klicken – allerdings: „Verwerfen“:

Und hier: richtig: links klicken! Damit das Hirn wieder funktioniert! Die Aufmerksamkeit auf den Text gelenkt wird! Bloß keine Langeweile oder Gewohnheit aufkommt:

Hatte neulich Stress. Sagte cool: „Fass mich nicht an – ich kann Kibotu“. Muss ja keiner wissen, dass das Kinderbodenturnen heißt.

Hallo Rene, ich mache zurzeit Ihre Ecel Schulung Tipps & Tricks, bis jetzt bin ich begeistert, vielen Dank. Eventuell können Sie mir mit einer Formel helfen? Ich habe zwei Tabellenblätter und möchte Emailadresse, die in Blatt 1 in Spalten aufgelistet sind, zu Blatt 2 einen automatischen Bezu herstellen, sodass dort in einer Zelle die EMailadressen automatisch erscheinen, wenn ich sie in Blatt 1 eingetippt habe. Ich danke bereits für Ihre Hilfe.

Hallo Anna, wenn sich der Cursor auf der Zelle befindet, wo die Email-Adresse stehen soll, genügt ein „=“, dann ein Klick auf das erste Tabellenblatt und ein zweiter Klick auf die Zelle, in der sich die Mailadresse befindet. Achtung: Nicht zurückklicken! Sondern mit [Enter] bestätigen! Dann steht in der Zielzelle beispielsweise =Tabelle1!C3 Hilft das? Oder denke ich zu einfach? schöne Grüße Rene Martin

Lieber Rene,    danke für die supr schnelle Antwort.  Es ist leider doch ein wenig komplizierter, aber ich denk für Sie ebenfalls problemlos zu lösen. Ich füge ein Beispieldokument ein zum besseren Verständnis.  Aus Tabelle1 möchte ich automatische alle Email-adressen von Runde 1 in aufgelistet in ein Zelle im Tabellenblatt ‚Mailverteiler‘ auflisten.  Wie lautet die Formel des Zellbezugs?   Besten Dank für Ihre Hilfe.

Hallo Anna, hast du eine neueres Excel? Und dort die Funktion TEXTVERKETTEN? Damit geht es LG  ::  Rene

Alabasterkörper? Speckstein, Darling.

Amüsant. In Excel mit der englischsprachigen Oberfläche darf man ein Tabellenblatt nicht „History“ nennen. Das ist ein geschütztes Wort.

Bei der deutschen Oberfläche funktioniert das.

In der deutschen Oberfläche ist der Name “ Änderungsverlauf “ geschützt; im Französischen Historique. Danke an die Macher des Global Excel Summit und an Mourad Louha für den Hinweis.

Früher ging ich mit einer DM zum Kiosk und kam mit zwei Heften, drei Kaugummis, einer Tüte Chips und einem Eis zurück. Und heute? Überall Überwachungskameras!

Einfach nicht aufgepasst!

Mein VBA-Programm liefert eine „merkwürdige“ Fehlermeldung. Warum kann ein Tabellenblatt nicht ausgeblendet werden?

Die Ursache ist schnell gefunden – es gibt nur ein Tabellenblatt – und dieses ein darf ich natürlich nicht ausblenden … Also schnell überprüft, wie viele Blätter sichtbar (xlSheetVisible) sind.

Kühlschrank sauber gemacht. Der Käse hielt ein Referat über Vergänglichkeit und hatte die Haare schön.

Hallo Herr Martin,

herzlichen Dank für Ihre Mühe!.

Unabhängig davon möchte ich Ihnen nochmals für die sehr gelungene Onlineschulung am Freitag danken.

Sehr praxisnah und super erklärt! Ich freue ich schon auf PowerBI im September.

Bei dem File gibt es noch ein kleines Problem

Formula.Firewall: Abfrage ‚Tabelle 1‘ verweist auf andere Abfragen oder Schritte und kann daher nicht direkt auf eine Datenquelle zugreifen. Erstellen Sie diese Datenkombination neu.

Ich kann mir dies im Moment nicht im Detail ansehen (Pfad scheint korrekt, Files vorhanden), werde aber am Nachmittag nach Anleitung versuchen, dies „nachzubauen“.

Könnte ein Kompatibilitätsproblem sein (Excel-Version). Bekomme vor öffnen von Power Query diese Meldung:

Kompatibilitätswarnung: Die Abfragen in dieser Arbeitsmappe sind u.U. nicht mit Ihrer aktuellen Version von Excel kompatibel.

Hallo Herr Martin,

Ihre Liste funktioniert doch – es waren meine Sicherheitseinstellungen.

Nochmals vielen lieben Dank!

Brettspiel für eine Person? – Bügeln!

PowerQuery-Schulung. Frage eines Teilnehmers:

Von einer Liste sollen gleiche Werte gruppiert und deren Elemente durch Komma getrennt in einer Zelle zusammengefasst werden. Also, aus

A 1
B 2
B 3
C 4

Soll werden:

A 1
B 2, 3
C 4

Ich habe eine Weile überlegen müssen. Und hier die Lösung:

Schritt 1: Die Tabelle wird importiert. Die erste Spalte wird sortiert, damit die Elemente untereinander stehen. Diese Tabelle wird dupliziert:

Die zweite Tabelle wird gruppiert, so dass die Anzahl der Elemente ermittelt werden kann:

Diese beiden Tabellen werden mit einander verknüpft (Home / Kombinieren / Abfragen zusammenführen / Abfrage als neue Abfrage zusammenführen):

Die Tabelle wird „aufgeklappt“.

Eine Indexspalte, die mit 0 beginnt, wird eingefügt.

Die Funktion List.Range gruppiert die Werte:

List.Range(#“Added Index“[Artikelname],[Index],[#“Artikel (2).Anzahl“])

Zur Erklärung:

  • #“Added Index“[Artikelname] ist die Spalte aus der die Daten gruppiert werden.
  • [Index] – ab dieser Position wird gruppiert
  • ],[#“Artikel (2).Anzahl“] – so viele Elemente werden gruppiert

Steht ein Wert beispielsweise drei Mal in der Liste, können die letzten zwei Werte gelöscht werden. Dies erreicht man mit dem Befehl „Duplikate entfernen“, den Sie in Home / Zeilen verringern / Zeilen entfernen finden.

Das Ergebnis sieht dann wir folgt aus:

Knifflige Aufgabe …

Seitdem sich in der Kneipe nach dem Pinkeln alle die Hände waschen, haben die Erdnüsse auf der Theke gar keinen Geschmack mehr!

Ich habe bereits darüber geschrieben:

Eine Teilnehmerin der Excelschulung fragte heute, wie man mehrere Blätter mit EINEM Klick einblenden könne. Ausblenden sei ja kein Problem:

Aber einblenden?

Ich habe noch einmal überlegt: Start / Zellen / Format / Ausblenden und Einblenden / Blatt einblenden zeigt den gleichen Dialog, mit man Blätter nur einzeln einblenden kann:

Und im VBA-Editor? Auch dort nur einzeln. Vielleicht ein bisschen schneller:

Also doch ein Makro … Aber das wollte sie nicht … Tja …

Mama meinte heute zu mir: „Du bist hier nicht im Hotel!“ Habe erstmal eine schlechte Bewertung auf google geschrieben: „Freches Personal.“

Ich predige es in jeder VBA-Schulung: „sauber programmieren“. Und jetzt bin ich selbst darüber gestolpert: Ein Fehlermeldung an der Stelle

If xlBlattSuch.Range(„B1“) = „“ Then

Klar: das Objekt Range(„B1“) wird verwechselt mit der Eigenschaft Range(„B1“).Value.

Einfach vergessen: bei mir läuft es – beim Kunden gibt es eine Fehlermeldung. *ggrrrrr*

Jeder Bademeister im Ruhestand blickt auf eine chlorreiche Vergangenheit zurück

Gestern in der Excelschulung. Ich zeige, dass man beim Fixieren den Cursor in die Zelle setzt und alle Zeilen über der aktiven Zelle und alle Spalten davor werden fixiert.

Eine Teilnehmerin fragt, ob es möglich sei die Fixierung nun so zu ändern, dass nur noch die Zeilen fixiert sind.

Leider nein: zwei Schritte sind nötig: Fixierung aufheben und dann neu fixieren.

Ich hab mich gefragt, was meine Eltern früher ohne Internet gemacht haben. Auch meine 14 Geschwister konnten mir keine Antwort geben.

Hallo Herr Martin,

Hier mal ein Problem an Sie als Excel-Guru.

Wir haben in unserem Dokumentenlenkungssystem eine Vorlage für Excel mit spezifischen Eigenschaften (siehe Bild mit den teilweise kundenspezifischen Eigenschaften).

Damit in Excel beim ausdrucken die wesentlichen Informationen in Kopf und Fußzeile erscheinen, müssen wir das alles sehr aufwändig händisch in allen Tabellenblättern pflegen. Was natürlich sehr fehlerträchtig ist…

Ich habe mit meinen sehr bescheidenen Kenntnissen mal versucht, irgendwie mit VBA da an die Info ranzukommen, so:

Sub Test()

rw = 1

Worksheets(1).Activate

For Each p In ActiveWorkbook.CustomDocumentProperties

    Cells(rw, 1).Value = p.Name

    Cells(rw, 2).Value = p.Value

    rw = rw + 1

Next

End Sub

Im Ergebnis allerdings ohne Erfolg, da kaum Werte so rauslesbar sind, vor allem nicht die spezifischen. Das wäre auch nur die halbe Miete gewesen, da ja das Einbringen der Info in die Kopf- und Fußzeile nochmal ein separates Problem darstellt, für die ich aktuell keine Idee zur Lösung habe… Kennen Sie vielleicht ein paar VBA-Kniffe, wie ich hier vielleicht weiterkomme?

Hallo Herr F.,

und so geht es:

mit

Dim i As Integer

    On Error Resume Next

    For i = 1 To ThisWorkbook.ContentTypeProperties.Count

        MsgBox ThisWorkbook.ContentTypeProperties(i).Name & „//“ & ThisWorkbook.ContentTypeProperties(i).Value

    Next

ermittle ich die von SharePoint gesetzten Werte und Namen.

Mit

    MsgBox ThisWorkbook.BuiltinDocumentProperties(„Title“).Value, , „Titel“

    MsgBox ThisWorkbook.ContentTypeProperties(„Location“).Value, , „Location“

    MsgBox ThisWorkbook.ContentTypeProperties(„Target group“).Value, , „Target group“

    MsgBox ThisWorkbook.ContentTypeProperties(„Document type“).Value, , „Document type“

greife ich auf die Inhalte zu.

Und: Dies kann in

Private Sub Workbook_BeforePrint(Cancel As Boolean)

eingebunden werden:

ActiveSheet.PageSetup.LeftHeader = …

Was ist los? – Ich mach mir Sorgen um meine Frau! – Was hat sie denn? – Mein Auto!

Hallo Herr Martin, das mit der Autokorrektur funktioniert leider nur dann, wenn sich während des Schreibens nicht automatisch die Sprache ändert.Haben Sie in der Email z.B. englischsprachige Passagen, so kann es passieren, dass das System im Hintergrund auf einmal auf Englisch umstellt.Wenn Sie dann „lg“ eingeben, bleibt auch in der Email „lg“ stehen.Viele Grüße

Danke für den Hinweis, Herr H., das ist richtig: wenn Sie oder Outlook die Sprache umstellen (Übrigens: in Excel, Word & co ist dies anders!), stellt das Programm eine andere Liste der AutoKorrektureinträge zur Verfügung. Und damit „verschwinden“ auch selbst erstellte Einträge, die an die Sprache gebunden sind. schöne Grüße und trotzdem viel Spaß mit Outlook wünscht :::  Rene Martin

Meine Frau und ich haben entschieden, dass wir keine Kinder wollen. Heute beim Abendessen sagen wir es ihnen.

Ein Kurs gehalten. Die Teilnehmer hatten englische Oberfläche; spanische Tastatur. Ich habe bei mir diese beiden Sprachpakete installiert; in EXCEL umgeschaltet – und nun sieht mein Outlook wie folgt aus:

Okay; ich kann damit leben; aber komisch ist es schon …

Ich kann vom Sofa aus vielleicht nicht die Welt retten, aber ich richte zumindest auch keinen großen Schaden an.

Sehr irritiert!

Ich erhalte eine große Anzahl an maschinell erstellten Dateien. Speichere sie in einem Ordner und öffne eine der Dateien aus dem Explorer per Doppelklick:

Eine Fehlermeldung ist die Folge:

Die Datei wird geöffnet, aber jede Zeile wird in der ersten Zelle dargestellt. Getrennt durch Komma – klar CSV.

Ich schaue mir die Datei im Editor an – das ist keine CSV-Datei!

Was ist passiert? Da hat jemand CSV-Dateien mit einem Programm (VBA?) geöffnet und anschließend als Excelmappe gespeichert. Allerdings mit der Endung CSV! Perfide!

Interessante Frage: wie kann ich herausfinden, in welchem Programm die Datei erstellt wurde und was eigentlich „in“ der Datei ist? – Ich weiß es nicht ….

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

Amüsant. Während Inquire auch ausgeblendete Blätter anzeigt (sowohl hidden als auch very hidden)

zeigt PowerQuery nut die sichtbaren Blätter an:

Nein! Nicht ganz. Wenn man die Daten nun transformiert und zurück zur Source wechselt, so sieht man auch dort alle Blätter – egal ob sichtbar oder ausgeblendet:

Danke an Dominique Dauphin für diesen wertvollen Hinweis!

Es ist mit egal, wer dein Vater ist. Solange ich hier angle, läuft mir keiner übers Wasser!

Hallo Herr Martin,

Bei meiner täglichen Arbeit ist mir ein sehr gravierender Excel Fehler untergekommen der mich fast an Excel zweifeln lässt.

Ich bin sehr guter Excel Anwender wie VBA Programmierer.

Anbei ein Vorher/Nachher Bild und eine Excel Datei, die den Fehler beschreibt und zeigt.

Könnten Sie diesen Fehler vielleicht an Microsoft melden und in einem Ihrer Videos auf „LinkedIn“ kund tun?

Hallo Herr F.,

Vielen Dank für Ihren Hinweis. Kennen Sie meine Seite excel-nervt.de ? Dort sammle ich Bugs, Ungereimtheiten, merkwürdige Dinge, …

Ich habe das Phänomen mit/ohne Blattnamen bereits 2016 veröffentlicht:

Weitere interessante Dinge rund um Blattnamen finden Sie beispielsweise  auf

Aber kann diesen Bug gerne noch einmal veröffentlichen.

Andererseits – ich bin leider kein MVP und habe auch keinen direkten Kontakt zu Microsoft. Es gibt eine Seite, über die man Fehler melden kann – allerdings bin ich bei der Anmeldung gescheitert …

Hallo Herr Martin,

ich danke Ihnen für Ihre schnelle Antwort.

Nun fürchte ich, am nächsten Wochenende ihre komplette Web-Seite lesen zu müssen.

Mit einem freundlichen Händedruck

*lach*
Sie müssen nicht alles lesen!

Alkoholtest gemacht. Ich vertrage alle gängigen Sorten.

Nächste Woche darf ich Excel in Spanien unterrichten. Ich habe mir die Oberfläche angesehen. Die Übersetzung „bold“ (fett) in „negrita“ finde ich amüsant – nicht gordo oder grasiente, grueso oder espeso.

Und ja – ich weiß: ein Fachbegriff aus der Drucktechnik. María Moliner schreibt: „Se aplica a las letras de imprenta de trazo mucho más grueso que el de las usadas corrientemente en el texto y que destacan notablemente entre éstas.“

Deutsche Schüler bleiben bei whatsapp. Durch ihre Rechtschreibung sind die Nachrichten ausreichend verschlüsselt.

Ärgerlich.

Speichert man in Excel eine Datei im Datenformat CSV, so wird das Semikolan als Trennzeichen verwendet:

Exportiert man die Datei per VBA,

ActiveWorkbook.SaveAs Filename:= Rennfahrer.csv“, FileFormat:=xlCSV

so verwendet Excel das Komma:

Also: Datei öffnen, „ersetzte Komma durch Semikolon“, speichern und schließen. Wenn das mal nicht schiefgeht!

Ich korrigiere mich – genauer: ich werde (zu recht) korrigiert:

Der Schalter Local:=True berücksichtigt das lokal eingestellte Trennzeichen und nutzt somit das Semikolon als Trennzeichen beim Export über VBA.

Ein Treuer Besucher Ihrer Webseite.

Mit freundlichen Grüßen

Sven Schimanski

Dennoch: mein Nörgeln bleibt: Warum zeichnet der Makrorekorder diesen Parameter nicht auf?

Warum „versteht“ Excel die länderspezifische Einstellung (bei uns in der Regel „;“) und nicht das globale „,“?

Man muss so aufpassen …

Danke an Herrn Schimanski für den nützlichen Kommentar.

Mein Name ist Britt. Wie der Kleber. Nur mit „B“? – Wie? Buhu?

Eine Liste mit Überschriften. Die Spalte H hat eine sehr lange Überschft.

Ich erstelle eine 3D-Karte (Einfügen / Touren). Excel kummuliert die Dauer der Sonnenstunden pro Tag.

Ich möchte diese Aggregatfunktion ausschalten und die Einzelwerte darstellen lassen. Allerdings: bei langen Überschriften ist es sehr mühsam mit der Maus das Dropdownfeld zu treffen … Irgendwann schaffe ich es.

Der Ernst des Lebens beginnt in dem Moment, wo du keine Gratikwurstscheibe mehr bekommst.

Ist das im Sinne des Erfinders?

Ich habe eine Tabelle. Ich lege einen Druckbereich fest. Ich möchte, dass Menschen zwar die Tabel drucken dürfen, aber die Daten nicht stehlen, also nicht einfach rauskopieren.

Also wird ein Schutz auf das Tabellenblatt gelegt.

Wir wissen, dass PowerQuery von Dateien Tabellenblattnamen, Namen und intelligente Tabellen anzeigt. Da der Druckbereich als Name bespeichert wird, wird er angezeigt.

Kann geladen werden und nach Excel zurückgeschrieben werden.

Und schon hat man Zugriff auf die Faten. Ohne die Datei zu entzippen, das Protect-Element zu löschen, …

Wenn man dir viel heiße Luft um die Ohren bläst, sitzt du nicht zwangsläufig beim Friseur. Vielleicht bist du auch in einem Vortrag oder Seminar.

Eine Artikelliste.

[Strg] + [H]. Ich ersetze „Dawn“ durch „Fairy“. Ich schließe den Dialog.

Nun möchte ich Twix durch Raider ersetzen.

Erneut: [Strg] + [H]. Warum ist der Fokus auf dem Ersetzen-Feld und nicht auf dem Suchen-Feld. Ich muss nach oben klicken oder „springen“, um „Twix“ durch „Raider“ zu ersetzen. Jedesmal. Doof!

Manche Faultiere fahren den Kreislauf so weit runter, dass sie aus Versehen sterben. – Als ich das gelesen habe, habe ich mich erstmal aufrecht hingesetzt.

Doof! In einer intelligenten Tabelle habe ich drei Spalten: ID, Vorname und Nachname. XVERWEIS kann einen Vornamen finden:

=XVERWEIS(G2;tbl_Kunden[Nr];tbl_Kunden[Vorname])

XVERWEIS kann ALLE Vornamen (als Matrixfunktion) zurückgeben:

=XVERWEIS(G2:G9;tbl_Kunden[Nr];tbl_Kunden[Vorname])

XVERWEIS kann Vor- und Nachnamen (hätten wir noch mehr Informationen – so auch diese) zurückgeben:

=XVERWEIS(G2;tbl_Kunden[Nr];tbl_Kunden[Vorname]:tbl_Kunden[Nachname])

Aber leider: beides geht nicht: mehrere Spalten zurückgeben von mehreren IDs:

Schade!

Beifahrer, die sagten „mach doch mal die üble Musik leiser“, fragten auch: „Wann darf ich wieder aus dem Kofferraum raus?“

Die ersten dunklen Wolken am Horizont der neuen Funktion XVERWEIS.

Wenn die Funktion nicht nur einen Wert aus einer Spalte, sondern aus mehreren Spalten zurückgibt, kann man die Funktion leider nicht mit einem Doppelklick herunterziehen.

Also:

=XVERWEIS(O2;tbl_Kunden3[Nr];tbl_Kunden3[Vorname]:tbl_Kunden3[Ort];“nicht gefunden“)

Wenn jemand auf meine schwarzen Klamotten zeigt und mich fragt, wessen Beerdigung heute sei, ist ein Blick durch den Raum und ein „Ich habe mich noch nicht entschieden“ immer eine gute Antwort.

Anders als PowerBI kann man mit PowerQuery in Excel leider noch nicht auf PDFs zugreifen. Microsoft hat versprochen, dieses Feature im Frühjahr 2020 einzubauen. Ich bin gespannt.

Bis dahin: Text aus einem PDF kopieren und in Excel einfügen. Ich schaue erstaunt: Wo ist der Text?

Ich editiere die Zelle ([F2]). Der Text erscheint. Allerdings ohne Leerzeichen davor:

Ein Blick in den Dialog Zellen formatieren / Ausrichtung liefert die Antwort: durch das Kopieren wurde ein Einzug mitkopiert:

Also: Einzug raus und schon ist der Text in der Zelle!

Wer im Schlachthaus sitzt, sollte nicht mit Schweinen werfen!

Was Menschen so alles machen!

Gestern in der Outlook-Schulung zeige ich, dass man mit der Tastenkombination [Umschalt] + [Entf] sich den Umweg über den Papierkorb / gelöschte Elemente / Trash sparen kann. Ein Teilnehmer meldet sich und sagt, er habe eine merkwürdig andere Meldung:

Klar – er hat die Tastenkombination [Strg9 + [Entf] gedrückt …

Fische sind – statistisch gesehen – die an seltensten überfahrenen Tiere.

Hallo Herr Dauphin,

das ist sehr spannend, was da passiert. Ich habe die Ursache gefunden:

Die Überschrift Ihrer Tabelle ist länger als 255 Zeichen.

Sie speichern die Arbeismappe. Sie greifen mit PowerQuery auf diese Datei zu. PQ greift mit der Zeile

= Table.TransformColumnTypes(#“Höher gestufte Header“,{{„ID“, Int64.Type}, {„Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.“, type number}})

darauf zu. Wir schreiben die Tabelle als intelligente Tabelle zurück nach Excel. Tabellen dürfen maximal 255 Zeichen in der Überschrift haben. Excel schneidet die restlichen Zeichen ab.

Soweit klappt de Workflow. Wenn ich allerdings diese Datei schließe und öffne, erhalte ich die Fehlermeldung.

Die Ursache: die Überschrift endet jetzt nicht mehr auf „dolor sit amet“.

Eine weitere Fehlermeldung ist die Folge:

Sehr spannend.
Lösung: Mit einer intelligenten Tabelle arbeiten! Dann ist die maximale Anzahl der Buchstaben der Überschrift begrenzt.

Danke für den Hinweis.
Schöne Grüße
Rene Martin

Ich umarme Menschen, die ich nicht mag. Dann weiß ich genau, wie groß das Loch in meinem Garten sein muss.

Outlook-Schulung. Wir diskutieren über Einträge im Kalender. Die Firmenrichtlinie verlangt: „Bitte verwenden Sie nur „gebucht“ oder „frei“.

Eine Teilnehmerin beschwert sich: „Wenn ein Termin bei mir nicht frei ist, bin ich unbedingt gebucht. Es kann auch andere Grünge haben, wenn ich außer Haus bin. Urlaub, Kur, Dienstreise, Messe, Seminar, …“ Ich gebe ihr recht: einige Begriffe in Outlook sind nicht grlücklich gewählt: „Privat“ heißt nicht unbegingt „privater Termin“, sondern; „ich möchte nciht, dass meine Kollegen sehen, was für einen Termin ich habe (beispielsweise Vorstellugnsgespräch). Den Abwesenheitsassistenten „außer Haus“ zu nennen, wurde ebenso kritisiert wie auch der Begriff „Suchordner“. Besser wäre: „gespeicherte Suche“ oder „Link auf Suchkriterien“.

Ist hier die Selbsthilfegruppe für Naive? – Ja: Wir lernen gerade giftige Pflanzen am Geschmack erkennen zu können.

Ich greife auf eine intelligente (formatierte/dynamische/strukturierte) Tabelle zu. Ich möchte in mehreren Zellen die gleiche Formel stehen haben, die ich danach leicht modifizieren kann. Also kann ich mehrere Zellen markieren und die Formel mit [Strg] beenden. Dann steht in allen Zellen die gleiche Formel, beispielsweise:

=SUMME(Tabelle1[Betrag]/Tabelle1[Prämienpunkte])

Wenn ich allerdings Formeln der Gestalt:

=[@[Quartal 1]]/@HP[[Gesamt]:[Gesamt]]

habe – also: die Spalte „Quartal 1“ wird verschoben, die Spalte „Gesamt“ bleibt fest – dann wüsste ich keine Möglichkeit, dies durch geschickte Tastatureingaben zu erzeugen. Die doppelte Klammer muss getippt werden. Oder? Wer kennt eine Lösung?

Weder innerhalb der Tabelle noch außerhalb.

Es gibt 13 Mineralien, die für den Menschen notwendig sind. Die finden wir alle im Wein. Ein Zufall?

Hallo René, ich habe hier ein sehr seltsames Problem unter Windows 10 mit Excel 365 (und nur da).

bei einem User tritt nach einer Weile eine Art „Vollbildmodus“ auf (da fehlen sowas wie die „Menü Punkte„)
Es tritt OHNE sein zutun auf (also kein aktives Einstellen von „Auto-hide Ribbon)

  • (ich habe diese einzelnen Screenshots übereinander gelegt  damit man es besser sehen kann)

So sollte es eigentlich aussehen:

Hast Du sowas schon mal gesehen?

Im Web finde ich nichts (auch nicht auf Deinem Blog)

Viele Grüße Stefan

Hallo Stefan,
Es gibt API-Funktionen, mit denen bekommt man diese Symbole weg. Oder inaktiv.
Heißt: entweder sind Add-Ins installiert oder ein anderes Programm outzt die Symbole aus Exvel raus.
Wie sieht es in Word aus?
LG :: Rene

Hallo René,

vielen Dank für Deine Info.

Wir haben es jetzt herausgefunden:

-> error appears on PC and notebook!

->  user has development pc and notebook)

-> but Excel has no unusual Add-ins

-> even in safe-mode (Excel.exe /safe) the error appears

-> we found a possible cause:

=> VirtuaWin: a desktop switcher tool  (see attachment IM05739548_VirtualWin.png)

=> error is reproducible when switching desktops with VirtuaWin

=> error only appears in Excel (not in Word or PowerPoint)

=> I assume: because Excel has a different „window-handling“

==> we need to investigate if this is the real cause

Und: dieser Bug ist wirklich bekannt:

https://sourceforge.net/p/virtuawin/discussion/257054/thread/8075fec747/

Bei meiner Beerdigung sollen Helene Fischer und Andreas Gabalier singen. Ich kann es eh nicht hören – und die anderen sollen leiden!

Hallo Herr Dr. Martin,

ich habe mich nach längerer Pause mal wieder ans Ribbon Design gewagt.

Leider sagt mir Excel jedes Mal nach dem Zippen und wieder in .xlsm umbenennen, die Datei sei beschädigt. Das passiert auch wenn ich keine Änderungen am entzippten Ordner vornehme (sowohl am Arbeitsrechner als auch am privaten Rechner)

Haben Sie vielleicht nochmal einen Tipp? Ich scheine irgendwas falsch zu machen…

Liebe Grüße und vielen Dank

NF.

Hallo Herr Fritz,

mit Sicherheit haben Sie einen Fehler in der XML-Ribbon-Datei. Verwenden Sie einen guten XML-Editor? Er muss validierend sein.

Ich verwenden Visual Studio – gibt es auch als kostenlose Version. Dort ist die Schema-Datei für das MSO integriert.

Schöne Grüße Rene Martin

 

Ich hasse es, wenn der Chef acht Stunden vor Feierabend noch mit Arbeit zu mir kommt.

Outlook-Schulung. Vieles fehlt in diesem – eigentlich – sehr guten Mailprogramm. Beispielsweise ist es nicht möglich die Arbeitsstunden für jeden Tag unterschiedlich anzulegen. Also beispielsweise Mo: 08.00 – 14:00 Uhr :: Di: 08:00 – 18:00 Uhr :: Mi: 14:00 – 20:00 Uhr …

Schade!

Wir haben es so gelöst, dass jeder seinen frühesten Arbeitsbeginn einträgt und sein spätestes Ende. Und die Zeiten, die er nicht arbeitet durch einen Serientermin „abwesend“ kennzeichnet. So kann jeder sehen, wer wann im Büro ist.

In der Potsdamer Konferenz von 1945 beschlossen die Siegermächte des Zweiten Weltkriegs die Aufteilung von Deutschland in die Besatzungszonen der USA, UdSSR, Großbritannien, Aldi Nord und Aldi Süd.

Amüsant. Ist Ihnen das schon aufgefallen? Wenn ich in einer intelligenten (dynamischen/formatierten/strukturierten) Tabelle eine Überschrift lösche, wird sie – je nach Spracheinstellung – durch eine andere (beispielsweise „Spalte1“) ersetzt:

Wenn Sie allerdings eine Überschrift eingeben, die länger ist als 255 Zeichen, wird dieser Text gelöscht. DFie maximale Anzahl der Zeichen einer Überschrift beträgt 255 Zeichen.

Das hat Auswirkungen auf PowerQuery, der Daten als intelligente Tabelle zurückgibt. Ist eine Überschrift länger, wird der restliche Text abgeschnitten. Werden gleiche Überschriften importiert, werden sie durchnummeriert.

Liebe ist, wenn man aussieht wie ein Sack Kartoffeln, aber angeschaut wird wird wie eine heiße Fritte.

Excelschulung. Wir diskutieren über den Unterschied zwischen Zellen formatieren (Nachkommastellen „wegformatieren“) und der Funktion RUNDEN. Ein Teilnehmer beschwert sich, dass dann die Summe der gerundeten Werte möglicherweise nicht mehr mit der urprünglichen Summe übereinstimmt. Ich zeige ihm ein Diagramm:

Egal wie man rundet – es ist falsch!

Ich komme aus einer Zeit, in der freie Knöchel ein Zeichen von falscher Hosengröße war. Man empfand es als peinlich!

Manchmal ist es irritierend. Aufgabe in der Excelschulung: Erhöhen Sie den Jahresbeitrag der Blue-Mitgleider um 5 Euro, der anderen Mitglieder um 10 Euro. Ein Teilnehmer arbeitet mit einer Hilfsspalte:

=WENN(J2=“Blue“;5;10)

Ich sage, dass dieses Vorgehen völlig okay sei, dass er aber auch direkt in der WENN-Funktion rechnen könne. Ich korrigiere und klicke auf die Zelle J2:

=WENN(J2=“Blue“;H25;10)

Der Teilnehmer schaut mich irritiert an. Ich füge ein Pluszeichen ein – und schon wird klar, wie gerechnet wurde:

Der zweite Teil muss natürlich noch eingefügt werden:

=WENN(J2=“Blue“;H2+5;H2+10)

Habe mich neulich an Liegestützen versucht. Liegen kann ich. Stützen nicht.

Excelschulung. Wir üben Tabellen: sortieren, filtern und Pivottabellen. Wir erstellen die erste Pivottabelle. Wir gruppieren die Verkäufer. Ein Teilnehmer meldet sich und sagt, dass bei ihm keine Verkäufer angezeigt werden. Ich schaue mir seine Pivottabelle an:

Ich habe zwei Mal hinschauen müssen, dann habe ich entdeckt, dass in der Tabelle noch ein Filter eingeschaltet war. Dadurch sind die ersten Zeilen ausgeblendet und dadurch werden auch nicht Daten angezeigt. Perfide!

Gartenarbeit entspannt. Kommt natürlich auch darauf an, wen man gerade vergräbt.

Die Zwischenablage ist zurzeit nicht verfügbar. Bitte versuchen Sie es später erneut.

Kennt jemand diese Informationsmeldung?

Eine Zelle wird mit gedrückter [Strg]-Taste kopiert. Klappt. Beim zweiten Mal diese Meldung!?!

Belohnung für sachdienstliche Hinweise: Namentliche Erwähnung auf meinem Blog.

Alexa, wie groß ist mein Penis? – Ihre Rute wird berechnet.

Mourad Louha hat auf seiner Seite https://de.excel-translator.de/ ein mächtiges Werkezug geschaffen, das Begriffe, die in Excel verwendet werden, in anderen Sprachen auflistet. Er hat auch auf dem Excelstammtisch Hessen im Januar 2020 gezeigt, welche abstrusen Übersetzungen aus dem Hause Microsoft kommen.

So etwas wünsche ich mir für Word. Eigentlich auch für PowerPoint, Outlook und alle anderen Programme.

Ich unterrichte zur Zeit mit englischsprachiger Oberfläche. In der Mittagspause öffne ich ein Dokument und bin über die Kopfzeile erstaunt:

Mit [Alt] + [F9] kann man die Feldfunktionen einsehen. Richtig: die Formatvorlage Überschriftxx wird übersetzt zu Headingxx. Jedoch nicht in der Feldfunktion. Ärgerlich!

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

Amüsant. Ich habe eine Liste von deutschen Städten – sortiert nach Größe. Ich wandle sie in Excel über Daten / Geografie in Geodaten um:

Anschießend lasse ich mir den Leader(s) anzeigen. (Geht auch mit =B3.Leader(s). )Klappt prima – nur Berlin hat keinen. Oder wird für den (Ober)bürgermeister nicht erkannt. Ebenso wie Leipzig. Aber auch Münster, Karlsruhe, Magdeburg, Saarbrücken und Heidelberg …

Randbemerkung: Geografie oder Geographie? – Microsoft konnte sich wohl nicht so recht entscheiden …

Männer kennen nur zwei Empfindungen: hungrig und geil. Wenn du also einen Mann ohne Erektion siehst, dann mach ihm was zu Essen.

Irritierend, verwirrend und nicht konsequent!

In Excelschulungen erzähle ich immer, wenn ich den Assistenten „Daten / Text in Spalten“ vorstelle, dass es in Excel keine Tabulatoren gibt – man kann die Grundeinstellung (die beim Import von Textdateien verwendet wird) ruhig stehenlassen:

Ich werde eines Besseren belehrt: Wenn Sie ein Worddokument oder einen Mailtext aus Outlook nach Excel kopieren, werden die Tabstopps durch Spalten getrennt:

Ein Worddokument mit Tabulatoren
… in Excel

Wenn Sie dagegen Texte IN Zellen kopieren (das heißt: die Zelle mit [F2] editieren) und dann den kopierten Text einfügen, stehen Tabstopps in Zellen. Merkwürdigerweise sieht man sie nicht, wenn der Cursor AUF der Zelle steht – lediglich IN der Zelle werden sie angezeigt:

Der Assistent „Daten / Text in Spalten“ interpretiert die Tabstopps als Leerzeichen!?!

Daten / Text in Spalten mit Tabstopps
Daten / Text in Spalten mit Leerzeichen

Die Funktion CODE liefert den Wert 32 – den gleichen wie Leerzeichen!?!

Wenn man in den Ersetzen-Dialog einen Tabstopp hineinkopiert und durch ein Leerzeichen ersetzen lässt, funktioniert dies hervorragend.

Fazit: Finger weg von Tabstopps in Exceltabellen! Excel behandelt diese Zeichen nicht konsequent als eigene Zeichen – eine Unterscheidung durch Leerzeichen ist nicht an allen Stellen durchgeführt. Und wenn ein Anwender Texte in die Zellen eingefügt hat – dann bleibt nur noch der Ersetzen-Assistent oder die WECHSELN-Funktion.

Mac und Windows

Hallo Rene,

ich habe auf einem Recht neuen Mac ein aufwändiges xls Dokument erstellt und habe auch häufig die Dropdown Funktion verwendet. Bei mir funktioniert diese Funktion in jedem Tabellenblatt. Jetzt muss mein Chef mit einem Microsoft Computer diese xls auch regelmäßig benutzen. Alle Funktionen sind in seinem xls zu sehen, aber alle Dropdown Funktionen sind bei ihm alle nicht sichtbar. Woran kann es liegen? Mac und Microsoft sind ja an sich kompatibel. Liegt es an seiner alten Version (2007)?

Vielen lieben Dank,

Anne

Kennst jemand von euch die Antwort? Ich bin leider überfragt …

Binden und Tampons bleiben wohl trotz Steuersenkung gleich teuer. Die Konten der Hersteller sind jetzt noch saugfähiger.

Hallo,

ich habe ein Tool gebaut wo ich im Namensmanager auf die Funktion Bereich.Verschieben nutze, um das Diagramm dynamisch zu gestallten.

Nun möchte Ich die Mappe vor neugierigen Blicken schützen. Über Blatt- und Arbeitsmappeschützen klappt das auch ausreichend, allerdings ist der Namensmanager komplett einsehbar.

Haben Sie eine Idee, wir ich den Namensmanager verbergen kann?

Ich freue mich von Ihnen zu hören.

Viele Grüße,

Hallo Herr W.,

das Ausblenden funktioniert. Leider nicht das Symbol, aber die Gruppe „Definierte Namen“. Haben Sie die Excel-Datei schon einmal entzippt und nachgeschaut?

In der Datei „.rels“ im Ordner _rels muss ein Verweis auf die Datei stehen:

<Relationship Id=“rID4″ Type=“http://schemas.microsoft.com/office/2006/relationships/ui/extensibility“ Target=“ribbon/ribbon.xml“/>

In der Datei ribbon.xml wird die Gruppe ausgeblendet:

<ribbon startFromScratch=“false“>

    <tabs>

      <tab idMso=“TabFormulas“>

        <group idMso=“GroupNamedCells“ visible=“false“>

        </group>

      </tab>

    </tabs>

  </ribbon>

Kommen Sie damit klar?

Schöne Grüße

Rene Martin

PS: Der Anwender kann den Namensmanager immer noch über [Strg] + [F3] öffnen. Das könnte man mit VBA wegprogrammieren. Dann könnte er immer noch ein Symbol in die Symbolleiste für den Schnellzugriff legen …

Bei Hagenbeck gewesen. Drei Stunden im Streichelzoo gestanden – nix passiert! Selbst die dicke Ziege wurde mehr befummelt als ich!

Man muss einfach immer genau hinschauen. Immer!

Ich habe eine Excelliste, in der trage ich Informationen zu meinen Schulungen ein. Ich habe eine Spalte „Stunden außerhalb“, in der ich bislang Texte eingetragen habe wie „2 x 24“ oder „3 x 10“. Nun hätte ich gerne die Summe der Tage ermittelt, also die Zahlen, die vor dem „x“ stehen summiert. Nichts leichter als das:

=LINKS(I351;SUCHEN(„x“;I351)-2)

liefert die Zahlen. Allerdings: steht kein Text in der Zelle, so liefert SUCHEN(„x“;I351) einen Fehler. Der kann bequem mit WENNFEHLER abgefangen werden:

=WENNFEHLER(LINKS(I351;SUCHEN(„x“;I351)-2);““)

Das Ergebnis:

Darauf setzte ich eine Pivottabelle auf und ändere den Vorschlag „ANZAHL“ in „SUMME“:

Eine Fehlermeldung ist die Folge. Vielleicht hängt es mit dem „“ der Funktion WENNFEHLER zusammen? Ich ändere die Formel in:

=WENNFEHLER(LINKS(I351;SUCHEN(„x“;I351)-2);0)

Die leeren Zellen werden mit einer „0“ aufgefüllt. Sieht nicht schön aus. Also ändere ich das Zahlenformat in ein benutzerdefiniertes:

0;-0;;

Und wundere mich erneut. Alles ist weg!

Langsam dämmert es mir: klar – die Funktion LINKS liefert einen Text. Das heißt: der Text „2“ wird durch das benutzerdefinierte Zahlenformat weggeblendet. Und: Excel erkennt keine Zahlen für die Pivottabelle, die summiert werden könnten. Also noch einmal die Formel anpassen. Der Text muss in eine Zahl konvertiert werden: mit WERT, mit „–“ oder mit „*1“

=WENNFEHLER(WERT(LINKS(I351;SUCHEN(„x“;I351)-2));0)

Und dann kann die Pivottabelle auch summieren:

Aktualisieren nicht vergessen!

So oft wie ich mit meinem Chef streite, muss ich echt aufpassen, dass ich nicht mal aus Versehen „Schatz“ zu ihm sage.

Gestern in der Outlook-Schulung hat ein Teilnehmer gefragt, warum Outlook (Kontakte) nicht mehr als Excelmappe speichern kann. Die Antwort – ich weiß nicht, warum diese Export-Option entfernt wurde. Zwar kann man in eine CSV-Datei speichern:

Das Öffnen durch Excel funktioniert nicht richtig

weil die Daten durch Kommata getrennt wurden. Benennt man die Datei mit der Endung TXT und öffnet sie nun Excel, wo mal das Komma als Trennzeichen wählt, dann klappt es:

Jedoch: schon einige wenige Tests zeige, dass DIES nicht der Weisheit letzter Schluss ist … Wenn ich Kontakte von einem Rechner zu einem anderen exportieren möchte, so verschicke ich sie per Mail.

Die Nasentropfen brennen – helfen aner wie Sau! – Das ist Türschlossenteiser!

Ein Dankeschön an Mourad Louha für seinen Vortrag beim Excelstammtisch Hessen zum Thema Internationalisierung bei Excel und worauf geachtet werden muss, wenn Dateien von einer Sprachregion in eine andere geschickt werden.

Amüsiert habe ich mich über seine Forlie „Kuriositäten“, in welcher er amüsante Dinge bei der Übersetzung einiger Funktionen zeigte: die längste Excelformel (AVRUND.GJELDENDE.MULTIPLUM.OPP.MATEMATISK im Norwegischen), SE.NON.DISP., die einen Punkt am Ende hat, CURRENCY – die Übersetzung von DOLLAR im Griechischen …

Ein Dankeschön an Mourad Louha, der mir seine Präsentzation zur Verfügung gestellt hat.

Schokolade erweitert dein Speckdrum.

Heute in der Excelschulung. Ich zeige die Datenüberprüfung. Eine Artikelliste. In die Mengenspalte darf nur eine ganze Zahl eingetragen werden. Ein Teilnehmer fragt, ob man die Eingabe auch so begrenzen kann, dass die Gesamtmenge < 100 sein muss. Klar – kein Problem: Benutzerdefiniert – =SUMME(D:D)<100

Klappt.

Und dann möchte der Teilnehmer, dass die Eingabe nur ganze Zahlen akzeptiert. Leider kann man keine zwei Datenüberprüfungen miteinander verketten.

Man müsste die Formel erweitern, beispielsweise so:

=UND(RUNDEN(D1;0)=D1;SUMME(D:D)<100)

Ich hatte schon so lange keinen Sex – ich weiß gar nciht mehr wie das geht. – Ist wie Fahrradfahren. – Brauch ich nen Helm?

Danke an die Einladung zum Excelstammtisch in Hessen. Auch in Frankfurt – wie bei uns in München – eine geballte Ladung an Wissen, Freude über Excel, Staunen und Spaß.
Klasse war es.
Danke auch an Andreas Thehos, der sich mit dem gleichen Problem rumgeschlagen hat wie ich gestern. Nur: die Aufgabenstellung war eine andere.
Gegeben sei eine Namensliste. Sie ist Basis für eine Pivottabelle. Es erstaunt, dass ein Name zwei Mal auftaucht. Und nein: es sind keine Leerzeichen hinter dem Namen.

Die Ursache: auch hier hat sich ein geschütztes Leerzeichen (ein non-breaking space) mit dem CODE 160 zwischen den Vornamen und Nachnamen geschummelt.
Wie passiert so etwas? Entweder wurden die Daten aus einer Internetseite entnommen – oder von einem Word-Dokument. DORT kann man mit der Tastenkombination [Umschalt] + [Strg] + [Leertaste].

Hungrig ins Bett gegangen. Satt aufgewacht. Panisch alle Kissen und Haustiere nachgezählt.

Erstaunlich. Ich kopiere eine Liste von einer Internetseite. Und möchte die Informationen einer Spalte trennen. Ich verwende den Assistenten Daten / Text in Spalten und bin verblüfft, dass die Texte nicht (am Leerzeichen) getrennt werden:

Eine Analyse mit der Funktion
=CODE(TEIL(A2;LÄNGE(„Argentinien“)+1;1))
liefert das Ergebnis, dass es sich nicht um ein Leerzeichen (32), sondern um ein geschütztes Leerzeichen (160) handelt. Es entspricht dem   (non-breaking space). Zum Glück kann man es aus dem Text kopieren und daran trennen:

Jetzt schnell die Beine rasieren, bevor man mich zu den alten Nordmann-Tannen am Straßenrand stellt.

Ich kopiere eine Liste aus dem Internet nach Excel. Erstaunt stelle ich fest, dass ich in der Zelle einen Bindestrich sehe – in der Bearbeitungsleiste jedoch nicht:

Die Funktion
=CODE(TEIL(B1;6;1))
liefert Aufschluss: es handelt sich um den ASCII-Code 173 – das entspricht dem HTML-Zeichen ­ oder: ein weiches Trennzeichen, das in Excel allerdings seine Funktion verliert.

Ich bringe die Mülltonne an die Straße. Ich will, dass sie mal unter andere Tonnen kommt und Sozialverhalten lernt.

Gewundert habe ich mich schon: ich erstelle eine Formel mit einem Bezug auf eine (intelligente/formatierte/dynamische) Tabelle:

=XVERWEIS($F$2;tbl_Staaten[Staat];tbl_Staaten[Jahr der Unabhängigkeit];;;1)

Mein Erstaunen ist groß als ich die Formel nach rechts ziehe:

=XVERWEIS($F$2;tbl_Staaten[Jahr der Unabhängigkeit];tbl_Staaten[Staat];;;1)

Der absolute Bezug $F$2 bleibt. Die konstante Zahl 1 bleibt. Aber die beiden Spalten werden vertauscht. Klar – ein Bezug auf eine Spalte einer Tabelle ist immer relativ. Da die Formel beim nach Rechts-Ziehen nicht „weiterwandern“ kann, beginnen die Bezüge von vorne. Und wie macht man einen absoluten Bezug innerhalb einer Tabelle? Da war doch mal was?!

Richtig: Andreas Thehos hat es einmal gezeigt. Man muss die Formel folgendermaßen schreiben (mit doppelten eckigen Klammern).

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

=XVERWEIS($F$2;tbl_Staaten[[Staat]:[Staat]];tbl_Staaten[[Jahr der Unabhängigkeit]:[Jahr der Unabhängigkeit]];;;1)

Dann funktioniert es. Und jetzt kann ich schnell den letzten Parameter 1 durch -1 ersetzen:

Sex zu haben, hilft das Gedächtnis fit zu halten. Ein schönes Neues Jahr 2012!

Ich habe mich über Mourad Louhas Kommentar zu den maschinell übersetzten Hilfetexten von Microsoft.

Wer schauen möchte:

https://techcommunity.microsoft.com/t5/deutsch/excel-eindeutig-online-hilfe-nicht-%C3%BCbersetze-terme-und-fehler-in/idi-p/1091294?fbclid=IwAR1-eJ9AQqa6t36yZT3tZhVKbtuoIKiZg-oNm_MVbVQdIfrvrSsW1fCC-x8#M868

Er spricht mir aus der Seele.

Ich habe jetzt einen eigenen Sporttrainer! Dein Sofa? – Ja: mein Personal Couch.

Ich verstehe es nicht: In der Zelle G1 steht die Funktion ZUFALLSBEREICH(1;5) und liefert folglich eine ganze Zahl zwischen einschließlich 1 und 5. Die Funktion SEQUENZ in Zelle 1 baut so viele Zeilen (1 bis 5) und zwei Spalten auf.

Bei einigen Zahlenwerten der Funktion ZUFALLSBEREICH kommt es zu einer Fehlermeldung: ÜBERLAUF:

Auch das Editieren mit [F9] liefert nicht die Lösung:

Ich verstehe es nicht!

Echte Männer speichern nicht!

Oder doch?
Ein Dankeschön an Jürgen Diedmann, der mir folgenden Artikel zum Thema Speichern und Abstürze zugeschickt hat. Wichtig für alle! Damit (nicht nur) Excel nicht (mehr so sehr) nervt.

Speicher und Sicherheitsfunktionen nach Absturz o.ä.

Grundsätzliches:
In den Optionen sollten eingestellt sein:

Kategorie Speichern / Auto-Wiederherstellen-Informationen speichern alle 1 Minute
Dateispeicherort für AutoWiederherstellen:
So wie abgebildet, Ort niemals ändern, WICHTIG

Einstellungen mit OK bestätigen

Grundsätzliche Unterscheidung zwischen

  • Nicht gespeicherte Arbeitsmappe
  • Bereits gespeicherte Dateien

Nicht gespeicherte Arbeitsmappe

Datei wurde noch nicht unter einem Namen gespeichert bzw. abgelegt.
Datei wird von Excel automatisch im Speicherpfad, hier (Beispiel)
C:\Users\Juerg\Appdata\Local\Microsoft\Office\UnsavedFiles
abgelegt.

Wiederherstellung nach Systemabsturz, Stromausfall o.ä.


Nicht gespeicherte Arbeitsmappe


Dateiname wurde noch nicht vergeben und man ist auf normalen Wegen aus Excel ausgestiegen, wie zum Beispiel rot unterlegtes Kreuz rechts oben geklickt,

Ihre Änderung an dieser Datei speichern?……Nicht speichern
Egal wann diese Datei wiederhergestellt werden soll, sie wurde auf der Festplatte abgespeichert. Wichtig ist nur, dass die Datei mind. 1 Minute, (Einstellung Optionen) geöffnet war.


Wiederherstellung:

Excel öffnen…

Weitere Arbeitsmappen rechts unten anklicken, es erscheint…

Nicht gespeicherte Arbeitsmappen wiederherstellen anklicken.

Es erscheint…

Hier sind nun alle Dateien abgelegt, welche automatisch unter dem in den Optionen aufgeführten Speicherort abgespeichert wurden. Datei anklicken und alles wird gut.
Daher der Hinweis, den Pfad in den Optionen nie ändern.

Die gewünschte Datei wird so dann wiederhergestellt mit folgenden Hinweisen:

Wiederhergestellte Datei… sofort Speichern unter…

Gespeicherte Arbeitsmappe


Eine beliebige Arbeitsmappe wurde erstellt und abgespeichert, welche nach einer Minute „zusammenbricht“. Wir provozieren dieses einmal mit dem Task-Manager.
Str+Alt+Entf drücken, Task-Manager, Excel anklicken, Task beenden drücken und den Manager wieder verlassen. Excel ist und „unsanft“ beendet worden.

Nun wird Excel wieder gestartet…
Im Startbildschirm erscheint im unteren Bereich…

Nach dem Klick in die Fläche kommt dann der eigentliche Bildschirm mit den Wiederherstellungsoptionen


Ein Klick in die gewünschte Rubrik Arbeitsmappe und die Datei ist wieder auf dem Schirm. Es geht lediglich die Arbeit 1 Minute verloren

Wie die Silvesterfeier war? – Weiß nicht – ich habe noch keine Fotos gesehen.

Mit den drei Funktionen BEREICH.VERSCHIEBEN, INDIREKT und XVERWEIS kann man einen dynamischen bereich aufspannen. Diese drei Funktionen kann man als Namen speichern (ich habe sie mal Jahr1, Jahr2 und Jahr3 genannt).

Die Namen mit den Funktionen BEREICH.VERSCHIEBEN und XVERWEIS kann man wunderbar in einem Diagramm verwenden:

INDIREKT aber nicht!

An alle, denen ich zu Weihnachten ein Buch geschenkt habe – es muss heute wieder in der Bibliothek abgegeben werden.

Schade eigentlich. Ab und zu benötige ich die benutzerdefinierte Formatierung der Form

[Rot][<-2]0;[Blau][>5]0;Standard

Es gibt Stellen in Excel, in denen nicht mit der bedingten Formatierung gearbeitet werden kann – beispielsweise in Diagrammen. Allerdings: man kann leider nur maximal zwei Farben verwenden plus die Standardfarbe. Schade!

Gib nicht Weihnachten die Schuld, dass du dick geworden bist. Du warst schon im August fett.

Ich habe drei Mal hinschauen müssen. Bis ich verstanden habe:

https://support.office.com/de-de/article/berechnen-einer-laufenden-summe-in-excel-1359bf89-180b-4771-b5b4-c6f6558549c5

Die Zeilennummerierung wurde eine Zeile zu hoch angesetzt – Zeile 1 darf nicht die Zeile neben den Köpfen sein, sondern muss eine Zeile tiefer beginnen. Dann würde es stimmen!

Je mehr Männer ich kennenlerne, desto netter finde ich Hunde

Ist Ihnen das schon aufgefallen? Sie möchten eine laufende Nummer eintragen und berechnen die erste Zelle mit:

=SUMME(A2:$A$2)

Und ziehen die Formel nach unten:

Die Folge:

=SUMME(A$2:$A3)

Das ist zwar richtig, aber doch erstaunlich. Beginnt man in der zweiten Zelle mit

=SUMME($A$2:A3)

wird die Formel nach unten (und auch noch oben) in dieser Form weitergezählt.

Nüchtern ins Bett? Was kommt als nächstes? Pünktlich zur Arbeit oder was?

Liebe Microsoftis: die neue Funktion EINDEUTIG ist – ebenso wie die anderen fünf neuen ARRAY-Funktionen klasse! Wirklich, ehrlich: super-spitzen Klasse! Brauchbar ohne Ende! Aber, bitte, bitte: übersetzt die Parameter ins Deutsche. Wie bei den anderen fünf Funktionen!

Frohe Weihnachten

Man sollte einen Wettbewerb ausrufen. Wer hat Lust mitzumachen? Die schönsten Excel-Weihnachtsbäume. Ich fange man an:

Weihnachtsbaum I.
Mit der Funktion WIEDERHOLEN

Oder mit einem Punkte-Diagramm (XY-Diagramm):

Oder mit der Bedingten Formatierung. Damit kann man grüne Kästchen erzeugen (mit den Funktionen ZEILE() und SPALTE(), aber auch die Ampeln als Christbaumkugeln verwenden. Eine Funktion ZUFALLSZAHL() oder ZUFALLSBEREICH hilft:

Und schließlich mit einem Liniendiagramm dessen Flächen ausgefüllt sind:

Das Gegenteil von „umfahren“ ist „umfahren“.

Boah – muss ich mich wieder ärgern!
Ich schaue mir gerade die beiden neuen Funktionen XVERWEIS und XVERGLEICH an (wirklich klasse!) und werfe einen Blick auf die Hilfeseite von Microsoft:

https://support.office.com/de-de/article/xvergleich-funktion-d966da31-7a6b-4a13-a1c6-5a33ed6a0312?NS=EXCEL&Version=90&SysLcid=1031&UiLcid=1031&AppVer=ZXL900&HelpId=xlmain11.chm60676&ui=de-DE&rs=de-DE&ad=DE

Das Beispiel 1 ist völlig falsch! Es wird keine Platzhaltersuche (4) verwendet, sondern eine exakte Übereinstimmung oder das nächst größere Element. Deshalb liefert 1 das Ergebnis 2! Der Parameterwert 4 würde #NV liefern, weil Gra? nicht vorhanden ist. Nur Gra?? oder Gra*.
Boah!
Das Boah geht weiter: Beispiel 2: Der Satz „Beachten Sie, dass diese Methode erfordert, dass Ihre Daten in absteigender Reihenfolge sortiert sind.“ Nein – das erfordert sie nicht – es wird der Wert darüber ODER darunter zurückgegeben.
Beispiel 3 ist korrekt; bei Beispiel 4 hätte ich mir eine vollständige Übersetzung gewünscht:
=XVERGLEICH(4;{5;4;3;2;1})
Nun ja!

Ich bin gerührt wie Apfelmuß

Da habe ich eine Anfrage von Herrn Diedmann erhalten, ob er etwas auf meinem Blog veröffentlichen kann. Na klar kann er – nervige Sache mit einer hervorragenden Lösung. Es geht darum in einer Pivottabelle nur die Nullwerte mit den entsprechenden Daten herauszufiltern. Lesen Sie selbst:

Sehr geehrter Martin,

Hier die Geschichte, die den Stein ins Rollen brachte.

Durch ein Lernstudio habe ich vor Ort bei einer Getränkefirma Excel Unterricht vor Ort gegeben.

Es waren mit verschiedenen Office Versionen gearbeitet, von 2010 bis 2019

Bei Pivot war die Grundlage eine Tabelle von YouTube vom Andreas Thehos.

Es sind Automobilverkäufer, die verschiedene Modell anbieten. Einige der Verkäufer haben in einem Zeitraum aber nicht bestimmte Modelle verkauft.

Lösung für Herrn N.…..
Also.. Pivot Tabelle erstellen aus den Daten der BMW-Verkäufern

Pivot Tools… Entwurfsansicht… Berichtslayout… in Tabellenformat…

Es erscheint…

Weiter… so wie angezeigt. Modell anklicken, rechte Maustaste, Feldeinstellungen, Elemente ohne Daten auswählen und OK

Wie unten, ABEL Ergebnis anklicken, rechte Maustaste, Teilergebnisse keine und OK…

Die Nullwerte auszufiltern war und ist ja auch kein Problem. Nun kam die Frage, Kann ich alle Verkäufer mit Nullwerte untereinander ausfiltern?

Das Feld „Summe vom Endpreis“ zeigte keine Filtermöglichkeit.

Aber, die Office Version 2010 hatte diese Filtermöglichkeit.

Das war die Herausforderung. Eine Lösung ohne VBA, denn das können sie den Wenigsten vermitteln.

Die Lösung war letzthin und endlich, dass ich aus lauter Verzweiflung einfach den Spaltenname über die projizierte Überschrift geschrieben habe und schwupps…. Die Spalte ließ sich filtern.

Und….. Ratatataaaaaaa…..

Wenn jetzt noch Leere Daten als Null anzeige gesetzt wird…

Evtl. ist das das erste Thema, welches ich bei ihnen veröffentlichen kann.

Ansonsten zunächst frohe Fest und guten Rutsch ins neue Jahr.

Jürgen Diedmann

Nur noch vier Mal ausschlafen bis zu „wir schenken uns nichts in diesem Jahr“

Die Aufgabe ist einfach. Zu einem Text (einem Buchstaben) sollen Kreissymbole dargestellt werden. Das kann man prima mit der Bedingten Formatierung erledigen. Allerdings: sie akzeptiert keine Texte. Also muss man den Text in eine Zahl umwandeln – beispielsweise mit der Funktion CODE (oder UNICODE). Darauf kann man eine Bedingte Formatierung aufsetzen.

Doof ist besser wie pummelig. Det sieht am nich so.

Erstaunlich. In einer Excel-Schulung sind wir auf folgendes Phänomen gestoßen: Gegeben sei eine Liste mit Wochentagen oder Monaten.

Sortiert man sie, wird sie alphabetisch sortiert:

Man kann benutzerdefiniert sortieren, wenn man die Liste in die Reihenfolge Montag – Dienstag – Mittwoch – … bringen möchte:

Bei der Pivottabelle ist dies umgekehrt: Die Standardeinstellung heißt: Mo – Di – Mi beziehungsweise Jan – Feb – Mrz – …:

Auch hier kann man benutzerdefiniert sortieren (über die „weiteren Optionen“ im Kontextmenü:

Bei mir ist wieder FKK-Zeit: Früh dunkel, Kalte Hände, Kalte Füße

Auch dieses Problem hat mich eine Stunde Zeit gekostet.

Ich erstelle ein umfangreiches Programm für einen Kunden. Die Registerkarten sind ausgeblendet:

Ich starte das Programm mit dem Ausschalten der Bildschirmaktualisierung:

Application.ScreenUpdating = False

Ich blende die Registerkarten per VBA wieder ein:

ActiveWindow.DisplayWorkbookTabs = True

Was passiert? Nichts!

Man muss vor dem Anzeigen die Bildschirmaktualisierung wieder einschalten! ( Application.ScreenUpdating = True). Dann erst werden die Tabs wieder angezeigt:

Übrigens: Es ist erstaunlich, dass die Eigenschaft „DisplayWorkbookTabs“ eine Eigenschaft von ActiveWindow und nicht von ActiveWorkbook ist!

Wenn im Wein die Wahrheit liegt, liegt dann im Glühwein die Erleuchtung?

Boah – ist das mies! Zwei Stunden lang habe ich gesucht. Und dann gefunden.

Ich habe eine Datei mit zwei Tabellenblättern. Eines enthält eine Datenliste, ein zweites eine Datenüberprüfung mit einer Liste, die diese Daten aus dem anderen Blatt holt:

Per VBA ziehe ich nun diese beiden Blätter (einzeln!) in eine Masterdatei (man kann es auch per Hand machen. Die Verknüpfung verweist nun auf die alte Datei:

Der Code:

Dim xlFremdeDatei As Workbook
Dim xlEigeneDatei As Workbook
Dim xlFremdesBlattDaten As Worksheet
Dim xlFremdesBlattDatenüberprüfung As Worksheet


Set xlEigeneDatei = ThisWorkbook
Set xlFremdeDatei = Application.Workbooks.Open("D:\Eigene Dateien\Excel\Beispieltabellen\3Musketiere.xlsx")
xlFremdeDatei.Worksheets(2).Copy Before:=xlEigeneDatei.Worksheets(1)
Set xlFremdesBlattDatenüberprüfung = xlEigeneDatei.Worksheets(1)
xlFremdeDatei.Worksheets(1).Copy Before:=xlEigeneDatei.Worksheets(1)
Set xlFremdesBlattDaten = xlEigeneDatei.Worksheets(1)
xlFremdeDatei.Close SaveChanges:=False
xlEigeneDatei.Save

Beide Dateien werden geschlossen, die Masterdatei wird geöffnet. Unter Datei / Informationen wird angezeigt, dass sich in dieser Datei eine Verknüpfung (auf eine andere Datei) befindet, die man hier nicht löschen kann. Klar!

Nun setze ich in der Zelle mit der Datenüberprüfung per Hand oder per VBA die Verknüpfung auf die eigene Datei:

Excel zeigt noch immer (unter Datei / Informationen) an, dass sich in der Datei eine Verknüpfung befindet. Diesen Eintrag kann ich nicht löschen! Erst durch das Schließen und wieder Öffnen der Datei ist er verschwunden.

Das Erstaunliche: werden die Tabellenblätter gelöscht, wird die Verknüpfung nicht angezeigt. Werden die Verknüpfungen „nur“ behoben, bleibt der Eintrag noch in den Informationen stehen.

Zwei Stunden habe ich benötigt, um das herauszufinden. Mies!

Hömma. Wer zum Geier is eigentlich dieser Lars Krismes?

Heute in der PowerQuery-Schulung kam die Frage, ob man ab einer bestimmten Spalten alle anderen Spalten bis zum Ende der Tabelle löschen könne:

Schöne Frage. Geht aber nicht mit den Hausmittel. Ein paar Zeilen Code M wären nötig.

Ich habe vorgeschlagen von der ersten bis zu der Spalte mit der [Umschalttaste] zu markieren und anschließend „Andere Spalten entfernen“. Ist ein Klick mehr. Geht aber auch …

Willkommen in der Jahreszeit, in der kuscheln kein Vergnügen ist, sondern überlebensnotwendiger Selbstschutz vor dem Erfrierungstod.

Excelschulung heute. Ich zeige, wie man eine Zeile einfügen kann: [Strg] + [+] oder über das Kontextmenü der Zeilenköpfe. Ein Teilnehmer meldet sich und sagt, dass es bei ihm nicht funktioniert: es werden keine Zeilen eingefügt.

Ich schaue auf seinen Bildschirm und lache. Er hat schnell verstanden, warum ich lache.

Ich habe mir eine zweite Schneeschaufel gekauft. Ich paarschippe jetzt.

Habt ihr schon einmal Ribbon selbst mit einer XML-Datei erstellt. Ein validierender XML-Editor ist wichtig (wer Visual Studio hat, ist gut beraten).

Man fragt sich, welcher Praktikant den Befehl checkBox und nicht Checkbox (auch nicht CheckBox) genannt hat. Buttons habe das Attribut size mit den Werten „large“ und „normal“. Hum!

Nicht vergessen: heute werden die Waagen um fünf Kilo zurückgestellt – auf Weihnachtszeit!

manchmal freue ich mich auch über Excel. Kennt ihr das? Probleme, die nicht lösbar scheinen, finden doch eine Lösung.

Kennt ihr die neuen Array-Funktionen in Excel 365? Beispielsweise ZUFALLSMATRIX:

=ZUFALLSMATRIX(10;1;1;10;WAHR)

generiert zehn zufällige ganze Zahlen zwischen einschließlich 1 und 10. Okay.

=SUMME(ZUFALLSMATRIX(10;1;1;10;WAHR))

summiert zehn zufällige Zahlen und liefert ein Ergebnis zwischen 10 und 100. Okay.

Vor einer Weile wollte ein Kunde aus einer Liste von zirka 100.000 Werten 100 Werte zufällig herausgreifen und von diesen den Durchschnitt berechnen. Mit einer Hilfsspalte ist das kein Problem. Jedoch scheinen die Matrixformeln zu versagen, weil {…ZUFALLSBEREICH …} 100 Mal die gleiche Zufallszahl liefert und nicht 100 verschiedene. Die Lösung für dieses Problem liefert ZUFALLSMATRIX:

In A2:A100000 stehen Zahlen. Die Funktion

=MITTELWERT(BEREICH.VERSCHIEBEN($A$1;ZUFALLSMATRIX(100;1;1;100000;WAHR);0))

berechnet einen Durchschnitt für diese 100 zufällig gefundenen Werte. [F9] zum Neuberechnen liefert einen anderen Wert. Markiert man einen Teil der Formel, dann zeigt [F9], dass tatsächlich zufällige Werte ermittelt wurden. Die Zahl 100 kann ausgelagert und erhöht werden. Je mehr man sich 100000 nähert, umso mehr nähert sich der Zufalls-Mittelwert dem echten Mittelwert.

Und wer sich nun fragt: „wer braucht denn so etwas?“ – Das Teilchen heißt Monte-Carlo-Simulation und wird in Mathematik, Physik, Finanzwesen, … seit über 60 Jahren angewandt. Weite Infos – beispielsweise Wikipedia.

Und ich bin begeistert – Excel rechnet so wie ich will!

Schluss mit Binsenweisheiten und anderen unlustigen Sprüchen in der Headline!!

Verständlich, aber dennoch erstaunlich: Wenn eine Liste Datumsangaben in der ersten Zeile hat und wenn man diese Liste in eine (intelligente/dynamische) Tabelle verwandelt, so werden diese Datumsangaben zu Text. Klaro – Feldnamen/Überschriften müssen Text sein.

Beim Zurückkonvertieren in einen Bereich bleiben natürlich die Datumsangaben als Text stehen:

Schwerste Prüfung zum Jahresende: sich wieder vier Wochen einreden, dass Glühwein lecker ist.

In der Schulung fragte eine Teilnehmerin, wie man eine Zeile optimal groß, also hoch machen kann. „Doppelklick“ lautete die lakonische Antwort. „Geht aber nicht, erwiderte sie. Ich schaute es mir an:

Ging tatsächlich nicht! Dann habe ich es entdeckt: In einer ausgeblendeten Spalte befand sich weiterer, längerer Text …

Es ist schön, morgens aufzuwachen und als erstes den Menschen zu sehen, den man am meisten liebt. – Ich hätte mir früher einen Spiegel neben das Bette stellen sollen.

Excel-Schulung. Wir üben die WENN-FUNKTION:

=WENN(B5>20;B5*750;“sorry – keine Provision“)

Ich lasse die Werte summieren. Ich lasse den Mittelwert berechnen.

Eine Teilnehmerin meldet sich und sagt, dass sie ein anderes Ergebnis habe:

Ich schaue nach – klar – sie hat die Formel:

=WENN(B5>20;B5*750;0)

Dadurch wird zwar die Summe gleich berechnet; MITTELWERT (und SUMME) übergehen den Text – bei der Zahl 0 wird jedoch die ANZAHL anders berechnet – deshalb das unterschiedliche Ergebnis beim MITTELWERT (=SUMME/ANZAHL).

Eine Glatze ist FKK auf höchster Ebene.

Power Query bei Ken Puls zu lernen ist ein Genuss.

Teil II

Auch deshalb (aber nicht nur deshalb), weil er auch so gerne über Excel, Ungereimtheiten und Schwächen lästert. Hier eine kleine Auswahl seiner spöttischen Bemerkungen über Power Query & co:

Der Dialog „gruppieren nach“ ist klasse – aber er zeigt die drei Pünktchen erst dann, wenn man mit der Maus darüber fährt.

Importiert man einen Bereich nach Power Query wird daraus eine Tabelle!?! Der Name der Tabelle: Tabelle1!

to do: es diesmal nicht schon wieder verkacken!

Power Query bei Ken Puls zu lernen ist ein Genuss.

Auch deshalb (aber nicht nur deshalb), weil er auch so gerne über Excel, Ungereimtheiten und Schwächen lästert. Hier eine kleine Auswahl seiner spöttischen Bemerkungen über Power Query & co:

Warum ist bei Dialogen so häufig der Default-Button derjenige, der am unwichtigsten ist? Kens Tipp: meistens ist der Button links von der Abbrechen-Schaltfläche der wichtige:

„Gebietsschema“: Der langsamste Dialog in PQ:

Warum ist das „schnelle Laden von Daten“ nicht Standard?

Warum zeigt ein Doppelklick auf den Rand nicht den kompletten Inhalt?

Scheiss auf’s Pferd – echte Männer kommen auf dem Motorrad.

Bulgarian Excel Days 2019.

Großartig.

Masterclass bei Ken Puls über Power Query: https://www.exceldays.itraining.bg/en/about-masterclasses/

Klasse. Auch er nörgelt gerne: Beispielsweise darüber, dass man beim Erstellen einer Tabelle ([Strg] + [T] oder als Tabelle formatieren oder Einfügen / Tabelle nicht den Namen der (neuen) Tabelle eingeben kann:

Vor dem ersten Kaffee – Klappe halten!

Hallo zusammen,

zuallererst (wer es noch nicht gelesen hat): ich habe in die letzte Mail Abstimmungsschaltflächen eingebaut, weil ich davon ausgegangen bin, dass in JEDER Outlook-Version diese sichtbar sind. Pustekuchen – in einigen Versionen waren diese Schaltflächen nicht sichtbar – sorry, wusste ich nicht; heißt: man darf Abstimmungsschaltflächen nur firmenintern verwenden (schade, eigentlich). Danke an Angelika fürs mit-mir-Ausprobieren.

Stiftung Warentest hat Besteck getestet. Messer hat am besten abgeschnitten.

Wolfgang wollte es wissen: Der Datenexport aus Access liefert an einer Stelle Zahlen und keine Texte, wie sie in der Access-Tabelle zu sehen sind:

Die Ursache ist schnell gefunden: beim „Typ“ wurde kein Text verwendet, sondern ein Nachschlageassistent, der auf eine andere Tabelle verweist. Verknüpft werden nur Zahlen. Das heißt: angezeigt werden die Text der zweiten Tabelle, verwendet werden die IDs. Und diese werden nach Excel exportiert:

Im Winter ist der Eifelturm 15 Zentimeter kürzer. Männer kennen das.

Doof. Wenn man in einem Diagramm einen Datenpunkt formatiert, das heißt im Aufgabenbereich Markierung / Markierungsoptionen öffnet, anschließend auf ein anderes Element des Diagramms klickt und dann wieder auf einen weiteren Datenpunkt, um diesen ebenfalls zu formatieren, muss man jedes Mal den Dialog erneut öffnen. Nervig!

Besser kann ich es nicht erklären – nur lauter!

PowerPoint-Schulung. Wir üben Diagramme. Eine Teilnehmerin fragt mich, wo denn das grüne Plussymbol sei, mit dem man weitere Elemente einfügen kann, beispielsweise Gitternetzlinien:

Ich schaue mit die Oberfläche an, schließe den Aufgabenbereich „formatieren“ – und schon erscheint das grüne „+“, das sich dahinter versteckt hat:

Ich probiere ein wenig – es wäre auch sichtbar geworden, wenn man den Zoom der Folie verkleinert:

Keinen Humor haben, aber sich einen Account bei facebook zulegen. Man geht doch auch nicht zu Ikea, wenn man keine Teelichter braucht.

Boah ist das widerlich!!! *)

Ich erstelle ein Exceltabellenblatt, bei dem der Anwender zwischen zwei Texten wechseln kann. Je nach Text wird eine andere Liste für die Datenüberprüfung verwendet. Da die Liste dynamisch ist und aus einem anderen System kommt, muss ich ein paar Zeilen VBA-Code verwenden:

If Target.Value = „Für Standorte“ Or Target.Value = „Für Gebäude“ Then […]

Nach einer Weile meldet sich der Anwender und sagt, dass er auf diesem Tabellenblatt eine Fehlermeldung erhält. Ich schaue nach:

Das Gemeine: Der Anwender hat einen Doppelklick auf eine verbundene Zelle ausgeführt. Dadurch greift das Target-Objekt nicht – es nicht nun nicht mehr EINE Zelle, die einen Inhalt hat, sondern ein Zellbereich. Ich erhalte einen Fehler!

Also noch schnell eine Zeile Code außenrum – in der ersten Spalte wurde nichts verbunden.
If Target.Column = 1 Then
Und schon klappt es!

Ich hab doch gesagt, ich mach’s. Da muss ich nicht vierteljährlich dran erinnert werden …

Ich habe meine Verwunderung darüber ausgedrückt, dass PowerQuery (ein Werkzeug, das ich wirklich schätze und das sehr stark und mächtig ist), nicht druckbare Zeichen nicht darstellt. Das rief Kritik auf den Plan. Von vorne. Gegeben sei eine Tabelle, die von einem anderen System geliefert wurde, in denen nicht druckbare Zeichen vorhanden sind:

Die Funktionen CODE und ZEICHEN, TEIL und WECHSELN helfen in Excel beim Säubern, beziehungsweise beim Trennen der Daten.

Ziehe ich die Daten nun nach Power Query, so mein Erstaunen, werden diese Zeichen dort nicht angezeigt. Auch der Assistent „Spalten teilen“ biete keine Option für „nicht druckbare Zeichen“. Beim Zurückspielen nach Excel sind diese Zeichen wieder vorhanden (sie wurden ja nie gelöscht):

Als ich etwas leichtfertig und zugegebenermaßen nicht ganz korrekt, gepostet habe, dass PQ das nicht kann, rief ich Kritik auf den Plan:

„Hallo René,
ich hoffe es geht Dir gut. Ich weiß zwar nicht genau, was Du mit nichtdruckbaren Zeichen im Detail in Excel machst, aber ich bin mir ziemlich sicher, dass das – entgegen Deiner Bemerkung – auch mit Power Query geht“

„Das ruft den Experten auf den Plan, wenn ich behaupte, dass das nicht mit PQ geht …
Hallo Lars,
es gibt Systeme, die liefern in Excel oder Textdateien nicht-druckbare Zeichen (die dort – in anderen Systemen – als Trennzeichen definiert sind)
Mit ist aufgefallen, dass PQ diese nicht anzeigt – aber – wenn ich die transformierte Datei wieder zurückspiele – diese Zeichen wieder drin sind.
schau mal; probier mal – korrigiere mich – lasse ich gerne!“

„Was Power Query nicht alles kann:

Als Hintergrund: Wenn Du die Daten in Power Query lädst, dann sind die nicht druckbaren Sonderzeichen zwar nicht (ohne weitere Arbeit) sichtbar, aber sie sind vorhanden und man kann sich „um sie kümmern“
Ich denke, dass ich dazu mal einen Blogbeitrag schreiben werde. Danke für die Datei und diese Herausforderung“

„Hallo Lars,
ja – DAS kann ich auch:

let

    Source = Excel.CurrentWorkbook(){[Name=“Tabelle1″]}[Content],

    #“Changed Type“ = Table.TransformColumnTypes(Source,{{„Name“, type text}}),

    #“Name getrennt“ = Table.AddColumn(#“Changed Type“, „Name getrennt“, each Text.Replace([Name],Character.FromNumber(7),“|“))

in

    #“Name getrennt“

Ich hätte es schön gefunden, wenn das mächtige Power Query in seinem Assistenten „Spalte teilen“ eine Option dafür gehabt hätte …“

„Hi Rene,

okay, aber in Excel benutzt Du dafür doch auch Formeln, wieso ist das für PQ dann nicht erlaubt? Die Engine hat die Fähigkeiten, aber das Dev Team hat über die GUI eben noch keinen Befehl bereitgestellt. 

Aus Deinem Post hatte ich verstanden, dass es gar nicht geht, nicht, dass es nicht über die GUI geht.  Das finde ich nicht besonders schlimm.“

„Okay, Lars, du hast gewonnen.
Ich habe den Satz korrigiert:
„Übrigens: bedauerlicherweise kann man dies nicht mit Power Query mit den „Hausmitteln“ trennen – man benötigt hier einige Zeilen M.“
Ich war verblüfft, dass die nicht druckbaren Zeichen nicht angezeigt werden, aber (und das ist eigentlich auch vernünftig) nicht gelöscht werden.
Ich hätte mir in dem (sehr viel mächtigeren Assistenten als in Excel) „Spalten teilen“ eine Option gewünscht, wo man Character.FromNumber() (oder ähnliches) eintragen kann.
Tja. Liebe Grüße Rene“

„Meine Funktion tut genau das… Ich habe sie recht schnell entworfen, daher muss der ReplacerText auch als Unicode-Zeichen (also als Nummer) eingegeben werden, anstatt als Text… könnte man alles noch verbessern, aber sie tut bisher, was sie soll…

(TextMitNonPrintables as text, optional ReplacerText as number) as text =>

let

/*

   TextMitNonPrintables = „Lars “ & Character.FromNumber(7) &“Schreiber“,

   ReplacerText = null,

*/

    //Falls der ReplacerText nicht mit übergeben wurde, setze ihn aufs Leerzeichen

    RepText = if ReplacerText = null then 32 else ReplacerText,

    //Nicht druckbare Unicode-Zeichen als Liste definieren…

    NichtDrurckbareZeichenUnicode = {0..31},

  //Nicht-druckbare Unicode-Zeichen durch den ReplacerText ersetzen…

    TextAsList = List.Transform(

            Text.ToList(TextMitNonPrintables),

            each Character.FromNumber(

                if List.Contains(NichtDrurckbareZeichenUnicode, Character.ToNumber(_)) then

                  RepText

                else

                Character.ToNumber(_)

                )

                ),

      //Text-Liste wieder in Worte zusammensetzen und um unnötige Leerzeichen bereinigen!

      Output = Text.Trim(

        Text.Combine(TextAsList

        )

        ) 

in

    Output

Lars Schreiber

Männer, die Ihrem/Ihrer Liebsten den Kaffee ans Bett bringen, werden seltener anonym beschattet.

Hallo lieber René,

früher konnet man in Excel individuelle Makro-Buttons malen. Jetzt habe ich dazu nichts mehr gefunden.
Gibt es noch eine ähnliche Funktion?

Ein schönes Wochenende wünscht Dir
Traudl

####

Hallo Traudl,
Die Antwort: geht nicht (mehr).
Man könnte ein Bild in die XML-Datei des Dokuments einfügen und mit einem Verweis sich dieses anzeigen lassen. Ist etwas mühsam.

Ich verwende immer eines der vorgegeben Bilder. Nicht dolle, aber … okay …

Ich weiß – früher konnten Firmen „einen roten Drucker“, „einen blauen Drucker“, „einen gelben Drucker“ … da haben wir die Symbole eingefärbt – Pixel für Pixel.

lg

Rene



Nur echt mit den 52 Zähnen

Und schon wieder hat man mich gezwungen libreOffice Calc zu unterrichten. Sehr ärgerlich finde ich dort, dass viele Dialoge erweiterte Optionen haben, beispielsweise der Dialog Suchen/Ersetzen:

Klappt man ihn auf stehen weitere Optionen zur Verfügung. Dort kann etwas eintragen:

Das Ärgerliche ist nun Folgendes: schließt man die Dialog und ruft ihn erneut auf, so ist er wieder zugeklappt. Allerdings: die Einstellungen, die in den „weiteren Optionen“ vorgenommen wurden, stehen immer noch drin und sind aber auf den ersten Blick nicht sichtbar. Ärgerlich und verwirrend! Ebenso beim Standardfilter:

Und bei den Pivottabellen/Datenpilot:

Immerhin: die Stadt München steigt nun wieder auf Microsoft Office um: Nachdem die gesamte Stadtverwaltung mit openSource ausgestattet wurde: Millionen an Kosten für neue Hardware, Anpassung, Programmierung, … wurde dann festgestellt, dass der Austausch mit der übrigen Welt nicht so gut funktioniert. Ja, dass es für bestimmte Anwendungen (beispielsweise CAD-Programme) keine openSource auf Linux gibt.
In dem Jahr, in dem Microsoft den Firmensitz von Unterschleißheim nach München verlegte, beschloss die Stadt München zurück zu Microsoft zu kehren. Ab November 2019 sollen die ersten Referate migriert werden – bis nächstes Jahr soll Microsoft als Standard wiederhergestellt werden – sehr rasch (überstürzt?) – schließlich sind nächstes Jahr Kommunalwahlen.
Und nun werde ich gefragt, ob ich Umsteigertrainings für Word, Excel und PowerPoint durchführen kann und möchte. Wir sind gespannt.

Lieber Gott, schmeiß Hirn vom Himmel, oder Steine. Hauptsache du triffst.

Man hat mich wieder gezwungen libreOffice Calc zu unterrichten. Je häufiger ich es unterrichte, desto mehr liebe ich Microsoft Excel. Beispiel:

Ich erkläre den Funktionsassistenten. Ich wundere mich, dass dort die Tastenkombination [Umschalt] + [Strg] + [↑] nicht funktioniert. In der Tabelle erlaubt diese Tastenkombination größere Bereiche zu markieren.

Es gehen weitere Tasten leider auch nicht: [Umschalt] + [F4] um von einem relativen Bezug zu einem absoluten umzuschalten. Oder folgendes Ärgernis: Klickt man auf eine Zelle, muss man den Cursor danach explizit hinter die Markierung setzen, sonst wird sie bei dem nächsten Zeichen (beispielsweise „>“) überschrieben:

Eine amüsante Anmerkung: Gestern schrieb eine Teilnehmer*in in die Beurteilung:
»Das Thema ist für einen Unterrichtstag sehr komplex, man sollte gut ausgeschlafen sein.«

Polizei frohlockt: Bullenhitze

Excelschulung. Wir üben die Datenüberprüfung (Gültigkeit).

Eine Teilnehmerin fragt, warum sie keine Datenüberprüfung einschalten darf:

Des Rätsels Lösung: sie hat nicht nur die (intelligente/formatierte) Tabelle markiert und Bereich außerhalb der Tabelle – sie hat auch die Ergebniszeile der Tabelle eingeschaltet. DORT kann man keine Datenüberprüfung einschalten:

Ich regle meinen Wasserhaushalt über die Eiswürfel im Gin Tonic

Erstellt man eine Pivottabelle kann man ein (Säulen-)Diagramm darauf aufsetzen. Man kann negative Werte in einer anderen Farbe darstellen, indem man die Option „invertieren, falls negativ“ im Aufgabenbereich „Datenpunkt formatieren“ einschaltet.

Dumm ist nur, dass nach dem Speichern, Schließen und Öffnen die Farbe auf Weiß zurückgesetzt wird:

Danke an einen Leser des Blogs für diesen wertvollen Hinweis.

Nur keine Hemmungen. Ich sag dann schon stop.

Auch mit Heike Hofert (http://www.der-lerncoach.de/) konnten wir für unsere Exceltage 2019 eine erfahrene und freundliche Referentin gewinnen. Sie referierte über dynamische Diagramme und „intelligente“ (formatierte, dynamische, Layout-)Tabellen, die sie scherzhaft „Tabellchen“ nannte.

Microsoft beschriftet in der deutschen Version die Register der Tabellenblätter mit Tabelle1, Tabelle2, Tabelle3, die Layouttabellen ebenso mit Tabelle1, Tabelle2, Tabelle3, … – nicht sehr intelligent!

Ein Träumchen

Daumen hoch für Johannes Curio (http://curio-consulting.de/), der auch als Referent bei unseren Exceltagen zur Verfügung stand. Er hielt informative, amüsante und spannende Referate über Pivot, Power Query und PowerBI.

Spannend fand ich seine Bemerkung, dass man in PowerQuery niemals den Automatismus „Changed Type“ verwenden sollte. In vielen Fällen wird der Datentyp nicht richtig erkannt, so seine Bemerkung.

Dies demonstrierte er anhand eines CSV-Imports am Beispiel einer Datumsspalte. Seine Empfehlung: diesen Schritt löschen und selbst das Datenformat definieren:

Dann klappt es:

Historisch gesehen müssten wir heute in der Zukunft leben.

Rückblick Exceltage 2019. Mit Imke Feldmann konnten wir eine hervorragende PowerBI-Programmiererin und -kennerin finden. Warum erscheint sie nicht bei der Suche nach PowerBi-Fragen? Ihr Blog https://www.thebiccountant.com/ ist auf Englisch und deshalb wird sie Deutschland nur schwer gefunden. Dennoch: Kenner der Szene kennen und schätzen sie sehr. Ich habe sie das erste Mal live erlebt und war begeistert von ihrer lebendigen und witzigen Art, aber auch von ihrem profunden Sachwissen und ihrer Kompetenz, Probleme mit Daten zu lösen.

Amüsiert habe ich mich über ihr Erstaunen, dass links neben den PowerQuery-Befehlen Zeilennummern (besser: Befehlsnummern) stehen.

Man kann diese Befehle im Erweiterten Editor ein- und ausschalten: In den Anzeigeoptionen gibt es die Einstellung „Zeilennummern anzeigen“.

Eine Stute kann auch ein Esel sein.

Exceltage 2019 in München. Letztes Wochenende. Auch Martin Weiß (https://www.tabellenexperte.de/) war dabei – als Referent hat er drei Referate über seine Spezial- und Lieblingsthemen: Pivottabellen, bedingte Formatierung und Kalender/Datumsfunktionen gehalten. Sie wurden mit Begeisterung besucht.

Interessant und verblüffend fand ich seine Bemerkung zum Unterschied zwischen SUMME([@Länge]) und SUMME([Länge]) in intelligenten Tabellen:

Männern mit Grippe rate ich sich mit feuchter Erde einzureiben. Hilft nicht, aber so gewöhnen sie sich schon mal daran.

Für unsere Exceltage 2019, die letztes Wochenende in München stattfanden, konnten wir den hervorragenden PowerBI-Kenner und -Spezialisten Hans-Peter Pfister (https://www.powerbi-pro.com/) gewinnen. Er hat tolle Vorträge über CALCULATE in DAX und über M gehalten. Und – zusammen mit Imke Feldmann – ein Dashboard mit der Gruppe entwickelt. Danke!

Amüsiert habe ich mich, als er darauf hinwies, dass in PowerBI im Beziehungsfenster „Viele zu 1“ und „1 zu Viele“ beide mit „*:1“ beschriftet sind – wahrscheinlich ein Kopierfehler, den bislang noch niemand bemerkt hat …

Echte Männer fahren Traktor

Mit Lorenz Hölscher (http://www.software-dozent.de/) haben wir für unsere Exceltage (www.munich-office-group.de) 2019 einen hervorragenden Dozenten gefunden. Er hat über Themen wie sichere Datenqualität und Dateneingabe, Verbesserungen im VBA-Code referiert. Und er stellte die neuen Array-Funktionen vor, die in Excel nun Einzug gefunden haben.

Auch er kann sich manchmal freche Bemerkungen nicht verkneifen, wenn er fragt, warum in Excel die Funktion TEXT in VBA Format genannt wurde – warum HEUTE() in Access Datum() heißt … Und er machte Witze über Praktikanten, die so etwas implementiert haben – solche Witze machen seine Vorträge nicht nur lehrreich, sondern auch amüsant.

My therapist told me to delete this app

Gestern Excelschulung. In der Kaffeepause sah mich eine Teilnehmerin der letzten Schulung: „Ach, wie gut, dass ich dich sehe – du kannst mir sicherlich helfen! Ich habe eine Exceldatei mit einem Kästchen, das ich nicht löschen kann.“ Bevor ich ihr eine mögliche Antwort geben konnte, schleppte sie mich an ihren Rechner und zeigte mir das Kästchen:

Ein Textfeld! Das war eine leichte Übung: Registerkarte „Entwicklertools“ einschalten, „Entwurfsmodus“ aktivieren, Textfeld markieren und löschen:

Das Ergebnis: die Damen war glücklich!

Heimat ist da, wo dir die Todesanzeigen etwas sagen (Ottfried Fischer)

Amüsant. Gestern in der Excelschulung fragte ein Teilnehmer, ob man nach Duplikaten sortieren oder filtern kann. Das kann man natürlich nicht:

Ich habe ihm die Lösungsansätze genannt, die mir eingefallen sind:

  • die Funktion ZÄHLENWENN (und dann sortieren/filtern)
  • Bedingte Formatierung (und dann sortieren/filtern)
  • Pivottabelle (und dann sortieren/filtern)
  • Spezialfilter

Habe ich etwas vergessen?

Du möchtest gerne erfolgreicher sein, aber nicht mehr so viel Schokolade essen? Nachfolgend findest du Informationen über Wege zu Glück und Erfolg:

ups: Ich habe eine Datei geöffnet, die ich nicht mehr schließen konnte. Ich musste Excel über den Task-Manager beenden:

Sie können Microsoft Excel nicht schließen, weil ein Dialogfeld geöffnet ist. Klicken Sie auf „OK“, wechseln Sie zu Microsoft Excel und schließen Sie das Dialogfeld.

Das Auge liest mit!

Die Frage ist interessant: Aus einer Geburtstagsliste sollen all diejenigen angezeigt werden, die in dieser (laufenden Kalender-)Woche Geburtstag haben. Eine kleine Fingerübung, oder:

Zuerst wird das Geburtsdatum in ein Datum des aktuellen Jahres „transformiert“. Dann wird von diesem Datum und vom aktuellen Tag die ISOKALENDERWOCHE berechnet. Und schließlich beides miteinander verglichen:

Hallo Wolfgang,

und so geht es:

=WENN(ISOKALENDERWOCHE(HEUTE())=ISOKALENDERWOCHE(DATUM(JAHR(HEUTE());MONAT(K2);TAG(K2)));“x“;““)

Schau dir mal die Schritt in der angefügten Tabelle an

Viel Spaß mit KW und Geburtstag

Rene

Lieber René,

vielen Dank. Ich hatte es gleich gestern Abend noch nachgetüfftelt und bin zum Ergebnis gekommen, allerdings hatte ich das Datum anders umgewandelt.

Da sah dann so aus: =WENN(ISOKALENDERWOCHE(TAG(A1)&“.“&MONAT(A1)&“.“&JAHR(HEUTE()))=ISOKALENDERWOCHE(HEUTE());“Happy Birthday“;““)
Viele Grüße
Wolfgang

Ist auch richtig, Wolfgang – meine Lösung ist natürlich besser *lach*

Im Ernst: ich mag es nicht, wenn du ein Datum (intern eine Zahl) in einen Text umwandelst und diese implizit wieder in ein Datum konvertieren lässt. Bei sehr vielen Datensätzen dauert es länger als meine Lösung, die ein Datum als Datum lässt.

Liebe Grüße Rene

Das hält bis wir weg sind.

Auch ich, René Martin, einer der beiden Veranstalter, werde auf unseren Exceltagen 2019, die am 18. und 19. Oktober in München stattfinden werden, zwei Referate halten: eines über die Funktionen der Kategorie „Nachschlagen und Verweisen“, ein zweites über Tipps und Tricks in Excel. Dort werde ich zeigen, was man mit nichtdruckbaren Zeichen in Texten machen kann – wie man sie entfernen oder durch andere Zeichen ersetzen kann:

Die Funktionen CODE und ZEICHEN, TEIL und WECHSELN helfen dabei.

Wieso sind Menschen eigentlich immer nur mit ihrem Aussehen unzufrieden und nie mit ihrem Hirn?

Auch Johannes Curio (curio-consulting.de/) wird auf unseren Exceltagen 2019 referieren. Eines seiner Themen in seinem Vortrag „Revisionssicherheit“ wird die Rechenungenauigkeit von Excel sein. Er wird Lösungen aus dem Dilemma vorstellen. Mit Johannes Curio konnten wir einen Experten, Trainer und Fachbuchautor für Excel, PowerPivot und Power BI gewinnen.

Auf der Suche nach einer tragfähigen Parkettlösung.

Auch mit Imke Feldmann (The BICCOUNTANT) haben wir eine hervorragende Kennerin von PowerBI, PowerPivot, DAX und Power Query für unsere Exceltage 2019, die am 18. und 19. Oktober in München stattfinden werden, gewonnen.

Sie zeigt dort beispielsweise, dass man Listen in Power Query nicht mit einer Überschrift versehen kann – man muss sie in Tabellen umwandeln. Guter Tipp!

Übrigens: es sind noch einige Plätze auf unseren Exceltagen frei.

Haben Pferde Vorurteile? Denkt zum Beispiel ein Galopppferd von einem Dressurpferd ‚diese Tunte‘?

Hallo Herr Martin,

dieses Mal ist mir ein etwas seltsames Verhalten von VBA aufgefallen, wahrscheinlich kennen Sie das, mir ist es eben zum ersten Mal begegnet.

Ich habe in diesem Beispiel eine sehr simple Schleife mit der Vlookup-Funktion.

In „Sheets(„Tabelle2“).Range(„A:B“)“ stehen die Daten, die ich in „Sheets(„Tabelle1“).Cells(i, 2) hineinspielen möchte.

Ich weiß, ist nicht elegant, aber mir geht es um die Funktion an sich.

Sub Test()

Dim i As Integer

For i = 2 To 11

If Not IsError(Application.WorksheetFunction.VLookup(Cells(i, 1).Value, Sheets(„Tabelle2“).Range(„A:B“), 2, False)) Then

Sheets(„Tabelle1“).Cells(i, 2).Value = Application.WorksheetFunction.VLookup(Cells(i, 1).Value, Sheets(„Tabelle2“).Range(„A:B“), 2, False)

Else:

Sheets(„Tabelle1“).Cells(i, 2).Value = „Fehler“

End If

Next i

End Sub

Verwende ich für Vlookup die Schreibweise Application.WorksheetFunction.VLookup, dann bleibt die Schleife beim ersten Wert hängen, den er nicht findet und gibt den Laufzeitfehler 1004 aus (Die Vlookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden). Der Versuch, mit „If not isError“ den Fehler abzufangen, schlägt fehl.

Verwende ich jedoch die Schreibweise Application.VLookup, dann funktioniert alles perfekt und in „Sheets(„Tabelle1“).Cells(i, 2).Value“ wird „Fehler“ hineingeschrieben.

Ein identisches Verhalten zeigen auch andere Funktionen, wie Application.WorksheetFunction.Match.

Verstehen Sie das?

Danke Ihnen und viele Grüße,

Hallo Herr D.

Der Code sieht korrekt aus. Ich kann dazu nur Folgendes sagen:

Letzte Woche habe ich ein VBA-Add-In für einen Kunden erweitert – ich wollte Daten per Formeln aufbereiten, um darauf ein Diagramm aufzusetzen.

Die Formel sah so aus:

xlBlattDiagramm.Range(„B“ & intZeilenDiagramm + 3).Offset(intZeilenDiagramm – 2)).FormulaR1C1 = _

        „=OFFSET(R1C1,0,“ & (intBereichsSpalten + 1) & „-COUNTIF(R[-“ & (intZeilenDiagramm + 1) & „]C:R[-“ & (intZeilenDiagramm + 1) & „]C[“ & (intBereichsSpalten – 1) & „],MAX(R[-“ & (intZeilenDiagramm + 1) & „]C:R[-“ & (intZeilenDiagramm + 1) & „]C[“ & (intBereichsSpalten – 1) & „])))“

    ‚ — =BEREICH.VERSCHIEBEN($A$1;0;9-ZÄHLENWENN(B2:I2;MAX(B2:I2)))

Bei mir lief es hervorragen – der Kunde erhielt auf mehreren Rechnern eine Fehlermeldung – Laufzeitfehler 1004.

Deutlich: ich habe keine Ahnung warum!

Statt einer programmierten Formel habe ich dann die Daten mit einer Schleife aufbereitet – das geht immer …

Heißt: sorry, ich weiß den Grund nicht!

M

Für unsere Exceltage 2019, die in München am 18. und 19. Oktober stattfinden, konnten wir auch den hervorvorragenden „Power“-Spezialisten Hans-Peter Pfister gewinnen. Er wird über PowerQuery, Power Pivot, Power BI und M sprechen.

In seinem Skript über die Abfragesprache M finde ich folgenden wichtigen Satz:

Mit Eingabe des Kommas wird die Variablendefinition abgeschlossen. Einzige Ausnahme ist die letzte Variablendefinition vor in – hier darf nie ein Komma stehen.

Wie oft bin ich schon darüber gestolpert, dass ich – Macht der Gewohnheit – hier ein Komma eingetragen habe.

Ich gehe jetzt in den Park, glückliche Pärchen vergiften

Ein Kunde möchte ein Add-In für Word erstellt haben. Mit einigen Symbolen. Nach einigem Suchen finde ich den ToggleButton für die Änderungsnachverfolgung:<toggleButton idMso=“ReviewTrackChanges“ imageMso=“ReviewTrackChanges“ /> Es klappt gut:

Der Kunde beschwert sich:

Ich erkenne nur nicht den Unterschied. Wir konnten vorher doch auch zwischen Änderungsverfolgung „ein“ und „aus“ wechseln. Ging es uns nicht darum, den aktuellen Status am Knopf zu erkennen? Oder hatte ich das falsch in Erinnerung?

Und schickt mir einen Screenshot:

Meine Antwort: Ohh, das sind die hübschen kleinen Unterschiede zwischen Office 365 und Office 2016. Wenn  Sie genau hinschauen: das Symbol ist bei Ihnen grau unterlegt – kaum sichtbar …

PS: Ich bin schon recht genervt von Office 365. Und nicht nur ich …

Da wohnen, wo andere Arbeit machen.

Zu unseren Exceltagen 2019, die am 18. und 19. Oktober in München stattfinden werden, konnten wir auch Martin Weiß gewinnen – den Tabellenexperten. Spezialist für Datumsberechnungen, PivotTabellen und Bedingte Formatierungen – darüber wird er referieren. Er wird – so habe ich in seinem Skript gelesen – darauf hinweisen, dass es für das Löschen der Bedingten Formatierungen kein Rückgängig gibt! Nur: Alles abbrechen – und von vorne löschen …

„So viel Geld für einen Panzer? da krieg ich ja schon einen gebrauchten Jagdbomber.“

Auf unseren Exceltagen 2019, die am 18. und 19. Oktober in München stattfinden werden, wird Heike Hofert (Der-Lerncoach.de) einige spannende Tricks rund um Diagramme präsentieren. Beispielsweise, wie man mit Hilfe eines Pfeils ins Spiel, der eigentlich gar kein Pfeil ist, sondern eine Linie, die im Diagramm einen Anfangs- und einen Endpunkt besitzt, ein Diagramm besser visualisieren kann.

Übrigens: es sind noch Plätze auf unseren Exceltagen frei.

Warum hat die Spülmaschine keinen Schleudergang?

Ich bereite unsere Exceltage 2019 vor. Die Skripte zu den Vorträgen trudeln ein; ich lese sie Korrektur. Mit Lorenz Hölscher (http://www.software-dozent.de/) konnten wir einen hervorragenden Dozenten gewinnen, der vier Referate hält. In einem davon macht er einen Vorschlag einer Eingabemaske. Der Grund:

die „alte“ Datenmaske, die man immer noch über [ALT] / [N] / [M] aufrufen kann, ist „unzulänglich“. Seine Kritik fasst er in einem Bild zusammen:

Für mich kein Dessert – ich muss auf meinen Bauch aufpassen! – Ist er nicht schon groß genug, um auf sich selbst aufzupassen?

Sehr geehrter Herr Martin,

Warum beginnt Excel mit der Nummer 3 und hängt die Nummern 1 und 2 hinten an???

Über jeden Hinweis wäre ich dankbar.

Mit freundlichen Grüßen

Hallo Herr K.,

und des Rätsels Lösung finden Sie nicht? Nun – dann will ich es Ihnen „verraten“:

Ein Blick auf Ihre Liste „Rohdaten“ liefert die Antwort: Dort befindet sich neben den Zellen mit einer „1“ und einer „2“ ein Smarttag mit dem Hinweis, dass die Zelle als Text formatiert ist oder ein Apostroph vorangestellt wurde. Da beides nicht der Fall ist liegt die Vermutung nahe, dass Sie diese Daten aus einem System erhalten haben, das diesen Text „darunter“ geschoben hat:

Da es sich um zehn Zahlen handelt, habe ich sie noch einmal eingetragen.

Achtung: Aktualisieren der Pivottabelle auf dem Blatt „Nutzung“ genügt nicht; ich habe die Daten über Entwurf / Berichtslayout „im Tabellenformat anzeigen“ lassen und dann sortiert:

Zur Info: Excel sortiert: 7 < 14 < 104 < hundertvier < sieben < vierzehn. Zuerst Zahl, dann Text

schöne Grüße

Rene Martin

Ich beneide die Jugend um Internet und Porno. Wir hatten damals nur den Otto-Katalog.

Heute zweiter Schulungstag libreOffice Calc. Boah, eh, das nervt, ja noch mehr als Excel. Ein paar Auszüge des Nervens:

Klickt man im Funktionsassistenten auf eine Zelle, ist diese markiert. Man muss die Markierung auflösen (hinter den Zellnamen klicken), um weiter schreiben zu können, beispielsweise, um einen Vergleichsoperator einzufügen. Wenn nicht wird die Markierung überschrieben.

Die Tastenkombination, mit der ein relativer Bezug in einen absoluten verwandelt wird, ist in Calc [Umschalt] + [F4]. Schade nur, dass diese Tastenkombination nicht im Funktionsassistenten funktioniert – dort muss man mühsam das $-Zeichen tippen. Sehr mühsam bei SVERWEIS: =SVERWEIS(B2;$G$1:$H$99;2;1)

Calc kennt zwei verschiedene Mauszeiger für die Zellen: auf dem Kästchen das Kreuz zum Herunterziehen einer Reihe:

Der weiße Mauszeiger zum Markieren:

Verschieben kann man einen markierten Zellbereich, indem man den Mauszeiger auf den markierten Bereich setzt und diesen per Drag & Drop verschiebt:

Und eine Zelle? Wie verschiebt man eine Zelle? Mann muss ausgehend von der zu verschiebenden Zelle mehrere Zellen markieren

wieder die Markierung zurückziehen, so dass nur eine Zelle ausgewählt ist

und nun kann man diese Zelle verschieben:

Ich empfehle Ausschneiden und Einfügen.

Wird bei der „Gültigkeit“ (Datenüberprüfung) die Option „Bei Eingabe ungültiger Werte Fehlermeldung anzeigen“ ausgeschaltet, greift die Gültigkeit nicht mehr!?!

Schaltet man einen Druckbereich ein und wählt anschließend über Format / Druckbereiche / Bearbeiten / Druckbereich: „keine“, so wird nicht der Druckbereich ausgeschaltet, sondern es wird nichts mehr gedruckt!?! Mann schaltet sie mit der Option „ganze Tabelle“ aus.

Erstellt man eine Pivottabelle (Datenpilot), wird sie automatisch auf einem neuen Tabellenblatt eingefügt:

Sehr versteckt findet man die Option „Quelle und Zielbereich“: Dort kann man die Pivottabelle auch auf dem gleichen Tabellenblatt einfügen:

An vielen Stellen sind die „weiteren Optionen“ automatisch ausgeschaltet und müssen bei jedem Aufruf des Dialogs wieder geöffnet werden. So übersieht man leicht vorher eingestellte Optionen:

Soll ich weitermachen? Ich bin froh, dass ich morgen wieder mit Excel arbeiten darf …

Ich schlafe gerne nackt. Da kann die Stewardess noch so blöde gucken.

Heute hat man mich wieder gezwungen libreOffice Calc zu unterrichten. Ich bin dabei über die Eingabe von Datumsangaben gestolpert: Während man in Excel bequem (auf dem rechten Zahlenblock) T-M-JJ eingeben kann, was dann umgewandelt wird – beispielsweise in 23.09.2019 – verhält sich Calc sehr merkwürdig. Links die eingegebenen Werte – rechts die interpretierten. Links = Text heißt natürlich: „nicht als Datum erkannt“!?!

Manchmal nervt es mich, dass ich auf mein gutes Aussehen, meine hohe Intelligenz und mein vieles Geld reduziert werde. Ich bin auch gut im Bett!

PlotArea – der Zeichnungsbereich eines Diagramms. Die Aufgabe: aus generierten Daten soll ein XY-Diagramm erzeugt werden. Nichts leichter als das:

' -- das Diagramm
     Set xlChart = xlBlattDiagramm.ChartObjects.Add(500, 100, 800, 400)
     Set xlDiagramm = xlChart.Chart
' -- XY-Diagramm
xlDiagramm.ChartType = xlXYScatter

With xlDiagramm
    .SetSourceData Source:=xlBlattDiagramm.Range(xlBlattDiagramm.Range("B" & (intZeilenDiagramm + 2)), _
        xlBlattDiagramm.Range("C" & intBereichsZeilen))  '   Range("'fin. Impact'!$B$8:$C$17") - Datenquelle

    .SetElement msoElementDataLabelLeft ' -- Datenbeschriftung
    .SetElement msoElementLegendNone ' -- keine Legende

    .FullSeriesCollection(1).DataLabels.Format.TextFrame2.TextRange. _
        InsertChartField msoChartFieldRange, "='" & strKategorie & "'!$A$" & (intZeilenDiagramm + 2) & ":$A$" & intBereichsZeilen & "", 0
    ' -- Beschriftung der Datenpunkte

    .FullSeriesCollection(1).DataLabels.ShowValue = False
    .FullSeriesCollection(1).DataLabels.ShowRange = True ' -- Werte anzeigen

    .Axes(xlValue).TickLabelPosition = xlNone
    ' -- y-Achse ausblenden

Das Ergebnis:

Nun möchte ich noch die Zeichnungsfläche verschieben, damit man die Beschriftung der Y-Achse besser sehen kann. Obwohl sie einen Abstand von Links = 7 hat, darf ich diesen Wert nicht auf 100 setzen?!?

Nach vielem Probieren finde ich die Lösung:

.PlotArea.Width = .PlotArea.Width * 0.9
.PlotArea.Left = .PlotArea.Left + 100

Das klappt!

Ich verstehe es nicht.

Gehe ins Bett! Begib dich direkt dorthin! Gehe nicht in die Küche! Ziehe nichts Süßes mehr ein!

Schade! Wenn man mit Power Query auf eine Liste zugreift und diese in Excel als Tabelle einfügt, kann man sie aus dem Aufgabenbereich „Abfragen und Verbindungen“ in einer „anderen Form“ laden – der Dialog „Daten importieren“ wird geöffnet.

Dieser Dialog kann auch über das Symbol „Laden in“ aus der Registerkarte „Abfrage“ der „Abfragetools“ geöffnet werden:

Jedoch leider nicht aus dem Power Query-Editor, wenn er einmal geschlossen wurde und dann wieder geöffnet wurde:

Warum ist das kleine L fast immer größer als das große l?

Schade. Ich liebe Power Query! Gut, durchdacht, clever, scheinbar fehlerfrei. Jedoch: eine Sache habe ich gefunden, die mich sehr irritiert.

Importiert man eine XML-Datei, in der sich Umlaute befinden, werden diese nicht korrekt angezeigt und lassen sich auch noch transformieren. Ich habe weder einen Schalter (Gebietsschema) noch einen anderen, cleveren Ersetzen-Befehl gefunden. Schade!

Ich esse Fleisch, weil mir die kleinen Tofus so leid tun.

Die Aktion kann nicht abgeschlossen werden, da die Datei in Microsoft Mashup Evaluation Container geöffnet ist.

Diese lustige Meldung habe ich erhalten, als ich versucht habe eine Datei umzubenennen. Was habe ich gemacht? Ich habe mit Power Query in Excel auf die Datei zugegriffen und dann den Power Query Editor verlassen und die Änderungen nicht beibehalten. Im Fenster „Abfragen und Verbindungen“ wird keine Verbindung angezeigt, dennoch hält das “ Microsoft Mashup Evaluation Container“ diese Datei.

Das wichtigste am Knackarsch ist das „n“!

Word-Schulung. Wir erstellen einen Serienbrief. Ich beginne mit einer einfachen Liste – Punkte für das Zertifikat, das die Azubis erreicht haben. Ich frage sie nach ihrer Punktzahl, sie witzeln; einer sagt: „0,1“. Ich trage es in Excel ein und speichere die Datei.

Ich erstelle einen Serienbrief und verwende diese Liste:

Die Vorschau offenbar Erstaunliches:

Auch hier ein Rundungsfehler! Natürlich kann man ihn in Word mit den entsprechenden Schaltern wegformatieren ( \# „0,00“) oder in Excel in einen Text umwandeln =WENN(B2<1;TEXT(B2;“0,00″);TEXT(B2;“0″))

Erstaunlich ist es trotzdem …

Du wirst jeden Tag schöner! Du siehst schon aus wie nächste Woche!

Sehr amüsant!

Erstellen Sie eine Tabelle in Excel. Wechseln Sie über Ansicht in die Seitenlayout-Ansicht:

Schalten Sie Querformat ein und die erste Zeile als Wiederholungszeile (über den Dialog Seite einrichten):

Klicken Sie nun die Bearbeitungsleiste und fügen einen Buchstaben zum Text der ersten Zelle ein:

Und man erhält einen wunderbaren Rand, den ich auf diesem Tabellenblatt nicht mehr wegbekomme …

Hübsch! Das hat heute eine Teilnehmerin herausgefunden als wir Tabellen formatiert haben.

Nachtrag: dieser Bugs liegt wohl nur in Excel 2016 vor. In Excel für Office 365 (Version 1908) konnte ich ihn nicht nachvollziehen.

Ich grille gerne, weil ich schon als Kind etwas mit Tieren machen wollte.

Word-Schulung. Wir üben Formulare. Fügen Steuerelemente ein und schützen das Dokument. Eine Teilnehmerin meldet sich und sagt, dass sie das Dokument nicht schützen kann:

Die Lösung ist schnell gefunden: Sie hatte den Entwurfsmodus eingeschaltet. Da es mehrere, unterschiedliche Steuerelemente in Word gibt, die unterschiedlich behandelt werden, wäre der „Entwurfsmodus“ bei den „Formularen aus der Vorversion“ eigentlich obsolet.

Excel-Rätsel

Excel-Rätsel

Es ist soweit: Seit gestern gibt es jede Woche ein Rätsel rund um Excel: Aufgaben, die man gut mit Excel lösen kann, Probleme rund um Excel oder excelspezifische Fragestellungen. Ich beginne mit einer Knobelaufgabe: einem Schneckenproblem. Eine Aufgabe, die ich in jeder Excel-Grundschulung stelle.

Schau Sie mal rein:

www.linkedin.com/learning/excel-ratsel-jede-woche-neu

Viel Spaß wünscht ::: Rene Martin

PS: Sorry, Leute – WordPress macht mir Probleme mit den Hyperlinks …

Exceltage 2019 in München (18./19. Okt 2019)

Es sind noch Plätze frei. Bei unseren Exceltagen, die auch in diesem Jahr wieder im Oktober in München stattfinden werden.

Wir bieten:

♦ Einen schnellen und fundierten Überblick über neue sowie bewährte Tools & Techniken,
♦ Praxisnahe Lösungen, die Sie für Ihre tägliche Arbeit nutzen können – und
♦ Eine fundierte Einführung in „Business Intelligence“ mit den Excel-Power Tools.

Weil jeder Anwender andere Herausforderungen mit Excel hat, bieten EXCEL-TAGE 2019 das Profiwissen unserer 9 Fachleute in 22 Vorträgen verteilt auf drei parallele Themenreihen an:

♦ „Excel-Tools und -Techniken“
♦ „Lösungen mit Microsoft Excel“
♦ „Power & Co: Business Intelligence mit Excel“

Zum Auftakt der EXCEL-TAGE 2019 erhalten Sie in unserem Impulsvortrag einen Überblick
zu den drei Themenreihen und zu den geplanten Referaten.

♦ Sie können aus den einzelnen Tracks Ihren Vortrag wählen
♦ Sie erhalten das Begleitmaterial für alle Kurse
♦ Auch außerhalb der Vorträge stehen Ihnen unsere Experten für ein Gespräch zur Verfügung
♦ Nutzen Sie die Möglichkeit zum Netzwerk in den Pausen und auf der Abendveranstaltung

Wir freuen uns auf Ihr Kommen!
Dr. René Martin & Stefan Lau

Weitere Infos: www.exceltage.de

Keine Dreier! Wenn ich zwei Menschen gleichzeitig enttäuschen will, gehe ich mit meinen Eltern essen.

Access nervt auch! Es hat mich schon eine Zeit gekostet, bis ich diesen Fehler in VBA für Access gefunden habe:

Das Objekt ist ungültig, oder es ist nicht mehr festgelegt.

Die Lösung: in den Codezeilen

Set tbl = CurrentDb.TableDefs(„tbl_Laenge_02“)

lautet: man muss CurrentDb an eine Variable übergeben – dann funktioniert es:

Dim db As DAO.Database
Dim tbl As DAO.TableDef

Set db = CurrentDb
Set tbl = CurrentDb.TableDefs("tbl_Laenge_02")
MsgBox tbl.Name

Perfide! Warum sagt mir das keiner?

Wer nur die Hälfte weiß, spart 50 Prozent.

Und schon wieder bin ich reingefallen. Ich möchte in einem Excel-Formular per VBA eine Datenübrprüfung einfügen. Referenzspalte ist Spalte A. Steht dort kein Wert wird eine Datenüberprüfung generiert:

For j = 11 To ThisWorkbook.Worksheets(i).Range(„A1“).SpecialCells(xlCellTypeLastCell).Row
If ThisWorkbook.Worksheets(i).Range(„A“ & j).Value = „“ Then
‚ — Datenüberprüfung
End If
Next

Und natürlich erhalte ich einen Fehler: G36 ist „leer“ (weil verbunden mit G35), aber in G36 kann man keine Datenüberprüfung einschalten ( weil verbunden mit G35). Die Lösung: RAUS MIT DEN VERBUNDENEN ZELLEN:

Dann klappt es hervorragend.

Ich bin gut aussehend und gelangweilt. Anscheinend bin ich eine Prinzessin.

Ich würde es nicht tun. Dennoch – das Ergebnis ist sehr interessant:

Auf einem Tabellenblatt befinden sich Informationen:

Auf einem zweiten Tabellenblatt befinden sich ebenfalls Informationen:

Sie werden verknüpft, indem man zuerst auf das erste Blatt klickt und anschießend auf das zweite Tabellenblatt. Das Ergebnis der Formel lautet:

=Tabelle1!A1&Tabelle2!A1

Das Ganze noch einmal – diesmal jedoch ohne den lästigen Bezug auf das gleiche Blatt:

=Tabelle1!A1&A1

Das Ergebnis ist das Gleiche. Jedoch beim Sortieren ergeben sich Unterschiede:

In der ersten Spalte wird sortiert:

=Tabelle1!A2&Tabelle2!A2 // =Tabelle1!A2&Tabelle2!A9 // =Tabelle1!A2&Tabelle2!A16 …

In der zweiten Spalte jedoch:

=Tabelle1!A2&A1 // =Tabelle1!A2&A2 // =Tabelle1!A2&A3 …

Danke an Dominic Dauphin für diesen Heinweis.

Mach dich erst einmal unbeliebt – dann wirst du auch nicht mehr erst genommen.

Ich möchte gerne per VBA auf einem geschützten Excel-Formular eine Dropdownliste (Datenüberprüfung) ändern. Okay – man hätte die auch per Formeln mit zwei Dropdownlisten erzeugen können – aber mit meiner VBA-Lösung bin ich flexibler.

Der Code lautet:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim intZeilen As Integer

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
     Dim intZeilen As Integer
If Target.Value = "Für Standorte" Or Target.Value = "Für Gebäude" Then
    ActiveSheet.Unprotect
        If Target.Value = "Für Standorte" Then
            intZeilen = ThisWorkbook.Worksheets("tbl_Basisdaten").Range("B1").CurrentRegion.Rows.Count
            Target.Value = "Für Gebäude"
            With Target.Offset(0, 1).Validation
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=tbl_Basisdaten!$B$2:$B$" & intZeilen ' -- Spalte B bei "Standorten"
            End With
        ElseIf Target.Value = "Für Gebäude" Then
            intZeilen = ThisWorkbook.Worksheets("tbl_Basisdaten").Range("D1").CurrentRegion.Rows.Count - 1
            Target.Value = "Für Standorte"
            With Target.Offset(0, 1).Validation
                .Delete
                .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="=tbl_Basisdaten!$D$2:$D$" & intZeilen ' -- Spalte D bei "Gebäuden"
            End With
        End If
        With Target.Offset(0, 1).Validation
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
        Target.Offset(0, 1).Value = ""

    ActiveSheet.Protect
End If

End Sub

Ich erhalte einen Fehler:

Klaro – ich schützte das Blatt (ActiveSheet.Protect) und anschließend wirkt der Doppelklick, denn ich verwende ja das Ereignis BeforeDoubleClick. Die Lösung ist einfach: ich setze den Cursor auf eine nicht gesperrte Zelle – dann klappt es:

Target.Offset(0, 1).Activate

Witzigerweise befindet sich DANN der Cursor in keiner Zelle.

Gott ist alleinerziehend

In der letzten Excelschulung beschwert sich eine Teilnehmerin, dass sie nicht markieren kann. Es ist nicht möglich, so beschwert sie sich, mehrere Zellen auszuwählen:

Der Fehler war schnell gefunden: der Cursor befand sich noch IN der Zelle und nicht AUF der Zelle. Woran ich das gesehen habe? die beiden Symbole x und (Haken) sind in der Bearbeitungszeile sichtbar:

Ich wiederhole, dass man in Excel nach der Eingabe einer Zahl, eines Textes oder einer Formel immer [Enter] drücken muss. Dass Excel unterscheidet zwischen „in der Zelle“ und „auf der Zelle“. Etwa die Hälfte der 12 Teilnehmerinnen und Teilnehmer hört interessiert und sichtlich nicht wissend zu. Ich bin erstaunt: ein Excel-Aufbaukurs …

Gym? Ich dachte du meintest Gin!

Ich habe den Fehler nicht einkreisen können. Aber er ist da:

In einem Excelformular werden Daten eingegeben. Dort werden Datenüberprüfungen verwendet, die Daten aus einem anderen Tabellenblatt holen. Die Liste verwendet einen Bezug auf das Blatt =tbl_Basisdaten!…

Ich kopiere über eine Schaltfläche ein Tabellenblatt „Interview BIA“ von einer anderen Datei in die aktuelle Datei.

Dadurch wird der Bezug auf die alte Datei hergestellt =[Alte Datei.xlsm]tbl_Basisdaten!…

Das ist mir leider nicht aufgefallen, weil die Dateien auf meiner Festplatte liegen und es deshalb zu keiner Fehlermeldung kommt.

Das muss raus! Okay – wir ändern das:

Ich generiere die Datenüberprüfungen aufgrund der Basisdaten auf dem Interviewformular. Ich verwende keinen Bezug, schreibe per Programmierung „Auftragsabwicklung;Arbeitsvorbereitung und Einkauf;Produktrealisierung Individual;Produktrealisierung maschinelle Fertigung;Wartung / Instandhaltung;Lager / Logistik;EDV-Systembetreuung:

    For i = 2 To intZeilen
        strZellinhalt = ThisWorkbook.Worksheets(Blatt).Range(strSpalte & i).Value
        strListeDatenüberprüfung = strListeDatenüberprüfung & "," & strZellinhalt
    Next
    If strListeDatenüberprüfung Like "*,*" Then
        strListeDatenüberprüfung = VBA.Mid(strListeDatenüberprüfung, 2)
    End If
    If strListeDatenüberprüfung <> "" Then
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Formula1:=strListeDatenüberprüfung   ' -- geändert, weil Interviewblatt nun importiert wird
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End If

Das Ergebnis:

Klappt:

Ich speichere die Datei, schließe sie und öffne sie:

„Wir haben ein Problem bei einigen Inhalten erkannt. Sollen wir so viel wie möglich wiederherstellen? Wenn Sie der Quelle dieser Arbeitsmappe vertrauen, klicken Sie auf ‚Ja‘.“ Die Datei ist kaputt! Ich finde den Fehler nicht!

Böses, böses Excel!

Wenn du mal traurig über dein Leben bist, denke daran, manche Bäume wachsen 25 Jahre und werden dann ein Bushido Poster…

Excelschulung. Jeder bringt seinen eigenen Laptop mit. Das ist immer recht anstrengend. Eine Teilnehmerin brachte ihren Mac mit – ohne Maus. das Touchpad hatte keine „rechte Maustaste“. Uff – das war mühsam – da ich viele der Excel-für-Mac-Tastenkombinationen nicht im Kopf habe. Es gibt keine Schnellstartsymbole, einige Dinge heißen anders und verstecken sich an anderer Stelle… Nicht einfach. Ich hoffe, sie bringt heute eine Maus mit …

Das Leben ist nicht immer ein Wunschkonzert… Aber man kann eine andere Playlist wählen!

VBA-Schulung. Wir erstellen eine Datei mit mehreren Tabellenblättern:

Wir schreiben ein kleines Makro, das uns bei der Blattsuche hilft:

Option Explicit
Option Compare Text

Sub BlattSuche()
Dim strBlattname As String
Dim i As Integer

strBlattname = InputBox("Bitte geben Sie den gesuchten Blattnamen ein!")

For i = 1 To ActiveWorkbook.Sheets.Count
    If ActiveWorkbook.Sheets(i).Name = strBlattname Then
        ActiveWorkbook.Sheets(i).Activate
        Exit Sub
    End If
Next

MsgBox "Das gesuchte Blatt " & strBlattname & " wurde nicht gefunden."

End Sub

Bei einer Teilnehmerin funktioniert das nicht:

Die Activate-Methode des Worksheet-Objektes kann nicht ausgeführt werden.

Ich werde stutzig, als ich das Menüband aufklappe:

Da entdecke ich, dass sie noch beim Schreiben eines Tabellenblattnamens ist:

Die Sterne lügen nicht, aber wie sieht’s mit ihren Deutern aus?

Perfide.

VBA-in-Excel-Schulung. Am dritten Tag beginne ich mit einer Aufgabe: ein Makro soll alle Tabellenblätter schützen; ein zweites Makro den Schutz aufheben. Die Teilnehmer beginnen die Lösung zu erstellen. Eine mögliche Lösung wäre:

Sub AlleBlaetterSchuetzen()
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Protect
Next
End Sub

Sub BlattSchutzAufheben()
Dim i As Integer
For i = 1 To ActiveWorkbook.Sheets.Count
ActiveWorkbook.Sheets(i).Unprotect
Next
End Sub

Ein Teilnehmer erstellt auf dem ersten Tabellenblatt zwei Schaltflächen dafür:

Das Perfide: Wenn die Datei mehr als zwei Tabellenblätter hat, wechselt Excel beim Blattschutzaufheben zu einem anderen Tabellenblatt (dem vorletzten). Ich weiß nicht warum …

Selig sind die Bekloppten. Denn sie brauchen keinen Hammer.

Gefunden auf Excel-FAQ:

„Bitte nicht lachen, find etwas grad gar nicht lustig

In einer Exceltabelle sind die Spalten A bis E ausgeblendet, lassen sich aber nicht wieder einblenden. Der Menüpunkt einblenden ist da (nicht ausgegraut) udn funktioniert überall sonst im Blatt. Es lässt sich aber schier nicht so markieren, dass es die Spalten A bis E wieder einblendet. Das es die noch gibt, weiss ich, da ich mit den Pfeiltasten die nicht sichtbaren Spalten durchklicken kann und dort auch Werte in der Funktionsleiste angezeigt werden. Weiss jemand, wie ich das wieder zurückbekomme? Die Spalten rechts und links der ausgeblendeten Spalten markieren, geht zumindest nach links ja nicht.
Sowas hatt ich auch noch nie

####

Danke, hat sich bereits erledigt. Es lag an der Spaltenfixierung, die unglücklich ganz links vorgenommen wurde.“

Mein Kommentar: Böse! Sehr böse! Fixieren UND ausblenden! Geht gar nicht!

Das ist kein Speck! Das ist erotische Nutzfläche!

Ich erstelle ein Add-In für einen Kunden. Mit Makros und mit Symbolen im Menüband. Ein Teil des XML-Codes sieht wie folgt aus:

  <tab id="tabBCM" label="BCM">
    <group id="grpEinstellungen" label="Einstellungen">
      <button id="cmdKonfigurationImpact" imageMso="FieldList" label="Konfiguration Impactbewertung" onAction="cmdKonfigurationImpact" size="large" supertip="Öffnet den Dialog zur Konfiguration der Impactbewertung des Kernprozesses" screentip="Dialog: Konfiguration"></button>
      <button id="cmdKonfiguration" imageMso="ControlLayoutStacked" label="Konfiguration Betrachtungshorizont" onAction="cmdKonfiguration" size="large" supertip="Öffnet den Dialog zur Konfiguration" screentip="Dialog: Konfiguration"></button>
      <button id="cmdBasisdaten" imageMso="ControlLayoutTabular" label="Basisdaten (Interview BIA)" onAction="cmdBasisdaten" size="large" supertip="Öffnet den Dialog zur Eingabe der Basisdaten" screentip="Dialog: Basisdaten"></button>

Das Ergebnis sieht wie folgt aus:

Mit fällt auf, dass auf einem kleinen Bildschirm (beispielsweise Laptop) die Gruppen zusammengepackt werden. Diese Darstellung gefällt mir nicht:

Zum Glück entdecke ich, dass man in die Gruppen auch Bilder (imageMso) einfügen kann. Und nun wird mir der Zweck klar: beim Verkleinern werden diese Symbole angezeigt. Das werde ich nun immer machen:

An der Darstellung des Menübandes hat sich nichts geändert:

Mein Schienbein hilft mir im Dunkeln Möbel zu finden.

In der letzten Excelschulung zeige ich Tabellen, die manche Trainer „formatierte Tabellen“ nennen. Ich zeige einen der vielen Vorteile: jede zweite Zeile bleibt dunkel, jede andere zweite Zeile hell – egal, ob man sortiert, filtert oder eine Zeile einfügt:

Ein Teilnehmer meldet sich und sagt, dass er dieses Verhalten in seiner Tabelle nicht feststellen kann:

Ich wusste, was er gemacht hat: er hat die Tabelle in einen Bereich konvertiert. Dadurch bleiben die Formatierungen bestehen und anschließend wieder in eine Tabelle verwandelt. Somit hat er noch die „alten“; „harten“ Farben …

Gott ist alleinerziehend

Etwas verblüfft war ich in der letzten Excelschulung. Ich löse mit den Teilnehmern folgendes Problem: Es werden in zwei verschiedenen Zellen zwei Monate ausgewählt und die Kosten von – bis werden berechnet. BERICH.VERSCHIEBEN eignet sich hervorragend zur Lösung dieses Problems.

Meine Lösung:

BEREICH.VERSCHIEBEN:

Beginne bei A1.

Suche E1 im Datumsbereich mit der Funktion VERGLEICH und wandere so viele Zeilen nach unten.

Wandere eine Spalte nach rechts.

Ermittle die Höhe des aufzuspannenden Bereichs als Differenz beider Werte Ende – Anfang, die mit VERGLEICH berechnet werden.

Die Breite des Bereichs ist eine Spalte.

Klappt. Ein Teilnehmer präsentiert eine andere Lösung, die er parallel entwickelte:

SUMME(BEREICH.VERSCHIEBEN(A1;VERGLEICH();1:BEREICH.VERSCHIEBEN(A1;VERGLEICH();1))

Mich irritiert der Doppelpunkt. Dann wird mir klar, wie der Teilnehmer gedacht und wie die Formel gearbeitet hat:

Mit =C3 wird eine Referenz auf die Zelle C3 gesetzt. Diese Formel liefert den Wert der Zelle C3. Also steht „C3“ für zweierlei: die Zelle C3 als Objekt, als Bezug, aber auch der Inhalt der Zelle C3.

Und genau so arbeitet seine Formel – Während „meine“ Funktion BEREICH.VERSCHIEBEN den Wert der Zelle (beziehungsweise die Werte der Zellen) zurückgibt, setzt er einen Bezug auf die erste und die letzte Zelle und spannt zwischen ihnen einen Bereich auf, dessen Werte summiert werden.

Verblüffend und clever!

Auf meinem Grabstein soll stehen: „Guck nicht so doof, ich läge jetzt auch lieber am Strand!!!“

Nein, nein, nein – so nicht! Bitte verbindet keine Zellen! Das bringt nur Ärger! Einige Ärgernisse habe ich hier schon beschrieben – über ein neues bin ich vor einigen Tagen gestolpert: Wenn A1 und A2 verbunden sind, dann liefert:

MsgBox Range(„A1“).Offset(0, 2).Address

Die Zelladresse C1, dagegen:

MsgBox Range(„A1“).Offset(2, 0).Address

ergibt: A4! UUUAAAAH!

Also: bitte, bitte, bitte! – Nicht verbinden!

SO NICHT!

Wenn du beim ersten Date nicht so aussiehst wie die Fotos, die du auf der Dating-Plattform hochgeladen hast, zahlst du so lange die Cocktails, bis du den Fotos ähnlich siehst.

Excelschulung. Wir erstellen Diagramme. Bei mir funktioniert es nicht lautet der Kommentar einer Teilnehmerin:

Ich habe eine Weile gesucht, um herauszufinden, warum die Linie auf dem Nullwert liegt. Die Lösung finde ich in den Optionen:

Die Teilnehmerin hat als Dezimaltrennzeichen den Punkt aktiviert. Dadurch wird die Zahl nicht als Zahl erkannt, sondern als Text. Und da sie die Zellen rechtsbündig formatiert hat … Also – Option ausschalten – und schon funktioniert es:

Auf dem Boden der Tatsachen liegt eindeutig zu wenig GLITZER

Outlook nervt auch. Gestern in der Outlook-Schulung stellte eine Teilnehmerin folgende Frage: Sie verschickt ab und zu Mails an mehrere Kunden, die alle auf BCC gesetzt werden, da sie nicht wissen sollen, wer diese Mail noch erhält:

Sie druckt die Mails nun aus. Das Problem: beim Ausdruck erscheinen die Namen, die auf BCC gesetzt wurden, nicht:

Die einzige Lösung, die mir eingefallen ist, war: die Namen aus der BCC-Zeile kopieren, die Mail öffnen, und über die Aktionen als „Nachricht bearbeiten“. Nun kann man die Namen einfügen. Und anschließend ausdrucken …

Ich koche auch nur mit Wasser, aber ich würze richtig nach.

In der Schulung zeige ich eine Funktion (INDEX). Ich zeige sie zuerst mit dem Funktionsassistenten. Der erste Parameter verlangt eine Matrix, die sich auf dem anderen Tabellenblatt befinden. Die anderen beiden Parameter befinden sich auf dem gleichen Tabellenblatt wie die Funktion – hier: D2 und E2. Kein Problem:

Anschließend zeige ich das Gleiche, indem ich die Funktion tippe. Erster Parameter: anderes Tabellenblatt. Zweiter und dritter Parameter – ich muss zurück zum ursprünglichen Tabellenblatt. Excel notiert den Namen des Tabellenblattes (hier: Tabelle2!). „Ärgerlich“ findet ein Teilnehmer. Ich gebe ihm recht …

Betrunken flirten ist nicht anders als hungrig einkaufen gehen. Du kommst mit Sachen nach Hause – die braucht kein Mensch!

Vorgestern in der Excelschulung haben wir über den Mittelwert in Pivottabellen diskutiert: Pünktchen verkauft 200 und 300 Streichholzschachteln; Anton 10, 20 und 30. Die Summe der fünf Verläufe beträgt 560, die Anzahl 5, also der Mittelwert liegt bei 112. Anton hat im Durchschnitt 20 verkauft, Pünktchen 250. Ich darf nun – um den Gesamtmittelwert zu berechnen – nicht 270 durch 2 teilen, sondern muss die Gesamtsumme (560) durch die Gesamtanzahl (5) teilen – sonst erhalte ich einen „schiefen“ Mittelwert. Excel rechnet hier korrekt; wenn etwas anderes gewünscht ist, muss man mit Hilfsspalten arbeiten.

Alles im Leben hat seinen Preis, auch Dinge, von denen man glaubt, man bekommt sie geschenkt!

In der letzten Excelschulung zeige und erkläre ich (intelligente/dynamische/formatierte) Tabellen. Ich zeige, dass beim Runterscrollen die Überschriftszeile als Spaltenkopf verwendet wird:

Eine Teilnehmerin meldet sich und zeigt mir, dass es bei ihr nicht funktioniert:

Ich habe eine Weile hinschauen müssen, um festzustellen, dass der Cursor außerhalb der Tabelle platziert wurde. Wenn man den Bereich außerhalb einer (intelligenten/dynamischen/formatierten) Tabelle herunterscrollt, werden nicht die Überschriften zu Spaltenköpfe:

Entschuldigt bitte meine Fehler, es ist mein erstes Leben .

Inga meint, dass es gefährlich ist mit VBA bedingte Formatierungen zu programmieren. Warum? Ich zeichne mit dem Makrorekorder auf – wie lautet der Befehl: „färbe die aktuelle Zelle blau, wenn in A1 das heutige Datum steht“?

Sub HeuteMachenWirBlau()
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=“=A1=HEUTE()“
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
End With
End Sub

Ich teste – klappt! Ich überlege mir: es wäre besser statt HEUTE TODAY zu schreiben; teste – klappt nicht mehr.

Das heißt: die Formeln laufen nur lokal – man müsste nun die einzelnen Sprachen unterscheiden, damit das Makro mehrsprachig funktioniert. Das ist die Hölle.

Danke an Inga Birk für den Hinweis.


Wenn jemand sagt „du kommst mir bekannt vor“, frage ich: „Entzugsklinik oder Knast?“

Gestern auf unserem Excelstammtisch hat Martin Weiß (https://www.tabellenexperte.de/) ein Referat über die Bedingte Formatierung gehalten. Er hat nicht nur erwähnt, dass in dem Dialog „Zellen formatieren“ des Managers für Regeln der bedingten Formatierung keine Registerkarte „Schutz“ vorhanden ist (mit dem man dynamisch einen Schutz ein- und ausschalten kann), auch die Schriftart ist ausgegraut – man kann also nicht verschiedene Font dynamisch wechseln:

Und schließlich – und das ist mir noch nicht aufgefallen – der Rahmendialog stellt auch nicht alle Optionen zur Verfügung:

Im Gegensatz zum Dialog „Zellen formatieren“ fehlt die Rahmenstärke:

Danke für den Hinweis, Martin.

Als Baby wirst du für ein Bäuerchen gelobt; dann perfektionierst du es jahrelang und dann bekommst du Schelte!

Hallo René,

Frage am Rande:

Den Mittelwert Teilnahme über alle Spalten Teilnahme, die >0 bekomme ich wie am schicksten? Mittelwertwenn geht nur über einen zusammenhängenden Bereich, zählenwenn auch,…

Am Ende ist die Tabelle so:

Hallo Florian,

ja, das ist richtig: ZÄHLENWENN, MITTELWERTWENN kann keine getrennten Bereiche verarbeiten. Der Grund:

Wie soll man ZÄHLENWENN(A2:A5;C2:C5;“>0“)

verstehen?

Also muss du den MITTELWERT „nachbauen“. Mittelwert ist ja Summe/Anzahl

Also beispielsweise so:

=SUMME(A2:A6;D2:D6;G2:G6)/(ZÄHLENWENN(A2:A6;“>0″)+ZÄHLENWENN(D2:D6;“>0″)+ZÄHLENWENN(G2:G6;“>0″))

die Spalten A, D und G

Oder:

{=SUMME(A2:A6;D2:D6;G2:G6)/SUMME((A2:A6>0)*1;(D2:D6>0)*1;(G2:G6>0)*1)}

als Matrixfunktion mit Umschalt+Strg+Enter beendet.

Zu Erklärung der zweiten Funktion: A2:A6>0 liefert WAHR;WAHR;FALSCH;WAHR;WAHR;WAHR

diese Wahrheitswert kann ich jedoch nicht summieren. Multipliziere ich sie mit 1, so erhalte ich

1;1;0;1;1;1

Und das kann ich summieren.

Es gibt noch weitere Ansätze.

Liebe Grüße

Rene u

Wenn ein Mann geputzt hat, lobst du ihn gefälligst, wartest bis er weg ist und machst dann sauber.

P.S.: Wenn Sie eine Idee haben, wie ich in PowerPoint eine eingebettete Excel-Tabelle (OLEObject?) ansprechen kann, so wäre ich Ihnen äußerst dankbar

Und so geht es: Mit folgendem Code können Sie auf die Tabelle zugreifen:

Dim ppApp As Application
Dim ppDatei As Presentation
Dim ppFolie As Slide
Dim ppShape As Shape
Dim ppObjekt As Object

Set ppApp = Application
Set ppDatei = ppApp.ActivePresentation
Set ppFolie = ppDatei.Slides(11)
Set ppShape = ppFolie.Shapes(3)
Set ppObjekt = ppShape.OLEFormat.Object

MsgBox ppObjekt.Sheets(1).Range("A2").Value

Ich mag Männer, die Gefühle zeigen. Wenn neben dem Bett eine Taschentuchbox steht, schauen sie sicherlich häufig traurige Liebesfilme.

Hallo Herr Martin,

Ich melde mich dieses mal mit einer generellen Frage an Sie. Im Moment nervt mich nämlich PowerPoint. Es ist schon gemein, dass es da keinen Makrorekorder gibt.
Ich schätze mal, dass auch Sie ab und zu den Makrorekorder in Excel benutzen, wenn Ihnen mal dieser und jener Befehl nicht einfällt.

Nun, in PowerPoint geht das ja leider nicht. Daher meine Frage, wie gehen Sie eigentlich vor oder wo lesen Sie nach, wenn Sie PowerPoint-Kommandos benötigen und gerade nicht wissen, wie diese lauten?

Momentan beschäftige ich mich mit einer automatisierten Berichtserstellung aus Excel heraus. Das klappt auch alles soweit ganz gut, also neue Präsi aus Vorlage erstellen, Daten aus Excel in Diagramme oder Tabellen einfügen oder auch Diagramme von Excel nach PowerPoint zu exportieren. Schwierig wird es nur dann, wenn ich z.B. Formatierungen ausschließlich in PowerPoint durchführen muss. Ich habe z.B. ewig gebraucht um dahinter zu kommen, wie ich in einer PowerPoint-Tabelle eine Zelle farblich hervorhebe (Präsi.Slides(5).Shapes(„Inhaltsplatzhalter 3“).Table.Cell(a, 1).Shape.Fill.ForeColor.RGB = RGB(255, 0, 0)). Oder einen Pfeil einfügen (ActivePresentation.Slides(1).Shapes.AddShape Type:=msoShapeBentUpArrow, Left:=50, Top:=50, Width:=100, Height:=200), mit Animationen fange ich gar nicht erst an.

Haben Sie da einen Tipp oder ein schlaues Nachschlagewerk? Jemand hat mir mal erzählt (ich glaube, es war Andreas Thehos), dass man mit dem Makrorekorder in Word hier so einiges ableiten kann, aber da bin ich irgendwie noch nicht dahinter gekommen…

Ihnen schon einmal vielen Dank und viele Grüße,

Hallo Herr Dauphin,

das Problem des fehlenden Makrorekorders kenne ich – darüberhinaus gibt es noch weitere Fallstricke:

Werfen Sie mal einen Blick auf das Kapitel „PowerPoint“ aus meinen VBA-lernen-Buch – ich habe den Aufbau erklärt.

Und: Manchmal hilft es, wenn man die Objekte „sauber“ deklariert – Intellisense hilft oft mit der Liste der Eigenschaften und Methoden.

Bei Diagrammen und Grafiken „spicke“ ich manchmal bei Excel und verwende dort den Makrorekorder … aber der Teufel steckt im Detail:

Hilft Ihnen das?

Laut Physikbuch dehnen sich alle heißen Körper aus. Also bin ich nicht dick, sondern heiß.

Guten Tag Herr Martin
Vielen Dank für Ihre ausführlichen Mitteilungen in Ihrer letzten Mail
Inzwischen steht das erste Modul (Flächenmanagement).
Allerdings sind mir dabei Probleme begegnet, die ich nicht lösen konnte.

1.) Zugriff auf den richtigen Visio Prozess.
Der Zugriff auf Visio läuft prima, solange nicht mehrere Visio-Anwendungen laufen.
Hier die entsprechenden Code-Zeilen

Public vsoApp As Visio.Application

Public Sub Set_vsoApp()
‚Prüfen ob eine Visio Application läuft
‚Wenn ja, dann die laufende App als vsoApp definieren
‚Wenn nein dann eine neue Application starten

If GetObject("winmgmts:").ExecQuery("select * from win32_process where name='VISIO.EXE'").Count > 0 Then
    Set vsoApp = GetObject(, "Visio.Application")
Else
    Set vsoApp = CreateObject("Visio.Application")
End If

End Sub

Mit diesen Zeilen gelange ich zu einer Objektvariable vsoApp, deren Dokumente ich durchlaufe und das gewünschte Dokument entweder finde oder öffne.
Wenn nun aber mehrere Applikationen laufen und das gewünschte Dokument dummerweise nicht in der ersten App läuft, so funktioniert der Code nicht mehr. Das gewünschte Dokument wird nicht gefunden und kann auch nicht ein zweites Mal geöffnet werden.

Die Frage lautet darum:
Gibt es eine Möglichkeit die ganze Auflistung
„select * from win32_process where name=’VISIO.EXE'“
zu durchlaufen und einzelnen zu durchsuchen?

#

Hallo Herr M.,

und hier meine Antworten:

1.) Es gibt verschiedene Strategien. Ich habe ein Projekt, da arbeite ich folgendermaßen:
On Error GoTo Fehler
Set vsApp = CreateObject(„Visio.Application“)
[…]
Set vsDatei = vsApp.Documents.Open(strDateiName)
[…]
vsDatei.Save
vsDatei.Close
[…]
Call VisioSchliessen(True)

Set vsDatei = Nothing
Set vsApp = Nothing
Exit Sub

Fehler:
MsgBox „Es trat ein Fehler auf:“ & vbCr & Err.Number & „: “ & Err.Description

Das heißt: ich öffne einfach die Datei. Sollte die Datei schon offen sein, wird ein Fehler erzeugt, die Sprungmarke angesprungen und die Meldung ausgegeben, dass die Datei in Benutzung ist. Der Anwender muss sie zumachen und das Programm erneut starten.

Zweite Variante: Sie greifen mit GetObject auf das bereits geöffnete Visio und auf die bereits geöffnete Datei zu. Sollte sie noch nicht geöffnet sein, wird ein Fehler erzeugt, der verarbeitet wird, indem Visio, bzw. die Datei geöffnet wird:
Dim vsApp As Object
Dim vsDatei As Object
Const PFAD As String = „D:\Eigene Dateien\Räuberhauptmann2.vsdx“

On Error Resume Next

Set vsApp = GetObject(, "Visio.Application")
If Err.Number <> 0 Then
    Err.Clear
    Set vsApp = CreateObject("Visio.Application")
End If

vsApp.Visible = True

Set vsDatei = vsApp.Documents("Räuberhauptmann2.vsdx")
If Err.Number <> 0 Then
    Err.Clear
    Set vsDatei = vsApp.Documents.Open(PFAD)
End If

MsgBox vsDatei.Name

Und zur dritten (Ihrer Lösung) – durchlaufen Sie alle Dokumente von Visio:

Dim i As Integer
Dim blnDateiOffen As Boolean
blnDateiOffen = False
For i = 1 To vsoApp.Documents.Count
    If vsoApp.Documents(i).Name = "Räuberhauptmann2.vsdx" Then
        Set vsoDatei = vsoApp.Documents(i)
        blnDateiOffen = True
    End If
Next

If blnDateiOffen = False Then
    Set vsoDatei = vsoApp.Documents.Open(PFAD)
End If

„Irren ist männlich“, sprach der Igel und stieg von der Drahtbürste

Warum macht Microsoft das nicht einheitlich?

Ich erhalte eine Mail mit der Frage, wie man in einem ACCESS-Diagramm einen Datenpunkt mit VBA formatiert.

Da Access keinen Makrorekorder hat und da ich nicht genau weiß, wie der Datenpunkt in VBA heißt und mit welchen Eigenschaften man die Farbe ändern kann, erstelle ich in Excel ein Diagramm, verwende den Makrorekorder und baue den Code ein wenig um:

Der neue Code sieht folgendermaßen aus:

Dim s As Worksheet
Dim c As ChartObject
Dim cc As Chart
Dim f As FullSeriesCollection
Dim p As Point

Set s = ActiveSheet
Set c = s.ChartObjects(1)
Set cc = c.Chart
Set f = cc.FullSeriesCollection
Set p = f(1).Points(1)

p.Format.Fill.ForeColor.RGB = RGB(255, 0, 0)

In Access empfiehlt es sich einen Verweis auf die Objektbibliothek „Microsoft Graph“ einzubinden:

Ich kopiere den Excel-VBA-Code nach Access und bin verblüfft, wie viel ich in Access ändern muss, um zu dem gleichen Ergebnis zu gelangen:

Dim rep As Report

Dim c As Graph.Chart
Dim f As Graph.SeriesCollection
Dim p As Graph.Point

Set rep = Reports(„repDiagramm“)
Set c = rep.Controls(„Diagramm1“).Object
Set f = c.SeriesCollection
Set p = f(1).Points(3)

p.Interior.Color = RGB(255, 0, 0)

Hätte man nicht die gleichen Befehle und Eigenschaften verwenden können? Hätte man sicherlich …

Home is, where WIFI is.

Dürfen die das? Ich wollte gerade in Excel mit VBA programmieren, öffne den VBA-Editor:

und bin ein bisschen verblüfft. Wo kommt denn DER Code her? Ich überlege. Stimmt: ich habe vor Kurzem das Add-In „Analyse-Funktionen“ installiert. Ich wollte etwas in einem der Assistenten nachschauen … Das hat man nun davon!

Ich bevorzuge schöne Menschen. Ihr Aussehen ist mir dabei völlig egal.

Soeben fragt mich Excel in welchem Format ich denn gerne den Standard verwenden möchte. Hä?!? – habe ich doch schon angegeben!

Ein Klick auf dem Link

https://support.office.com/de-de/article/unterschiede-zwischen-dem-opendocument-kalkulationstabellenformat-ods-und-dem-format-von-excel-f%C3%BCr-windows-xlsx-3db958c8-e0ac-49a5-9965-2c2f8afbd960

führt zum Kleingedruckten!

UFF!

Exceltage 2019

Wir fangen dort an, wo Schulungen aufhören.

Die Idee der EXCEL-TAGE entstand vor einigen Jahren: Wir unterrichten Excel und stellen in den Aufbaukursen und Workshops fest, dass entweder nicht genügend Zeit ist, um alle spannenden Themen anzuschauen oder dass leider zu oft Grundlagen erklärt werden müssen, so dass für die wichtigen, interessanten und fordernden Themen keine Zeit bleibt.
Das möchten wir ändern und bieten einen Workshop an – in diesem Jahr 2019 nun zum dritten Mal.
Wir wollen über den Tellerrand schauen, uns fortbilden und erfahren, was Microsoft mit Excel plant. Wir wollen uns vernetzen, Fragen und Probleme vorstellen und deren Lösungen aufzeigen, Ideen teilen und einfach in einem entspannten Rahmen diskutieren. PowerPivot, Business Intelligence oder Zugriffe auf externe Datenbanken sind nur einige der Schlagworte.
Excel ist auch Teil Ihres Lebens? Oder zumindest ein Werkzeug, das Sie täglich benutzen? Sie lieben Microsoft Excel? Sie kennen SVERWEIS? Pivot und Diagramme umgeben Sie jeden Tag? Sie haben sich mit Power Query und Power BI beschäftigt? Wollen mehr über Funktionen, DAX und M, Diagramme und Techniken wissen? Sie möchten Sie gerne Lösungen, Dashboards und Szenarien ansehen? Sie möchten wissen, wohin die Reise von Excel geht?

Sie sind:

  • Aus dem Bereich Banken, Controlling, Technik, Buchhaltung, Versicherung, Qualitätsmanagement, Support, Vertrieb, Statistik, … oder interessieren sich einfach für Excel?
  • Versierter Excel-Trainer, Excel-User, Excel-Liebhaber, Excel-Fan?
  • Tüftler, Bastler, Knobler, Denker?
  • Interessieren Sie sich für Fragestellungen rund um Ihre Firmendaten, Revisionssicherheit, Business Intelligence – überhaupt Sicherheitsfragen rund um Excel?

Dann sind Sie bei unseren EXCEL-TAGEN genau richtig.

EXCEL-TAGE 2019
♦ vom Freitag, 18. bis Samstag 19. Oktober 2019
♦ Im Hotel Eurostars Grand Central
♦ Arnulfstrasse 35 ::: 80636 München

Interessiert? Weitere Informationen finden Sie auf unserer Seite
www.exceltage.de



Ich bin ein Mann. Ich kann Sachen schon vergessen, während meine Frau sie noch spricht.

Gestern in der Excelschulung kam die Frage, ob man bedingte Formatierungen mit Formeln global in Excel abspeichern kann. So wie man Ansichten speichern kann. Oder Formatvorlagen.

Eine schöne Frage. Da bedingte Formatierungen in einer Datei ihre Anwendung finden, kann man sie nur an eine Vorlage binden. Oder über ein Add-In per Makro erzeugen. Aber nicht global an Excel. Schade – eigentlich.

Ehefrauen sind verpflichtet zu kochen. Denn laut Genfer Konvention steht jedem Gefangenen eine warme Mahlzeit pro Tag zu.

Gestern in der Excel-Schulung. Ich frage, wie man einen Kommentar erstellt.

Nein – im Kontextmenü befindet sich der Eintrag nicht mehr:

Ein Teilnehmer meldet sich und antwortet: „Einfügen / Kommentar“. Ich wollte zuerst abstreiten, dann habe ich nachgeschaut:

Tatsächlich – ziemlich weit rechts – neben den Links befindet sich der Kommentar. Hum.

Allerdings habe ich dann festgestellt, dass dies nicht der „alte“ Kommentar ist, der jetzt Notiz heißt, sondern der neue:

Verwirrend! Übrigens: auf meinem Rechner befindet sich in der Registerkarte „Einfügen“ das Kommentar-Symbol in Excel in Office 365 Version 1905; Build 11629.20214

Je mehr du wiegst umso schwerer kannst du entführt werden. Schütz dich und esse Kuchen!

Heute fragte ein Teilnehmer in der Excelschulung, ob man eine Filterung „umkehren“ kann. Also das Komplement anzeigen kann.

Gute Frage – ich wüsste keine einfache Antwort. Hilfsspalte?!? Spezialfilter?!?

In Power Query und M ist dies kein Problem:

„Filtered Rows“ = Table.SelectRows(#“Changed Type“, each [#“Kategorie-Nr“] <> 2 and [#“Kategorie-Nr“] <> 4 and [#“Kategorie-Nr“] <> 6 and [#“Kategorie-Nr“] <> 8)

Am Rausch ist nicht der Wein schuld, sondern der Trinker.

Warum sagt mir das keiner?

Man muss schon ziemlich probieren, wenn man in Excel mit „Karten“ arbeiten möchte. Auf der Seite

https://github.com/TrustChainEG/postal-codes-json-xml-csv

finde ich sämtliche deutsche Postleitzahlen.

Ich versuche eine Karte aufzusetzen und scheitere. Ich lerne:

  • Die Überschrift der Postleitzahlen MUSS „Postleitzahl“ heißen.
  • Excel benötigt den Ländernamen
  • Wenn ich Werte auf der Karte darstellen möchte, müssen die Werte direkt neben den PLZ stehen.

Und dann klappt es auch (warum hat mir das niemand vorher gesagt?) – ein Zufallswert zwischen 1 und 10 und schon wird die Deutschlandkarte dargestellt.

Oder mit einem anderen Hintergrund:

Vitamine sind gesund, aber Kalorien schmecken besser!

Ich glaube, da muss Microsoft nochmal ran.

In der letzten Excelschulung haben wir uns die „Karten“ (Registerkarte „Einfügen“ angeschaut. Ich schreibe drei Ländernamen (Deutschland, Frankreich, Spanien) in eine Tabelle, versehe sie mit Werten und setze ein Diagramm auf. Klappt hervorragend.

Ich füge „Italien“ hinzu – es wird nicht erkannt?!?

„Tschechien“ auch nicht – hier wird sogar auf die Weltkarte umgeschaltet – immerhin: Tschechien wird erkannt!

Ändert man den Ländernamen in „Tschechische Republik“ wird der Ausschnitt auf Europa reduziert – das Land jedoch wird noch immer nicht erkannt.

Fragen über Fragen …

PS: unsere Freunde aus Österreich, der Schweiz, den Niederlande, Belgien, Polen, … haben nichts zu befürchten – sie werden korrekt „erkannt“.

1 2 3 7