Я работаю над проектом, который включает в себя несколько файлов Excel с ячейками, содержащими английский, китайский или английский и китайский.Как отделить/отфильтровать текст на английском языке с китайского языка в Excel
Мне нужно, чтобы строки были полностью на китайском языке и помещали их первыми. Затем мне нужны строки с китайскими и английскими иероглифами. И только тогда те, которые только на английском языке.
Я столкнулся со следующими тремя функциями, которые могли бы помочь мне пометить контент соответственно, но они, похоже, не работают должным образом, и я не могу понять, почему.
Function ExtractChn(txt As String)
Dim i As Integer
Dim ChnTxt As String
For i = 1 To Len(txt)
If Asc(Mid(txt, i, 1)) < 0 Then
ChnTxt = ChnTxt & Mid(txt, i, 1)
End If
Next i
ExtractChn = ChnTxt
End Function
Function ExtractEng(txt As String)
Dim i As Integer
Dim EngTxt As String
For i = 1 To Len(txt)
If Asc(Mid(txt, i, 1)) >= 0 Then
EngTxt = EngTxt & Mid(txt, i, 1)
End If
Next i
ExtractEng = EngTxt
End Function
Function CheckTxt(txt)
Dim i As Integer
Dim Eng As Integer
Dim Chn As Integer
Chn = 0
Eng = 0
For i = 1 To Len(txt)
If Asc(Mid(txt, i, 1)) > 0 Then
Eng = 1
Else:
Chn = 1
End If
Next i
If Chn = 1 And Eng = 1 Then 'Contains Both Eng & Chn
CheckTxt = "BOTH"
Else:
If Chn = 1 And Eng = 0 Then 'Chn
CheckTxt = "CHN"
Else:
If Chn = 0 And Eng = 1 Then 'Eng
CheckTxt = "ENG"
End If
End If
End If
End Function
Лицо, создавшее их, даже предоставило файл, демонстрирующий работу функций. Я прилагаю ссылку на файл, который имеет устройство следующее образом:
Text|English part of it|Chinese part of it|ExtractEng|ExtractChn|CheckTxt
По замыслу автора, то CheckTxt
результата должен отображать либо CH
, ENG
или BOTH
. Тем не менее, он показывает только ENG
, и я не могу понять, почему.
Любые идеи, как заставить его работать? Если нет более простого способа «предварительного фильтра» содержимого в Excel? Любая помощь будет высоко ценится.
Test Excel file from the developer
Код, написанный оригинальным разработчиком ожидает вашу систему, чтобы быть с помощью [кодовой страницы DBCS] (https://msdn.microsoft. ком/EN-US/библиотека/окна/настольные/dd317794 (v = vs.85) .aspx). В этих системах [Asc] (https://msdn.microsoft.com/en-us/library/office/gg264313.aspx) вернет отрицательное целое число для китайских символов. –