excel non riconosce un carattere
Hai un problema con Excel? 
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 |
Vuoi Approfondire?