Verwenden anderer Features zum Identifizieren verknüpfter Datentypen

Verknüpfte Datentypen wurden inExcel für Office 365 im Juni 2018 veröffentlicht, und als solche sind andere Features möglicherweise nicht in der Lage, Sie zu identifizieren. Dies kann besonders wahr sein, wenn Sie andere Features verwenden möchten, um bedingt zu ermitteln, ob eine Zelle einen verknüpften Datentyp enthält. In diesem Artikel werden einige Problemumgehungen erläutert, die Sie zum Identifizieren verknüpfter Datentypen in Zellen verwenden können.

Formeln

Sie können immer Formeln schreiben, die auf Datentypen verweisen. Wenn Sie jedoch den Text einer Zelle mit einem verknüpften Datentyp extrahieren möchten, indem Sie die Text-Funktion verwenden, erhalten Sie eine #Value! Wenn die von Ihnen angegebene Position vor dem ersten oder nach dem letzten Element im Feld liegt, führt die Formel zu einem Fehler des Typs #BEZUG!.

Eine Problemumgehung besteht darin, die Funktion Feldwert zu verwenden und das Feld Name für das Argument FIELD_NAME anzugeben. Wenn in Zelle a1 im folgenden Beispiel ein Aktien Datentyp enthalten ist, gibt die Formel den Namen der Aktie zurück.

= Feldwert (a1; "Name")

Wenn Zelle a1 jedoch keinen verknüpften Datentyp enthält, gibt die Funktion Feldwert einen #Field!-Fehler zurück.. Wenn Sie auswerten möchten, ob eine Zelle einen verknüpften Datentyp enthält, können Sie die folgende Formel verwenden, die die IsError-Funktion verwendet, um zu testen, ob die Feldwert-Funktion einen Fehler zurückgibt.

= Wenn (IsError (Feldwert (a2; "Name")), "diese Zelle hat keinen verknüpften Datentyp", "diese Zelle hat einen verknüpften Datentyp")

Wenn die Formel zu einem Fehler ausgewertet wird, wird der Text "diese Zelle hat keinen verknüpften Datentyp" zurückgegeben, andernfalls wird "diese Zelle hat einen verknüpften Datentyp" zurückgegeben.

Wenn Sie die #Field einfach unterdrücken möchten! Fehler:

= WENNFEHLER (Feldwert (a1; "Name"); "")

Dadurch wird eine leere Zelle zurückgegeben, wenn ein Fehler aufgetreten ist.

Bedingte Formatierung

Sie können eine Zelle bedingt formatieren , je nachdem, ob Sie einen verknüpften Datentyp aufweist. Wählen Sie zuerst die Zellen aus, die die bedingte Formatierung benötigen, und wechseln Sie dann zu Start #a0 bedingte Formatierung #a1 neue Regel , #a2 eine Formel verwenden. Für die Formel verwenden Sie Folgendes:

= Not (IsError (Feldwert (a1; "Name")))

Dabei ist Zelle a1 die oberste Zelle in dem Bereich, den Sie auswerten möchten. Wenden Sie dann das gewünschte Format an.

Wenn in diesem Beispiel Zelle a1 einen gültigen Feldnamen für "Name" enthält, gibt die Formel "true" zurück, und die Formatierung wird angewendet. Wenn Zelle a1 keinen verknüpften Datentyp enthält, gibt die Formel false zurück, und es wird keine Formatierung angewendet. Sie können die Option nicht verwenden, wenn Sie alle Zellen, die keine gültigen verknüpften Datentypen enthalten, markieren möchten.

VBA

Es gibt mehrere VBA-Methoden (Visual Basic für Applikationen), die Sie verwenden können, um zu ermitteln, ob eine Zelle oder ein Bereich verknüpfte Datentypen enthält. In diesem ersten Verfahren wird die HasRichDataType-Eigenschaftverwendet. 

Bei beiden Verfahren werden Sie aufgefordert, einen Zellbereich auszuwählen, der ausgewertet werden soll, und dann ein Meldungsfeld mit den Ergebnissen zurückzugeben.

Sub IsLinkedDataType()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
      '    Check if the HasRichDataType is TRUE or FALSE
        If c.HasRichDataType = True Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c

    MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"
    
End Sub

In diesem nächsten Verfahren wird die LinkedDataTypeState-Eigenschaftverwendet.

Sub IsLinkedDataTypeState()
    Dim c As Range
    Dim rng As Range
    Dim strResults As String
    
    Set rng = Application.InputBox("Select a range to check for linked data types", Type:=8)
    
    For Each c In rng
   '    Check if the LinkedDataTypeState is 1 (TRUE) or 0 (FALSE)
        If c.LinkedDataTypeState = 1 Then
        '   The cell holds a linked data type
            strResults = strResults & c.Text & " - Linked data type" & vbCrLf
        Else
            strResults = strResults & c.Text & " - Not a linked data type" & vbCrLf
        End If
    Next c
    
   MsgBox "Your range contains the following details" & vbCrLf & vbCrLf & strResults, vbInformation + vbOKOnly, "Results"

End Sub

Bei diesem letzten Codeausschnitt handelt es sich um eine benutzerdefinierte Funktion (UDF), auf die Sie wie jede andere Excel-Formel verweisen. Geben Sie einfach =fn_IsLinkedDataType (a1)ein, wobei a1 die Zelle ist, die Sie auswerten möchten.

Public Function fn_IsLinkedDataType(c As Range)
'   Function will return TRUE if a referenced cell contains a linked data type
    If c.HasRichDataType = True Then
      fn_IsLinkedDataType = "Linked data type"
    Else
        fn_IsLinkedDataType = "Not a linked data type"
    End If
End Function

Wenn Sie eines dieser Beispiele verwenden möchten, drücken Sie ALT + F11 , um den Visual Basic-Editor zu öffnen, und wechseln Sie dann zu> ModulEinfügen , und fügen Sie den Code in das neue Fenster ein, das rechts geöffnet wird. Wenn Sie fertig sind, können Sie alt + Q verwenden, um zu Excel zurückzukehren. Wenn Sie eines der beiden ersten Beispiele ausführen möchten, wechseln Sie zur Registerkarte Entwicklertools> Code> Makros> wählen Sie das auszuführende Makro in der Liste aus, und wählen Sie dann Ausführenaus.

Benötigen Sie weitere Hilfe?

Sie können jederzeit einen Experten in der Excel Tech Community fragen, Unterstützung in der Answers Community erhalten oder aber ein neues Feature oder eine Verbesserung auf Excel User Voice vorschlagen.

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Office Insider werden

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×