1

アルファ記号(α)が記号フォントを適用した「a」文字として入力されたExcelファイルを処理する必要があります。

ファイルをエクスポートすると、フォーマットが失われ、α と a の区別がなくなります。

VBAを使用して、記号フォーマットを持つ「a」をα記号に置き換えることは可能ですか?

4

1 に答える 1

1
Public Sub ReplaceAlpha(ByVal Where As Range)
  With Application.FindFormat
    .Clear
    .Font.Name = "Symbol"
  End With

  With Application.ReplaceFormat
    .Clear
    .Font.Name = "Arial"
  End With

  Where.Replace What:="a", Replacement:=ChrW$(&H251), LookAt:=xlPart, SearchFormat:=True, ReplaceFormat:=True
End Sub

ただし、これは、異なる形式の文字列内にあるアルファを検出しません。
それらがある場合は、次のようなものが必要になります

Public Sub ReplaceAlpha(ByVal Where As Range)

  Dim cur_cell As Range

  For Each cur_cell In Where
    Dim i As Long
    For i = 1 To Len(cur_cell.Value)
      With cur_cell.Characters(i, 1)
        If .Text = "a" Then
          If .Font.Name = "Symbol" Then
            .Text = ChrW$(&H251)
            .Font.Name = "Arial"
          End If
        End If
      End With
    Next
  Next

End Sub
于 2012-12-03T10:40:39.650 に答える