6

シートのセルに何かを書き込んだ場合、Worksheet_Changeコードはセルに特定の文字が含まれているかどうかを確認し、それらの文字を置換する必要があります。コードのその部分は正常に機能しています。

ただし、少し奇妙な動作があります。これまでのコードは次のとおりです。

    Private Sub Worksheet_Change(ByVal Target As Range)
        Target.Value = Replace(Target.Value, "ß", "ß")

        MsgBox "This is the value: " & Target.Value
    End Sub

何が起こっているかというと、クリップボードに変更する必要がある文字がある場合です ( Ctrl+を使用C)。Ctrlセルをダブルクリックし、 +を使用して文字をセルに貼り付けてからVEnter キーを押すと、コードは正常に機能し、文字が変更されます。(注: ダブルクリックしないと、カーソルが表示されません。)

ただし、矢印キーを使用してセルに移動し、セル内の他のものに貼り付けるだけでは、何も起こりません。がトリガーWorksheet_Changeされていないか、少なくとも私のMsgBox.

(関係あるかわかりませんが、MacでExcel 2010を使っています)

4

3 に答える 3

0
If Target.Column = 3 Then
    Dim startRow As Integer
    Dim endRow As Integer
    startRow = Target.Row
    endRow = Target.Row + Target.Count - 1

    For i = startRow To endRow
        ' blah blah blah

多分それは役立つ

于 2013-10-20T14:24:58.323 に答える