excel non riconosce un carattere



  • excel non riconosce un carattere
    di orbok (utente non iscritto) data: 28/04/2014 13:27:22

    ciao ragazzi ho un problema, penso stupido, ma non essendo troppo pratico chiedo a voi
    ho creato una macro
    excel non riesce a leggere questo carattere č ed esce c questo nei msgbox
    mentre nelle imput box mi esce è

    come posso risolvere?
    grazie in anticipo



  • di nichicanta (utente non iscritto) data: 28/04/2014 17:16:11

    Allega il file oppure la macro creata al fien di poterti aiutare.



  • di orbok (utente non iscritto) data: 28/04/2014 18:14:35

    ecco qua
     
    Sub prova()
    Dim a As Integer
    
    Dim i As Integer
    Dim dimmi As Integer
    Dim b As String
    If Columns("b:b").EntireColumn.Hidden = False Then
    Columns("b:b").EntireColumn.Hidden = True
    Else
    End If
    a = InputBox("inserire numero ultima riga")
    For i = 1 To 10
    Cells(i, 5) = CInt(Int(((a - 10) * Rnd()) + 1))
    
    Next
    For r = 1 To 10
    
    Cells((r + 10), 5) = a + 1 - r
    Next
    For i = 1 To 10
    dimmi = MsgBox(Cells(Cells(i + 10, 5), 2) & " vuol dire " & Cells(Cells(i + 10, 5), 1))
    Next
    MsgBox ("pronto per iniziare?")
    For i = 1 To 20
    b = InputBox("come si dice " & Cells(Cells(i, 5), 1))
    If b <> Cells(Cells(i, 5), 2) Then
    MsgBox (" no " & Cells(Cells(i, 5), 1) & " si dice " & Cells(Cells(i, 5), 2))
    MsgBox (" Tutto da capo!")
    i = 1
    End If
    If b = "basta" Then
    MsgBox ("ci riproviamo dopo")
    i = 20
    End If
    Next
    If Columns("b:b").EntireColumn.Hidden = True Then
    Columns("b:b").EntireColumn.Hidden = False
    Else
    End If
    
    End Sub
    



  • di Vecchio Frac data: 29/04/2014 09:13:51

    E' un problema di mappa dei caratteri e caratteri Unicode.
    Non credo che Msgbox di VBA possa gestire caratteri oltre il codice 255 (la codifica dipende anche dal tuo sistema). VBA converte in ANSI tutte le stringhe.
    Inoltre, nemmeno l'editor di VBA (il VBIDE) processa i caratteri Unicode e quindi non li vedrai rappresentati nè in immediata nè nell'editor di codice.
    Forse ci si può arrivare usando qualche API. Ma la vedo tortuosa :)

     
    Option Explicit
    
    Public Declare Function MessageBoxU Lib "user32" Alias "MessageBoxW" (ByVal hwnd As Long, ByVal lpText As Long, ByVal lpCaption As Long, ByVal wType As Long) As Long
    
    
    Sub test()
    Dim s As String
    
        s = "test for letter " & ChrW(269)
        MessageBoxU 0, StrPtr(s), StrPtr("test"), 0
    
    End Sub