A kapcsolt adattípusok felismerése más funkciókkal

A kapcsolt adattípusok először a 2018-ban jelentek Microsoft 365 Excel meg az-ben, és a többi funkció nem tudja megállapítani őket. Ez különösen igaz lehet, ha más funkciókkal szeretné feltételesen megállapítani, hogy egy cella tartalmaz-e kapcsolt adattípust. Ez a cikk ismerteti azokat a kerülő megoldásokat, amelyekkel meghatározhatja a cellákban lévő kapcsolt adattípusokat.

Megjegyzés: A kapcsolt adattípusok csak az egész világon elérhetők világszerte több bérlős ügyfélnek (standard Microsoft 365 fiók).

Képletek

Az adattípusokra hivatkozó képletek mindig írhatók. Ha azonban egy olyan cella szövegét szeretné kinyerni, amely a szöveg függvénnyel egy kapcsolt adattípust használ, akkor #VALUE! adni.

Kerülő megoldásként használja a mezőérték függvényt, és adja meg a FIELD_NAME argumentum név mezőjét. Az alábbi példában, ha az a1 cella készlet adattípusú, akkor a képlet az állomány nevét adja vissza.

= MEZŐÉRTÉK (a1; "név")

Ha azonban az a1 cella nem tartalmaz kapcsolt adattípust, akkor a MEZŐÉRTÉK függvény #FIELD! hibát ad vissza.. Ha meg szeretné állapítani, hogy egy cella tartalmaz-e kapcsolt adattípust, akkor a következő képletet használhatja, amely a hibás függvény segítségével teszteli a hibát, ha a MEZŐÉRTÉK függvény hibát ad vissza.

= Ha (hibás (MEZŐÉRTÉK (a2; "név")), "Ez a cella nem tartalmaz kapcsolt adattípust", "Ez a cella egy kapcsolt adattípusú")

Ha a képlet hibát ad vissza, akkor a következőhöz hasonló szöveg jelenik meg: "ennek a cellának nincs kapcsolt adattípusa", ellenkező esetben a "Ez a cella egy kapcsolt adattípusú" értéket ad vissza.

Ha egyszerűen le szeretné tiltani a #FIELDt! hiba, a következőt használhatja:

= HAHIBA (MEZŐÉRTÉK (a1; "név"); "")

A hiba esetén üres cellát ad vissza.

Feltételes formázás

Feltételesen formázhatja a cellákat attól függően, hogy rendelkezik-e kapcsolt adattípussal. Először jelölje ki azokat a cellákat, amelyekhez a feltételes formázás szükséges, majd válassza a kezdőlap > feltételes formázás > új szabály > képlet használata lehetőséget. A képlet esetében a következőt kell használnia:

= NOT (hibás (MEZŐÉRTÉK (a1; "név")))

Ahol az a1 cella a kiértékelni kívánt intervallum legfelső cellája. Ezután alkalmazza a kívánt formátumot.

Ebben a példában, ha az a1 cella érvényes mezőnevet tartalmaz a "név" értékre, akkor a képlet eredménye igaz, és a program alkalmazza a formázást. Ha az a1 cella nem tartalmaz kapcsolt adattípust, akkor a képlet FALSE értéket ad, és a program nem alkalmazza a formázást. Ha nem szeretné, hogy kiemelje az érvényes csatolású adattípusokat tartalmazó cellákat, távolítsa el a nem lehetőséget.

VBA

Több VBA-(Visual Basic for Applications) módszer használható annak meghatározására, hogy egy cella vagy tartomány tartalmaz-e kapcsolt adattípusokat. Ez az első eljárás a HasRichDataType tulajdonságothasználja. 

Mindkét eljárással rákérdez, hogy kijelöli-e a kiértékelni kívánt cellatartományt, majd a találatokat tartalmazó üzenetpanel visszaadása.

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

Ez a következő eljárás a LinkedDataTypeState tulajdonságothasználja.

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

Ez a végső kódrészlet egy felhasználó által definiált függvény (UDF), és csak a többi Excel-képlethez hasonlóan hivatkozik. Egyszerűen írja be az =fn_IsLinkedDataType (a1)képletet, ahol az a1 a kiértékelni kívánt cella.

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

Ha használni szeretné ezeket a példákat, az ALT + F11 billentyűkombinációt lenyomva nyissa meg a Visual Basic Editort (VBE), majd kattintson a Beszúrás> modulelemre, és illessze be a kódot a jobb oldalon megnyíló új ablakba. Ha elkészült, az ALT + Q billentyűkombinációt lenyomva léphet vissza az Excelbe. Ha az első két példát szeretné futtatni, lépjen a Fejlesztőeszközök lapra> kódot> makrók> jelölje ki a listából a futtatni kívánt makrót, és válassza a Futtatásparancsot.

További segítségre van szüksége?

Bármikor segítséget kérhet az Excel technikai közösségétől és az Answers-közösségtől, az Excel User Voice webhelyen pedig új funkciókra vagy fejlesztésekre tehet javaslatot.

Megjegyzés:  Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Hasznos volt ez az információ az Ön számára? Itt találja az eredeti angol nyelvű cikket.

További segítségre van szüksége?

Office-jártasság bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×