Einmal wie ein kleines Kind auf den Boden werfen und ganz laut losbrüllen. Scheitert heutzutage daran, dass man nicht wieder hochkommt!

Excelstammtisch. Wir diskutieren ChatGPT und copilot. Ich zeige, dass die Lösungen manchmal nicht korrekt sind.

Problem: ich möchte mit VBA ermitteln, ob in einer Zelle eine Datenprüfung liegt. ChatGPT antwortet mir:

Sub CheckDataValidation()
    Dim rng As Range
    Dim validationType As XlDVType
    
    ' Definiere die Zelle, die du überprüfen möchtest
    Set rng = Worksheets("DeinBlatt").Range("A1")
    
    ' Überprüfe, ob die Zelle eine Datenprüfung hat
    If rng.Validation.Type <> xlValidateNone Then
        ' Erhalte den Typ der Datenprüfung
        validationType = rng.Validation.Type
        
        ' Zeige den Typ der Datenprüfung in der Konsole an (kann angepasst werden)
        MsgBox "Die Zelle hat eine Datenprüfung vom Typ: " & validationType
    Else
        ' Wenn keine Datenprüfung vorliegt
        MsgBox "Die Zelle hat keine Datenprüfung."
    End If
End Sub

Ich teste:

Ich beschwere mich:

ChatGPT schlägt

xlValidateCustom 

vor. Das Ergebnis, wenn keine Datenprüfung in der Zelle vorhanden ist:

Ich frage copilot. Die Antwort:

If Not Cells(1, 1).Validation Is Nothing Then
    MsgBox "Die Zelle hat eine Datenüberprüfung."
Else
    MsgBox "Die Zelle hat keine Datenüberprüfung."
End If

Das Ergebnis:

Das Makro meldet immer, dass die Zelle eine Datenüberprüfung hat.

Sämtliche Antworten sind falsch oder fehlerhaft.

Alexander lässt nicht locker. Er findet nach mehreren Versuchen eine Lösung bei ChatGPT:

Sub CheckNoDataValidationCriteria2()
    Dim targetCell As Range
    Set targetCell = Selection ' Hier die Zelle angeben, die du überprüfen möchtest
    
    ' Überprüfen, ob die Zelle eine Datenprüfung hat
    If Not targetCell.Validation Is Nothing Then
        ' Überprüfen, ob spezifische Kriterien festgelegt wurden
        Dim validationFormula As String
        On Error Resume Next
        validationFormula = targetCell.Validation.Formula1
        On Error GoTo 0

        If validationFormula = "" Then
            MsgBox "Die Zelle hat keine spezifischen Datenprüfungskriterien (jeder Wert ist zugelassen)."
        Else
            ' Kriterien in Zelle D1 schreiben
            Range("B2").Value = "Datenprüfungskriterien: " & validationFormula
            MsgBox "Die Zelle hat Datenprüfung mit spezifischen Kriterien. Die Kriterien wurden in Zelle D1 geschrieben."
        End If
    Else
        ' Wenn keine Datenprüfung vorhanden ist, Zelle D1 löschen
        Range("B2").ClearContents
        MsgBox "Die Zelle hat keine Datenprüfung."
    End If
End Sub

Sie funktioniert: für Zellen mit und für ohne Datenüberprüfung:

Die Lösung funktioniert; der Denkansatz ist jedoch nicht korrekt:

Der Befehl

On Error Resume Next

übergeht den Fehler. Die Zeile

validationFormula = targetCell.Validation.Formula1

kann ausgeführt werden oder nicht. Würde sie einen Fehler liefern (also keine Datenüberprüfung ist vorhanden), wird sie übergangen und validationFormula bleibt leer („“). Ich hätte es mit err.number überprüft.

Aber okay – ich gebe zu: man kann mit ChatGPT / copilot eine funktionierende Lösung finden. Wenn man beharrlich ist.

Danke an Alexander Vogelmann für seine Beharrlichkeit.

Ich wurde gerade in einer Verkehrskontrolle nach Restalkohol gefragt. Dierse entwürdigende Bettelei nimmt langsam beschämende Züge an.

ChatGPT irritiert schon sehr. Haben Sie es schon ausprobiert. Hier einige Stilblüten. Ich will wissen

Wie kann ich mit VBA überprüfen, ob eine Zelle eine Datenüberprüfung besitzt?

Die Antwort:

Sie können in VBA überprüfen, ob eine Zelle eine Datenüberprüfung besitzt, indem Sie folgenden Befehl verwenden:

If Range(„A1“).Validation.Type <> 0 Then
‚ Code ausführen, wenn die Zelle eine Datenüberprüfung hat
End If

In diesem Beispiel wird die Eigenschaft „Validation.Type“ verwendet, um zu überprüfen, ob die Zelle „A1“ eine Datenüberprüfung besitzt. Wenn die Überprüfung vorhanden ist, wird die Eigenschaft „Validation.Type“ ungleich 0 sein, und der Code innerhalb der If-Abfrage wird ausgeführt.

Nein, liebes ChatGPT, das ist falsch.

Wenn auf einer Zelle keine Datenüberprüfung liegt, liefert Range(„A1“).Validation.Type einen Fehler. Diesen kann man abfangen (On Error Resume Next) und dann den Wert der Err-Variable ermitteln.

Würde jemand dein Beispiel ausprobieren, wäre er oder sie frustriert und verärgert, weil es einen Fehler liefert.

Auch folgende Antwort erstaunt:

Gib mir fünf Lösungen, um die Summe der Zahlen in Spalte F zu berechnen

Hier sind fünf Lösungen, um die Summe der Zahlen in Spalte F in Microsoft Excel zu berechnen:

Verwenden Sie die SUM-Funktion:

=SUM(F1:F10)

Verwenden Sie die AutoSum-Funktion:
Klicken Sie auf die Zelle unter der letzten Zelle in Spalte F und drücken Sie die Tastenkombination "Strg + Alt +".

Verwenden Sie die Formel SUMME:

=SUMME(F1:F10)

Verwenden Sie die SUM-Formel mit einer festen Zellenbereichsadresse:

=SUM(F1,F2,F3,F4,F5,F6,F7,F8,F9,F10)

Verwenden Sie die SUM-Formel mit einer bedingten Formatierung:
Wählen Sie die Zellen in Spalte F aus und verwenden Sie die Funktion "Bedingte Formatierung". Wählen Sie dann die Option "Formel" und geben Sie "=ISTZAHL(F1:F10)" ein. Die Zellen, die Zahlen enthalten, werden automatisch markiert. Verwenden Sie dann die SUM-Formel und beschränken Sie die Zellenbereichsadresse auf die markierten Zellen.

=SUM(F1:F10)

Hinweis: In diesen Beispielen wird davon ausgegangen, dass die Daten in Spalte F in den Zellen F1 bis F10 enthalten sind. Stellen Sie sicher, dass Sie die Zellenadressen entsprechend anpassen, wenn Ihre Daten anders angeordnet sind.

Okay – das sind fünf Antworten (auch wenn die automatische Nummerierung versagt), aber sehr ähnliche. Ich hatte auf TEILERGEBNIS, AGGREGAT, … gehofft. Tja …

Und: einmal SUM, einmal SUMME zu schreiben sind eigentlich keine zwei Lösungen. Schließlich: liebes ChatGPT – bitte verwende doch Semikolon als Trennzeichen.

Vielleicht sollte ich die Antwort regenerieren lassen.

Von Bodenfrost spricht man dann, wenn beim Hochheben des Dackels noch eine Gehwegplatte mit dranhängt.

Kennt ihr ChatGPT? Auf wikipedia ist zu lesen:

ist der Prototyp eines Chatbots, also eines textbasierten Dialogsystems als Benutzerschnittstelle, der auf maschinellem Lernen beruht. Den Chatbot entwickelte das US-amerikanische Unternehmen OpenAI, das ihn im November 2022 veröffentlichte.

Und weiter:

Der Chatbot wurde mithilfe zweier Arten des sogenannten bestärkenden Lernens trainiert: RLHF (Reinforcement Learning from Human Feedback) und PPO (Proximal Policy Optimization[4][5]). Er nutzt zur Textein- und -ausgabe das Sprachmodell GPT-3.5 (GPT steht für Generative Pre-trained Transformer), eine verbesserte Version von GPT-3, die ebenfalls von OpenAI stammt. GPT basiert auf Transformern, ein von Google Brain vorgestelltes Maschinenlernmodell.

Klingt spannend. Ich melde mich an – das ist kostenlos.

Ich probiere aus – die Seite soll ja sehr gut Antworten zu Excel liefern – auf Englisch und auf Deutsch. Erster Versuch:

How to use xlookup in Excel?

Die Antwort:

XLOOKUP is a function in Microsoft Excel that allows you to search for a value in a table and return a corresponding value from a specified column. The syntax for XLOOKUP is:

=XLOOKUP(lookup_value, lookup_array, return_array, [default_value])

lookup_value: The value you want to search for in the lookup_array.
lookup_array: The range of cells that contains the data you want to search.
return_array: The range of cells that contains the data you want to return.
default_value: The value to be returned if the function does not find a match (optional).

For example, if you have a table of data in columns A and B, with the names in column A and the corresponding ages in column B, you can use XLOOKUP to find the age of a specific person by using the following formula:

=XLOOKUP(„John“, A1:A5, B1:B5)

This will search for „John“ in column A, and return the corresponding value in column B.

Note: XLOOKUP function is available starting with Excel version 365, if you are working with an older version of Excel you may consider using INDEX and MATCH function or VLOOKUP.
rene.martin@compurem.de
how can I find an information in Column A in Excel with VBA?

Ich versuche es auf Deutsch:

Erkläre mit, was XVERWEIS in Excel macht

Die Antwort:

„XVERWEIS“ ist eine Funktion in Microsoft Excel, die eine Verweisoperation durchführt. Es ermöglicht es Ihnen, Werte aus einem anderen Tabellenbereich oder einer anderen Arbeitsmappe zu suchen und in Ihre aktuelle Tabelle einzufügen. Die Syntax von XVERWEIS lautet wie folgt: XVERWEIS(Suchkriterium, Bereich, [Spalte], [exakt]). „Suchkriterium“ ist der Wert, nach dem Sie suchen möchten. „Bereich“ ist der Bereich, in dem Sie suchen möchten. „Spalte“ ist optional und gibt an, in welcher Spalte Sie suchen möchten. „Exakt“ ist auch optional und legt fest, ob eine exakte Übereinstimmung gefunden werden soll oder nicht.

Ich reibe verwundert die Augen. Ich frage nach XVERWEIS und erhalte eine Erklärung zum SVERWEIS. Nein, liebes ChatGPT – DA musst du noch einmal ran!