2

Excel vbaでレポート用のスプレッドシートを準備しようとしています。残念ながら、ここには置き換えが必要な奇妙なキャラクターがいくつかあります。この文字を除いて、十分に簡単です:

  ¦

その文字をエディターの文字列置換関数に貼り付けることができないようです。試してみると、出力は_. 次に、Chrコードで参照することを考えました。簡単に調べてみると、それは Chr(166) でした。http://www.gtwiki.org/mwiki/?title=VB_Chr_Values

Replace(s, "â€" + Chr(166), "...")

しかし、これはまったくそのキャラクターではありません (少なくとも Mac Excel では)。私は試した:

For i = 1 To 255
   Debug.Print Chr(i)
Next i

そして、私はこのキャラクターをどこにも見ませんでした。この文字を置き換えるためにvbaコードでこの文字を参照する方法を知っている人はいますか?

4

3 に答える 3

0

が利用できるかどうかはわかりませんが、以下のように既存のコードを大幅に簡素化できます。

サンプルを使用Strin

Dim strIn As String
strIn = "1â€1â€x123"
Do While InStr(strIn, "â€") > 0
Mid$(strIn, InStr(strIn, "â€"), 3) = "..."
Loop
于 2013-12-24T04:20:49.330 に答える
0

悪意のあるキャラクターを含むセルをクリックして、次の小さなマクロを実行します。

Sub WhatIsIt()
    Dim s As String, mesage As String
    Dim L As Long
    s = ActiveCell.Text
    L = Len(s)
    For i = 1 To L
        ch = Mid(s, i, 1)
        cd = Asc(ch)
        mesage = mesage & ch & "     " & cd & vbCrLf
    Next i
    MsgBox mesage
End Sub

セル内の文字とそのコードが明らかになるはずです。

于 2013-12-21T20:53:40.013 に答える