Bağlantılı veri türleri ilk kez Microsoft 365 için Excel Haziran 2018'de yayınlandı ve bu nedenle diğer özellikler bunları tanımyamaz. Bu durum, özellikle diğer özellikleri kullanarak hücrenin bağlantılı veri türü içerdiğini veya içerdiğini koşullu olarak tanımlamak istediğiniz zaman geçerli olabilir. Bu makalede, hücrelerde bağlantılı veri türlerini tanımlamak için kullanabileceğiniz bazı geçici çözümler açıklanmıştır.
Not: Bağlantılı veri türleri yalnızca Dünya Çapında Çok Kiracılı istemciler (standart kiracı hesapları) Microsoft 365 kullanılabilir.
Formüller
Veri türlerine başvurulan formüller her zaman yazabilirsiniz. Bununla birlikte, METNE GÖRE işlevini kullanarak bağlantılı veri türüne sahip bir hücrenin metnini ayıklamak istediğiniz zaman, bir veri #VALUE! hatası verir.
Geçici bir çözüm olarak FIELDVALUE işlevini kullanabilir ve varsayılan bağımsız değişkeninAd field_name belirtebilirsiniz. Aşağıdaki örnekte, A1 hücresi bir hisse senedi veri türü içeriyorsa, formül hisse senedi adını geri dönecektir.
=FIELDVALUE(A1,"Ad")
Bununla birlikte, A1 hücresi bağlantılı bir veri türü içeriyorsa FIELDVALUE işlevi #FIELD! hatası. Bir hücrenin bağlantılı veri türü içerdiğini veya içerdiğini değerlendirmek istemiyorsanız, AŞAĞıDAKI formülü kullanabilirsiniz. Bu formülde, FIELDVALUE işlevinin hata dönüp dönülmeyeğer olup olmadığını test etmek için ISERROR işlevi kullanılır.
=EĞER(EHATALISA(FIELDVALUE(A2,"Ad")),"Bu hücrenin bağlantılı veri türü yok","Bu hücrenin bağlantılı veri türü var")
Formül bir hata değerlendirirse "Bu hücrenin bağlantılı veri türü yok" metnini, aksi takdirde "Bu hücre bağlantılı bir veri türüne sahip" metnini döndürür.
Yalnızca engeli gizlemeyi #FIELD! hatası döndürür, şunları kullanabilirsiniz:
=EĞERHATA(FIELDVALUE(A1,"Ad"),"")
Hata varsa boş bir hücre verir.
Koşullu biçimlendirme
Bağlantılı bir veri türü olup olmadığını temel alarak bir hücreyi koşullu olarak biçimlendirebilirsiniz. Önce koşullu biçimlendirmeye gerek olan hücreleri seçersiniz ve sonra Giriş ve Koşullu Biçimlendirme > > Yeni Kural > Formül kullan... seçeneğine gidersiniz. Formül için aşağıdakini kullanabilirsiniz:
=NOT(EHATALISA(FIELDVALUE(A1,"Ad")))
Burada A1 hücresi, aralıkta değerlendirmek istediğiniz en üst hücredir. Ardından istediğiniz biçimi uygulayabilirsiniz.
Bu örnekte, A1 hücresi "Ad" için geçerli bir alan adı içeriyorsa, formül DOĞRU döndürür ve biçimlendirme uygulanır. A1 hücresinde bağlantılı veri türü yoksa, formül YANLIŞ döndürür ve biçimlendirme uygulanmaz. Bunun yerine geçerli bağlantılı veri türleri içermeen hücreleri vurgulamak için, YOKSAY'ı kaldırabilirsiniz.
VBA
Bir hücrenin veya aralığın bağlantılı veri türleri Visual Basic for Applications belirlemek için kullanabileceğiniz çeşitli VBA (Visual Basic for Applications) yöntemleri vardır. Bu ilk yordamda HasRichDataType özelliği kullanır.
Bu yordamların her ikisi de, değerlendirilecek hücre aralığını seçmenizi, sonra da sonuçları içeren bir ileti kutusu dönmenızı sağlar.
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
Sonraki yordamda LinkedDataTypeState özelliği kullanır.
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
Bu son kod parçacığı kullanıcı tanımlı bir işlevdir (UDF) ve ona da herhangi bir formülde olduğu gibi Excel olur. =fn_IsLinkedDataType(A1)girin; burada A1, değerlendirmek istediğiniz hücredir.
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
Bu örneklerden herhangi birini kullanmak için, Alt+F11 tuşlarına basın ve Visual Basic Düzenleyicisi'ni (VBE) açın, ardından > Modülü Ekle'ye gidin ve kodu sağda açılan yeni pencereye yapıştırın. Alt+Q tuşlarına basarak Excel çıkmak için kullanabilirsiniz. İlk iki örnekten birini çalıştırmak için, Geliştirici sekmesine> Kod> Makrolar> listeden çalıştırmak istediğiniz makroyu seçin ve sonra da Çalıştır'ı seçin.
Daha fazla yardım mı gerekiyor?
Her zaman Excel Teknik Topluluğu sayfasında bir uzmana soru sorabilir veya Topluluklar sayfasından destek alabilirsiniz.