Μετάβαση στο κύριο περιεχόμενο
Υποστήριξη
Είσοδος με Microsoft
Είσοδος ή δημιουργία λογαριασμού.
Γεια σας,
Επιλέξτε διαφορετικό λογαριασμό.
Έχετε πολλούς λογαριασμούς
Επιλέξτε τον λογαριασμό με τον οποίο θέλετε να εισέλθετε.

Οι συνδεδεμένοι τύποι δεδομένων κυκλοφόρησαν Excel για Microsoft 365 τον Ιούνιο του 2018 και, ως εκ τούτου, άλλες δυνατότητες ενδέχεται να μην μπορούν να τους προσδιορίσουν. Αυτό μπορεί να ισχύει ιδιαίτερα όταν θέλετε να χρησιμοποιήσετε άλλες δυνατότητες για να προσδιορίσετε υπό όρους εάν ένα κελί περιέχει έναν συνδεδεμένο τύπο δεδομένων ή όχι. Αυτό το άρθρο εξηγεί ορισμένες λύσεις που μπορείτε να χρησιμοποιήσετε για να προσδιορίσετε συνδεδεμένους τύπους δεδομένων σε κελιά.

Σημείωση: Οι συνδεδεμένοι τύποι δεδομένων είναι διαθέσιμοι μόνο σε προγράμματα-πελάτες πολλών μισθωτών σε όλο τον κόσμο (τυπικοί Microsoft 365 λογαριασμών).

Τύποι

Μπορείτε πάντα να γράψετε τύπους που αναφέρονται σε τύπους δεδομένων. Ωστόσο, εάν θέλετε να εξαγάγετε το κείμενο ενός κελιού με έναν συνδεδεμένο τύπο δεδομένων χρησιμοποιώντας τη συνάρτηση TEXT, θα λάβετε μια #VALUE! .

Μια λύση είναι να χρησιμοποιήσετε τη συνάρτηση FIELDVALUE και να καθορίσετε το πεδίο "Όνομα"για field_name όρισμα. Στο παρακάτω παράδειγμα, εάν το κελί A1 περιείχε έναν τύπο δεδομένων μετοχών, τότε ο τύπος θα επέστρεφε το όνομα του αποθέματος.

=FIELDVALUE(A1;"Όνομα")

Ωστόσο, εάν το κελί A1 δεν περιέχει συνδεδεμένο τύπο δεδομένων, τότε η συνάρτηση FIELDVALUE θα επιστρέψει ένα σφάλμα #FIELD!. Εάν θέλετε να υπολογίσετε εάν ένα κελί περιέχει ή όχι έναν συνδεδεμένο τύπο δεδομένων, μπορείτε να χρησιμοποιήσετε τον παρακάτω τύπο, ο οποίος χρησιμοποιεί τη συνάρτηση ISERROR για να ελέγξετε εάν η συνάρτηση FIELDVALUE θα επιστρέψει σφάλμα.

=IF(ISERROR(FIELDVALUE(A2;"Όνομα");"Αυτό το κελί δεν έχει συνδεδεμένο τύπο δεδομένων","Αυτό το κελί έχει έναν συνδεδεμένο τύπο δεδομένων")

Εάν ο τύπος υπολογιστεί ως σφάλμα, τότε θα επιστρέψει το κείμενο "Αυτό το κελί δεν έχει συνδεδεμένο τύπο δεδομένων", διαφορετικά, θα επιστρέψει "Αυτό το κελί έχει έναν συνδεδεμένο τύπο δεδομένων".

Εάν θέλετε απλώς να αποκρύψετε το #FIELD! μπορείτε να χρησιμοποιήσετε:

=IFERROR(FIELDVALUE(A1;"Name"),"")

Το οποίο θα επιστρέψει ένα κενό κελί εάν υπάρχει σφάλμα.

Μορφοποίηση υπό όρους

Μπορείτε να μορφοποιήσετε ένα κελί υπό όρους με βάση το εάν έχει ή όχι έναν συνδεδεμένο τύπο δεδομένων. Θα πρέπει πρώτα να επιλέξετε τα κελιά που χρειάζονται τη μορφοποίηση υπό όρους και, στη συνέχεια, να μεταβείτε στην Κεντρική > μορφοποίηση υπό όρους > δημιουργία κανόνα > Χρησιμοποιήστε έναν τύπο... Για τον τύπο, θα χρησιμοποιήσετε τα εξής:

=NOT(ISERROR(FIELDVALUE(A1;"Όνομα")))

Όπου το κελί A1 είναι το επάνω κελί της περιοχής που θέλετε να αξιολογήσετε. Στη συνέχεια, εφαρμόστε τη μορφή που θέλετε.

Σε αυτό το παράδειγμα, εάν το κελί A1 περιέχει ένα έγκυρο όνομα πεδίου για "Όνομα", τότε ο τύπος επιστρέφει TRUE και θα εφαρμοστεί μορφοποίηση. Εάν το κελί A1 δεν περιέχει συνδεδεμένο τύπο δεδομένων, τότε ο τύπος επιστρέφει FALSE και δεν θα εφαρμοστεί μορφοποίηση. Μπορείτε να καταργήσετε το NOT εάν θέλετε να επισημάνετε τυχόν κελιά που δεν περιέχουν έγκυρους συνδεδεμένους τύπους δεδομένων.

VBA

Υπάρχουν διάφορες μέθοδοι VBA (Visual Basic for Applications) που μπορείτε να χρησιμοποιήσετε για να προσδιορίσετε εάν ένα κελί ή μια περιοχή περιέχει συνδεδεμένους τύπους δεδομένων. Αυτή η πρώτη διαδικασία χρησιμοποιεί την ιδιότητα HasRichDataType. 

Και οι δύο αυτές διαδικασίες θα σας ζητήσει να επιλέξετε μια περιοχή κελιών για αξιολόγηση και, στη συνέχεια, να επιστρέψετε ένα πλαίσιο μηνύματος με τα αποτελέσματα.

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

Αυτή η επόμενη διαδικασία χρησιμοποιεί την ιδιότητα LinkedDataTypeState.

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

Αυτό το τελικό τμήμα κώδικα είναι μια συνάρτηση που ορίζεται από το χρήστη (UDF) και το κάνετε αναφορά ακριβώς όπως Excel τύπο. Απλώς πληκτρολογήστε =fn_IsLinkedDataType(A1),όπου A1 είναι το κελί που θέλετε να αξιολογήσετε.

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

Για να χρησιμοποιήσετε οποιοδήποτε από αυτά τα παραδείγματα, πατήστε το συνδυασμό πλήκτρων Alt+F11 για να ανοίξετε το πρόγραμμα επεξεργασίας του Visual Basic (VBE) και, στη συνέχεια,μεταβείτε στην επιλογή "Εισαγωγή λειτουργικής μονάδας>" και επικολλήστε τον κώδικα στο νέο παράθυρο που ανοίγει στα δεξιά. Μπορείτε να χρησιμοποιήσετε το συνδυασμό πλήκτρων Alt+Q για να κάνετε έξοδο Excel όταν τελειώσετε. Για να εκτελέσετε ένα από τα δύο πρώτα παραδείγματα, μεταβείτε στην καρτέλα "Προγραμματιστής" >"Κώδικας> Μακροεντολές"> επιλέξτε τη μακροεντολή που θέλετε να εκτελέσετε από τη λίστα και, στη συνέχεια, επιλέξτε "Εκτέλεση".

Χρειάζεστε περισσότερη βοήθεια;

Μπορείτε ανά πάσα στιγμή να ρωτήσετε έναν ειδικό στην Κοινότητα τεχνικής υποστήριξης του Excel ή να λάβετε υποστήριξη στις Κοινότητες.

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.

Σας βοήθησαν αυτές οι πληροφορίες;

Πόσο ικανοποιημένοι είστε με τη γλωσσική ποιότητα;
Τι επηρέασε την εμπειρία σας;
Πατώντας "Υποβολή" τα σχόλια σας θα χρησιμοποιηθούν για τη βελτίωση των προϊόντων και των υπηρεσιών της Microsoft. Ο διαχειριστής IT θα έχει τη δυνατότητα να συλλέξει αυτά τα δεδομένα. Δήλωση προστασίας προσωπικών δεδομένων.

Σας ευχαριστούμε για τα σχόλιά σας!

×