• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

pivottablo dil problemi

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
22 Mayıs 2012
Mesajlar
5
Excel Vers. ve Dili
excel 2007 türkçe
Merhaba ,

Macro ile pivottabloda pivotitems(boş) olarak sort işlemi gerçekleştirmek istiyorum fakat problem veriyor buradaki "boş" sözcüğünü "blank" olarak değiştirdiğimde kod çalışıyor. Excel dilim Türkçe.Application.languagesettings ' de Türkçe Sorunun tam kaynağını anlayamadım bu konuda yardımcı olursanız mutlu olurum.
 
Son düzenleme:
Evet bu durumu ben de yaşamıştım. İşinizi görüyorsa bu şekilde kullanın.
 
Bu dosya birden fazla bilgisayarda çalışacağı için onların dil ayarlarını önceden tespit edip kodda buna göre değişiklik yapmam gerekiyor bu açıdan sorunu( ne zaman (boş) ne zaman (blank) yazmam gerektiğini) çözmem gerekiyor. İnternette de bu konuda araştırma yaptım fakat bir sonuç bulamadım. Siz bu sorunun neyden kaynaklandığına yönelik bir şey bulabilmişmiydiniz sorunla karşılaştığınızda. Yanıtınız için teşekkürler.
 
O zaman kodun içine bir koşul koyun. "blank çalışmazsa boş çalışssın gibi."
 
Merhaba,

Ekteki örnek dosyayı inceleyiniz.
 

Ekli dosyalar

Teşekkürler cevaplarınız için ,

ben de bu şekilde (blank) veya (boş) şeklinde bir koşul koyarak bu problemi çözdüm şimdilik fakat, burada sorunun temel kaynağını anlamak istiyorum windows xp kullanıyorum dili ingilizce, excelim Türkçe. Bu dilden kaynaklanan bir problemse yapacağım koşulla başka değişkenleride değiştiricem yani sadece pivottabloda (blank) ( boş) değişiminden başka değişikliklerde yapmam gerekiyor. Bu yüzden bir excelde pivottabloda pivotitem' ın "blank" veya "boş" olarak gözükmesine neden olan şey nedir bunu öğrenmek istiyorum.Application.LanguageSettings.LanguageID(msoLanguageIDUI) değeri türkçe dil ayarlarını gösteriyor, excelimde pivotitem kısmı "boş" olarak gözüküyor fakat excelin kendisini kullanarak macro kaydettiğimde boş fieldların gizlenmesi için , "boş" yerine "blank" kelimesini kullanıyor oluşturduğu macroda. Bunun neden kaynaklandığı konusunda yardımcı olursanız çok memnun olurum, tekrar teşekkürler yanıtlarınız için.
 
Merhaba,

Bu konuyu Microsoft firmasına sorarak yanıt vermelerini isteyebilirsiniz.

Benim tahminime göre;

Sonuçta Excel paket bir program. Türkçeleştirme yapılırken bazı durumlar atlanmış olabilir. Bu sebeple özet tabloda item değerini yorumlarken İngilizce olarak kabul ediyordur.
 
işletim sisteminin ingilizce olmasının buna neden olabileceğine dair forumlarda bir yazı okudum, vba ile işletim sisteminin hangi dili kullandığı belirlenebiliyor mu? benim işletim sistemimde ingilizce dil yüklü olduğu için bunun neden olabileceğini düşünüyorum.
 
.

Şimdi Sayın Korhan bey'in eklediği dosya üzerinden gidersek;

(Benim sistemim XP İngilizce, Office 2010 İngilizce)

Makro kaydet ile elde ettiğim kodlar şu şekildedir:

Kod:
Sub Macro1()

    With ActiveSheet.PivotTables("Özet Tablo 1").PivotFields("BAŞLIK 1")
        .PivotItems("(blank)").Visible = False
    End With

End Sub

Dikkat edilirse, Pivot Table Türkçe sürümde elde edildiği için tablonun adı ("Özet Tablo 1") Türkçe ve field adı ("BAŞLIK 1") Türkçe, "Boş" İngilizce'ye "(blank)" olarak çevrilmiş.

Bunu hangi dilde yaparsak yapalım, Türkçe olarak atanmış olan ve string olarak belirlenmiş olan bu değerler değişmezler.

Eğer bu makroyu Türkçe sürümde kaydetseydik. Diğerleri yine Türkçe olarak kalacak ve diğerini ("Boş") olarak gösterecekti.

Pivot Table sürüm dillerine dönüşürken, belirlenmiş tablo adı ve ve field adları yani makroda (" ...") çift tırnak arasına alınanları string (text) olarak kabul edildiğinden başka bir dile dönüşmeleri mümkün değildir.

Örneğin CELL - HÜCRE işlevine bakaılm:

Sözdizimi
CELL(info_type;reference)
HÜCRE(bilgi_türü, [başvuru])

Info_Type - bilgi_türü hangi dilde yazılmışsa o dilde kalır. Yani tercüme edilmez.

İngilizce sürümde:

=CELL("FILENAME") yazıp, Türkçe sürümde açtığımızda formülün =HÜCRE("FILENAME") ve çalışmadığını görürüz. Bunun çalışabilmesi için formülün içine girip "FILENAME" i "DOSYAADI" olarak yapmamız gerekir.

Bunun nedeni "...." tırnak arasına yazılmış text (string) ifadelerin aynen kalmasıdır.


.
 
zaten ben " boş " kelimesini " blank" olarak değiştirmek istemiyorum sadece bu kelimenin ne zaman "boş" ne zaman " blank " olarak gözükeceğini macro kullanarak belirlenip belirlenemeyeceğini öğrenmek istiyorum. Atıyorum Application.LanguageSettings.LanguageID( msoLanguageIDUI) kullanarak dönen değer Türkçe dil ayarlarını gösteriyorsa bu kelime " boş " olması gerek gibi. Benim yapmak istediğim oluşturacağım kod ile excel dosyasının dil ayarları ne olursa olsun "boş" veya " blank " kelimesini belirleyebilmek ve buna pivottablo da boş olan gelen satırları gizleyebilmek ve birtakım başka değişiklikler yapmak.
 
Son düzenleme:
Merhaba,

Sorun sadece boş-blank ifadeleri ise verdiğim örnek dosyadaki yapıyı kullanabilirsiniz. Bunun dışında ben ekranda Türkçe görünüpte kod penceresinde İngilizce olan bir ifadeye rastlamadım.
 
işletim sisteminin ingilizce olmasının buna neden olabileceğine dair forumlarda bir yazı okudum, vba ile işletim sisteminin hangi dili kullandığı belirlenebiliyor mu? benim işletim sistemimde ingilizce dil yüklü olduğu için bunun neden olabileceğini düşünüyorum.

.

A1 hücresine işletim sisteminin ülke kodunu yazar.

Kod:
Sub Ulkekodu()
   Country_Code = Application.International(xlCountryCode)
   [a1] = Country_Code
      
End Sub

Ülke Kodları:

Arabic 966 (Saudi Arabia)
Czech 42 (Czech Republic)
Danish 45 (Denmark)
Dutch 31 (The Netherlands)
English 1 (The United States of America)
Farsi 98 (Iran)
Finnish 358 (Finland)
French 33 (France)
German 49 (Germany)
Greek 30 (Greece)
Hebrew 972 (Israel)
Hungarian 36 (Hungary)
Indian 91 (India)
Italian 39 (Italy)
Japanese 81 (Japan)
Korean 82 (Korea)
Norwegian 47 (Norway)
Polish 48 (Poland)
Portuguese (Brazil) 55 (Brazil)
Portuguese 351 (Portugal)
Russian 7 (Russian Federation)
Simplified Chinese 86 (People's Republic of China)
Spanish 34 (Spain)
Swedish 46 (Sweden)
Thai 66 (Thailand)
Traditional Chinese 886 (Taiwan)
Turkish 90 (Turkey)
Urdu 92 (Pakistan)
Vietnamese 84 (Vietnam)


.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst