- ベストアンサー
VBAで文字コードを取り出したい
セルに取り込んだ文字列にスペースが含まれ、VBAの" "で読まれません。関数で=CODE(B1)により取り込むと文字コード160です。 VBAで文字コード160で識別したいのですが、chr()などを試してエラーになります。 セル内の文字からmidで取り出したスペース(コード160)を、コード番号で識別してifを使って排除したいのですが、素人ですので、マクロがうまく作れません。 混乱していますが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
CommandButton2_Click の実行結果は次のようです。 --------------------------------------------------------------- <123>、Length=3 <・123>、Length=4 --------------------------------------------------------------- MyReplace 関数で躓いた箇所が判ると思います。 Option Explicit Private Sub CommandButton1_Click() Me.Cells(1, 1) = Chr$(160) & "123" End Sub Private Sub CommandButton2_Click() Dim strNew As String strNew = MyReplace(Me.Cells(1, 1)) MsgBox "<" & strNew & ">、Length=" & Len(strNew) & Chr$(13) & _ "<" & Me.Cells(1, 1) & ">、Length=" & Len(Me.Cells(1, 1)) End Sub Public Function MyReplace(ByVal strText As String) As String Dim I As Integer Dim L As Integer Dim C As String Dim strNew As String L = Len(strText) For I = 1 To L C = Mid$(strText, I, 1) If C <> Chr$(160) Then strNew = strNew + C End If Next I MyReplace = strNew End Function
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
A1のセルからコード160を取り除く例 Range("A1").Value = Replace(Range("A1").Value, Chr(160), "")