• DİKKAT

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

Makro VBA "TL" ,"$", "€" Sorunu

  • Konbuyu başlatan Konbuyu başlatan cocoa35
  • Başlangıç tarihi Başlangıç tarihi
Katılım
6 Eylül 2007
Mesajlar
657
Excel Vers. ve Dili
excel 2016 32 Bit ve Excel 2020 32 Bit Türkçe ve İngilizce
Merhaba aşağıdaki kod'ları Vba'da sayfanın kod bölümünde yazmak istediğimde "TL", "$", "€" sorun veriyor! Halbuki Sayfa'daki hücrede bu formül çalışıyor! bu kodları nasıl yazmam gerekir acaba?


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range([H11: H94], [J11:J94])) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Range("H11") = "" Then Range("H11").FormulaLocal = "=DÜŞEYARA($A11;POZLAR!K:O;3;0)"

If Range("J11") = "" Then Range("J11").FormulaLocal = "=EĞER(K8="TL";(DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0));EĞER(K8="$";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!L64+1)))/DOVIZ2!E2;EĞER(K8="Є";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!M64+1)))/DOVIZ2!E3)))"

Application.EnableEvents = True
End Sub
 

Ekli dosyalar

  • Ekran görüntüsü 2024-01-11 155836.png
    Ekran görüntüsü 2024-01-11 155836.png
    97.1 KB · Görüntüleme: 7
Son düzenleme:
Merhaba.
Çift tırnak işaretlerini iki defa yazmalısınız.
aşağıdaki gibi.
Kod:
If Range("J11") = "" Then Range("J11").FormulaLocal = "=EĞER(K8=""TL"";(DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0));EĞER(K8=""$"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!L64+1)))/DOVIZ2!E2;EĞER(K8=""?"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!M64+1)))/DOVIZ2!E3)))"
 
If Range("J11") = "" Then Range("J11").FormulaLocal = "=EĞER(K8=""TL"";(DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0));EĞER(K8=""$"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!L64+1)))/DOVIZ2!E2;EĞER(K8=""?"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!M64+1)))/DOVIZ2!E3)))
Çok teşekkürler gayet iyi çalışıyor :)
 
Merhaba.
Çift tırnak işaretlerini iki defa yazmalısınız.
aşağıdaki gibi.
Kod:
If Range("J11") = "" Then Range("J11").FormulaLocal = "=EĞER(K8=""TL"";(DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0));EĞER(K8=""$"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!L64+1)))/DOVIZ2!E2;EĞER(K8=""?"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!M64+1)))/DOVIZ2!E3)))"
Merhaba biraz önce tam incelememişim ""TL"" ve ""$"" işaretlerinde bir sorun olmuyor ancak ""Є"" bir türlü kabul etmiyor ve ""?"" işaretini yapıyor! Daha doğrusu ""€"" bu işareti kabul ediyor ancak benim tüm formüllerimdeki işaret ""Є"" bu ! onuda değiştiremiyorum ne yapmam gerekiyor?
 
Merhaba,
Formülünüzden anladığım kadarıyla EĞER formülünü kurgularken eğer yanlışsa seçeneğini kullanmamışsınız. 3. Eğer formülünü yazmadan yanlışsa içerisine formülünüzü yazabilirsiniz.
Kod:
Range("J11").FormulaLocal = "=EĞER(K8=""TL"";(DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0));EĞER(K8=""$"";((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!L64+1)))/DOVIZ2!E2;((DÜŞEYARA($A11;'BİRİM FİYATLAR'!A:H;8;0)*('GÜNCEL PRG FİYAT'!M64+1)))/DOVIZ2!E3))"
Alternatif olarak başka bir hücreden kontrol sağlayabilirsiniz. EĞER(K8=K1;... gibi.
 
Hata veren yeri aşağıdaki gibi değiştirip deneyiniz.

EĞER(K8=UNICODEKARAKTERİ(1028)
 
Geri
Üst