英語、中国語、または英語と中国語の両方を含むセルを含む複数のExcelファイルを含むプロジェクトに取り組んでいます。Excelで英語のテキストを中国語から分離/フィルタする方法
私は完全に中国語の行を維持し、最初に置く必要があります。それから、漢字と英語の両方のラインが必要です。そして、それは英語でしかないものだけです。
私はコンテンツをそれに応じてマークするのに役立つ3つの機能に遭遇しましたが、期待通りに機能していないように見えます。理由を理解できません。
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を使用することを期待することによって書かれたコード。 com/ja-us/library/windows/desktop/dd317794(v = vs.85).aspx)。これらのシステムでは、[Asc](https://msdn.microsoft.com/en-us/library/office/gg264313.aspx)は漢字に対して負の整数を返します。 –