Excel'in RTD işlevi, bir dizi döndüremez

Makale çevirileri Makale çevirileri
Makale numarası: 286258 - Bu makalenin geçerli olduğu ürünleri görün.
Hepsini aç | Hepsini kapa

Özet

Microsoft Excel 2002, Microsoft Office Excel 2003 ve Microsoft Office Excel 2007 RTD adlı yeni bir çalışma sayfası işlevi sağlar. RTD gerçek zamanlı verileri almak için bir Bileşen Nesne Modeli (COM) Otomasyon sunucusu arama yapabilirsiniz. RTD işlevi, bir dizi döndüremez. RTD işlevi, dizi formülü olarak kullanılırsa, dizideki hücrelerin tümünü DEğER döndürür.

Daha fazla bilgi

Devralınan esnekliğini RealTimeData (RTD) sunucu ve RTD işlevi, dizi formüllerinde gereksiz kullanmayı kolaylaştırır. RTD işlevi, dize veya hücre içinde görüntülenecek verileri belirtmek için ilgili konular rasgele sayıda alabilir. Well-written RTD sunucu ek konu dizesini kullanarak, tek bir değer döndürebilir. Excel, yalnızca RTD sunucudan tüm verileri almak için <a0>RTD</a0> sunucuya tek bir çağrı yapmanız gerekir. Bu nedenle, bu tasarım performansı olumsuz değil.

Bu unutmayın, bazı durumlarda, tek bir konu için bir değer dizisi dönmek için bir RTD sunucu gerekebilir ve, çok sayıda hücreye ayrıştırılması değerler dizisi de gerekebilir. Bu durumda, sunucu RTD tüm değerleri içeren tek bir dize geri dönebilirsiniz. Sonra verileri çalışma sayfasında bir dizi döndürdü; böylece dizeyi ayrıştırmak için Microsoft Visual Basic for Applications (VBA) işlevi kullanabilirsiniz. Excel, dize biçimi, bir dizi olarak yorumlamak için değerlendir yöntemini kullanabilirsiniz. Bu dize, ayraç içine alınır, sütunları, virgüllerle ayrılır ve satırlar, noktalı virgülle ayrılır. Örneğin, Excel ile 3 satır ve 4 sütun, bir dizi olarak aşağıdaki dizeyi çevirebilir:
{1, 2, 3, 4 10, 20, 30, 40; 100, 200, 300, 400}
Veya, Excel 2 satır ve 5 sütun içeren bir dizi olarak şu dize interpet:
{"a", "b", "c", "d","e"; "aa", "bb", "cc", "gg", "ee"}
Aşağıdaki procedue bu tür bir RTD sunucudan çok sayıda hücreye döndürülen bir dizeyi ayrıştırmak için kullanabileceğiniz bir teknik gösterilmiştir.

Bunu yapmak için şu adımları izleyin:
  1. Aşağıdaki Bilgi Bankası makalesinde açıklanan RTD sunucu için Visual Basic projesi oluşturun:
    285339Excel'in RealTimeData sunucu oluşturma hakkında
  2. Proje RTDFunctions sınıf modülünde IRtdServer_RefreshData işlevinde aşağıdaki satırı değiştirin:
    aUpdates(1, n) = oTopic.TopicValue
    					
    kodu aşağıdaki kod satırını ile Değiştir:
    Static bToggle As Boolean
    bToggle = Not (bToggle)
    If bToggle Then
       aUpdates(1, n) = "{1,2,3;10,20,30}"
    Else
       aUpdates(1, n) = "{""a"",""b"",""c"";""d"",""e"",""f""}"
    End If
    					
  3. Visual Basic projesinden RTD sunucu oluşturun.
  4. Excel 2002, Office Excel 2003 veya Office Excel 2007'de, yeni bir çalışma kitabı'nı başlatın ve sonra Visual Basic Applications Düzenleyicisi'ni açmak için ALT + F11 tuş bileşimine basın.
  5. Yeni bir kod modülü, Visual Basic for Applications projesi yerleştirin ve sonra da aşağıdaki kod örneği kodu modüle ekleyin.
    Function parseArrayData( arrayData as String ) as Variant
       parseArrayData = Evaluate( arrayData )
    End Function
    					
  6. Visual Basic for Applications Düzenleyicisi, Excel çalışma kitabına dönmek kapatın.
  7. Iki satıra üç sütunluk çalışma sayfasındaki bir hücre aralığı seçin.
  8. Aşağıdaki formülü yazın ve sonra onu bir dizi formülü olarak girmek için CTRL + ÜST KARAKTER + ENTER'tuşuna basın:
    =parseArrayData(RTD("ExcelRTD.RTDFunctions",,"AAA"))
  9. Ilk güncelleştirme bildirimi sonra her altı hücre benzersiz bir numara içerir. Ikinci güncelleştirme bildirimi sonra her hücre benzersiz bir karakter içeriyor.

Referanslar

RealTimeData sunucuları hakkında daha fazla bilgi için Microsoft Knowledge Base'deki makaleleri görüntülemek üzere aşağıdaki makale numaralarını tıklatın:
286259Güvenlik ayarları ve Excel RealTimeData sunucuları
285888DCOM ile bir Excel RTD sunucusuna nasıl kullanılır

Özellikler

Makale numarası: 286258 - Last Review: 14 Mayıs 2007 Pazartesi - Gözden geçirme: 3.2
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 Standard Edition
Anahtar Kelimeler: 
kbmt kbinfo KB286258 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:286258

Geri Bildirim Ver

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com