• ベストアンサー

VBAで文字コードを取り出したい

セルに取り込んだ文字列にスペースが含まれ、VBAの" "で読まれません。関数で=CODE(B1)により取り込むと文字コード160です。 VBAで文字コード160で識別したいのですが、chr()などを試してエラーになります。 セル内の文字からmidで取り出したスペース(コード160)を、コード番号で識別してifを使って排除したいのですが、素人ですので、マクロがうまく作れません。 混乱していますが、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#22222
noname#22222
回答No.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)
回答No.1

A1のセルからコード160を取り除く例 Range("A1").Value = Replace(Range("A1").Value, Chr(160), "")