• DİKKAT

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

Çözüldü Türk lirası simgesi

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

Türk lirası simgesini mesaj kutusuna nasıl yazabiliriz ? ( "" )



C#:
MsgBox "Gram Altın Satış Fiyatı: " & gramAltin & "TL" & vbCrLf & _
               "Dolar Satış Fiyatı: " & dolar & "TL" & vbCrLf & _
               "Euro Satış Fiyatı: " & euro & "TL"


yardımcı arkadaşıma şimdiden teşekkürler.
 
Sub GosterFiyatlar()
Dim gramAltin As Double
Dim dolar As Double
Dim euro As Double

gramAltin = 400
dolar = 8.5
euro = 10.2

MsgBox "Gram Altın Satış Fiyatı: " & gramAltin & "TL" & vbCrLf & _
"Dolar Satış Fiyatı: " & dolar & "TL" & vbCrLf & _
"Euro Satış Fiyatı: " & euro & "TL"
End Sub


Bu şekilde, Türk lirası simgesi yerine "TL" harfleri kullanılır ve bu şekilde MsgBox kutusu doğru şekilde görüntülenir.

Bu nedenle, Türk lirası simgesi yerine alternatif bir yaklaşım olarak "TL" harflerini kullanmak en iyi seçenektir. Bu şekilde, kullanıcılar doğru anlamayı elde ederler ve işlevselliği sağlamış olursunuz.
 
Son düzenleme:
FormatCurrency fonksiyonu bu simgeyi ekleyecektir.
 
FormatCurrency fonksiyonu bu simgeyi ekleyecektir.

MsgBox "Gram Altın Satış Fiyatı: " & FormatCurrency(gramAltin, , , , "₺") & vbCrLf & _
"Dolar Satış Fiyatı: " & FormatCurrency(dolar, , , , "₺") & vbCrLf & _
"Euro Satış Fiyatı: " & FormatCurrency(euro, , , , "₺") bu şekilde denedim olmadı

Hocam bunu ancak siz çözersiniz Saygılarımla.
 
Merhaba,
Alternatif olarak ChrW(8378) TL simgesinin karşılığı olabilir. Ama mesaj kutusunda görüntülenir mi denemek gerek.
 
Merhaba,

Deneyiniz.

C++:
Option Explicit

Sub Test()
    Dim X As Double
  
    X = 123456.78
  
    MsgBox FormatCurrency(X, 2)
End Sub

C++:
Option Explicit

Sub Test()
    Dim X As Double
   
    X = 123456.78
   
    MsgBox Format(X, "#,##0.00") & " " & ChrW(8378)
End Sub
 
Hocam denediğimde TL simgesi yerine soru işareti çıkmaktadır
 
...Hocam bunu ancak siz çözersiniz Saygılarımla.

Beni zan altında bırakmayın... :)

Ref: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messageboxw

Edit Bilgi:
VBE, yapısı gereği endfix (son eki) "A" olan fonksiyonları doğrudan string olarak geçirebilir. Bir Unicode karakter söz konusu olduğunda ise, son eki "W" olan WinApi fonksiyonları kullanmak faydalıdır. Ancak, StrConv fonksiyonu ile ilave çevrim gereklidir.


251340


C#:
#If Win64 Then
    Private Declare PtrSafe Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As LongLong, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#Else
    Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As Long, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#End If

Sub test()
    MessageBox 0, StrConv(FormatCurrency(10.25), vbUnicode), StrConv("::.. Zeki Gürsoy ..::", vbUnicode), &H40
End Sub
 
Son düzenleme:
VB Editörünün ANSI string metotları desteklediğini unutup telefondan salladım tutmadı. Mesaj bana dönünce PC başına geçip şu işi bi düzelteyim dedim. :)

.
 
@Zeki Gürsoy

Çok teşekkür ediyorum. Tamamdır. elinize sağlık.

**********************************************************

Simgeyi sağ tarafa aldım.

C#:
#If Win64 Then
    Private Declare PtrSafe Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As LongLong, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#Else
    Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As Long, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#End If

Sub test()
Dim message As String
  message = StrConv((10.25) & " " & ChrW(8378), vbUnicode)
  MessageBox 0, message, StrConv("::.. Zeki Gürsoy ..::", vbUnicode), &H50
End Sub
 
Son düzenleme:
Beni zan altında bırakmayın... :)

Ref: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messageboxw

Edit Bilgi:
VBE, yapısı gereği endfix (son eki) "A" olan fonksiyonları doğrudan string olarak geçirebilir. Bir Unicode karakter söz konusu olduğunda ise, son eki "W" olan WinApi fonksiyonları kullanmak faydalıdır. Ancak, StrConv fonksiyonu ile ilave çevrim gereklidir.


Ekli dosyayı görüntüle 251340


C#:
#If Win64 Then
    Private Declare PtrSafe Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As LongLong, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#Else
    Private Declare Function MessageBox Lib "user32" Alias "MessageBoxW" (ByVal hWnd As Long, ByVal lpText As String, _
                                                                                ByVal lpCaption As String, ByVal uType As Long) As Long
#End If

Sub test()
    MessageBox 0, StrConv(FormatCurrency(10.25), vbUnicode), StrConv("::.. Zeki Gürsoy ..::", vbUnicode), &H40
End Sub

Hocam emeğinize sağlık, 2. Satıra geçmek istesek nasıl geçeceğiz sonuna & Chr(10) & _ yazıyorum hata veriyor.
 
Alt satıra geçmek için vbCrlf kullanmak aynı şeydir ve kestirme yoldur.

Şimdi deneme imkanım yok ama aldığınız hata runtime değil, syntax hatası olsa gerek.
 
C#:
Sub test()
Dim message1 As String
Dim message2 As String
Dim birlestir As String

    
    mesaj = StrConv((10.85) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj1 = StrConv((10.95) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj2 = StrConv((10.65) & " " & ChrW(8378), vbUnicode)
    

birlestir = mesaj & mesaj1 & mesaj2
MessageBox 0, birlestir, StrConv("::.. Zeki Gürsoy ..::", vbUnicode), &H50
End Sub
 
Sayın k0081,

Rica etsem, dosyayı paylaşmanız mümkün mü?
 
C#:
Sub test()
Dim message1 As String
Dim message2 As String
Dim birlestir As String

   
    mesaj = StrConv((10.85) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj1 = StrConv((10.95) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj2 = StrConv((10.65) & " " & ChrW(8378), vbUnicode)
   

birlestir = mesaj & mesaj1 & mesaj2
MessageBox 0, birlestir, StrConv("::.. Zeki Gürsoy ..::", vbUnicode), &H50
End Sub
Hocam emeğinize sağlık ama 3'ünde de aynı değer yazıyor. ilk satıra "merhaba" yazsak.
 
C#:
    mesaj = StrConv("Merhaba" & vbCrLf & vbCrLf, vbUnicode)
    mesaj1 = StrConv((10000000.95) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj2 = StrConv((10.65) & " " & ChrW(8378), vbUnicode)

.
 
C#:
    mesaj = StrConv("Merhaba" & vbCrLf & vbCrLf, vbUnicode)
    mesaj1 = StrConv((10000000.95) & " " & ChrW(8378) & vbCrLf & "" & vbCrLf, vbUnicode)
    mesaj2 = StrConv((10.65) & " " & ChrW(8378), vbUnicode)

.

Çok teşekkür ederim Haluk hocam.
 
Geri
Üst