Μετάβαση στο κύριο περιεχόμενο
Office

Χρήση άλλων δυνατοτήτων για τον προσδιορισμό συνδεδεμένων τύπων δεδομένων

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

Τύποι

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

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

= FIELDVALUE (a1; "όνομα")

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

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

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

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

= IFERROR (FIELDVALUE (a1; "όνομα"); "")

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

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

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

= NOT (ISERROR (FIELDVALUE (a1; "όνομα")))

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

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

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, να λάβετε υποστήριξη από την κοινότητα Answers ή να προτείνετε μια νέα δυνατότητα ή βελτίωση στο Excel User Voice.

Αναπτύξτε τις δεξιότητές σας στο Office
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

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

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

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×