Bağlantılı veri türleri ilk olarak Haziran 2018'de Microsoft 365 için Excel'de kullanıma sunulmuştur ve bu nedenle diğer özellikler onları tanımlayamayabilir. Bir hücrenin bağlantılı veri türü içerip içermediğini koşullu olarak belirlemek için başka özellikler kullanmak istediğinizde bu durum özellikle geçerli olabilir. Bu makalede, hücrelerdeki bağlantılı veri türlerini tanımlamak için kullanabileceğiniz bazı geçici çözümler açıklanmaktadır.
Not
Bağlantılı veri türleri yalnızca Dünya Çapında Çok Kiracılı istemcilerde (standart Microsoft 365 hesapları) kullanılabilir.
Formüller
Her zaman veri türlerine başvuran formüller yazabilirsiniz. Ancak, METNEÇEVİR işlevini kullanarak bağlantılı veri türüyle bir hücrenin metnini ayıklamak isterseniz, #VALUE! hatası döndürür.
Geçici bir çözüm FIELDVALUE işlevini kullanmak ve field_name bağımsız değişkeni için Ad alanını belirtmektir. Aşağıdaki örnekte, A1 hücresi bir hisse senedi veri türü içeriyorsa, formül hisse senedi adını döndürecektir.
=ALANSAYISI(A1,"Ad")
Bununla birlikte, A1 hücresinde bağlantılı veri türü yoksa, ALANSAYISI işlevi #FIELD! hatası döndürür. Bir hücrenin bağlantılı veri türü içerip içermediğini değerlendirmek isterseniz, ALANSAYISI işlevinin hata döndürüp döndürmeyeceğini sınamak için EHATALIYSA işlevini kullanan aşağıdaki formülü kullanabilirsiniz.
=EĞER(EHATALIYSA(FIELDVALUE(A2,"Ad")),"Bu hücrenin bağlantılı veri türü yok","Bu hücrede bağlantılı veri türü var")
Formül hata değerlendirirse "Bu hücrenin bağlantılı veri türü yok" metnini, aksi takdirde "Bu hücrenin bağlantılı veri türü var" metnini döndürür.
Sadece #FIELD bastırmak istiyorsanız! hatası veriyorsa şunu kullanabilirsiniz:
=EĞERHATA(ALANSAYISI(A1,"Ad"),"")
Bu formül hata varsa boş bir hücre döndürür.
Koşullu biçimlendirme
Bağlantılı veri türü içerip içermemesine bağlı olarak, hücreyi koşullu olarak biçimlendirebilirsiniz . Önce koşullu biçimlendirmeye ihtiyaç duyan hücreleri seçer ve sonra Giriş'e> gidersinizKoşullu Biçimlendirme>Yeni Kural>Bir formül kullanın... Formül için şunları kullanırsınız:
=DEĞIL(EHATALIYSA(ALANSAYISI(A1,"Ad")))
Burada A1 hücresi, hesaplamak istediğiniz aralığın en üstündeki hücredir. Ardından istediğiniz biçimi uygulayın.
Bu örnekte, A1 hücresinde "Ad" için geçerli bir alan adı varsa, formül DOĞRU döndürür ve biçimlendirme uygulanır. A1 hücresi bağlantılı veri türü içermiyorsa, formül YANLIŞ değerini döndürür ve biçimlendirme uygulanmaz. Bunun yerine, geçerli bağlantılı veri türleri içermeyen hücreleri vurgulamak isterseniz DEĞİL işaretini kaldırabilirsiniz.
VBA
Bir hücrenin veya aralığın bağlantılı veri türleri içerip içermediğini belirlemek için kullanabileceğiniz çeşitli VBA (Visual Basic for Applications) yöntemleri vardır. Bu ilk yordamda HasRichDataType özelliği kullanılır.
Bu yordamların her ikisi de sizden değerlendirmek üzere bir hücre aralığı seçmenizi ve ardından sonuçları içeren bir ileti kutusu döndürmenizi ister.
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
Bu sonraki yordamda LinkedDataTypeState özelliği kullanılı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 buna diğer Excel formülleri gibi başvurursunuz. =fn_IsLinkedDataType(A1) girmeniz yeterlidir; burada A1, hesaplamak 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, Visual Basic Düzenleyicisi'ni (VBE) açmak için Alt+F11 tuşlarına basın, ardından Modül Ekle'ye> gidin ve kodu sağda açılan yeni pencereye yapıştırın. İşiniz bittiğinde Excel'den çıkmak için Alt+Q tuşlarını kullanabilirsiniz. İlk iki örnekten birini çalıştırmak için Geliştirici sekmesine> gidin,Kod>Makroları> listeden çalıştırmak istediğiniz makroyu seçin ve ardından Çalıştır'ı seçin.
Daha fazla yardım mı gerekiyor?
Dilediğiniz zaman Excel Teknoloji Topluluğundaki uzmanlara sorabilir veya Topluluklar'dan destek alabilirsiniz.