http://q.hatena.ne.jp/1290914062


もう終わった質問のようだけど自分だったらこういう回答になるかな。


まず、セルに入力状態の時にマクロを実行するのは不可能。
それでセルを選択するときに右のセルの文字列をクリップボードにコピーし、
マクロではなくCtrl+Vで貼りつければ同様のことができるのではないかと。


具体的にはセルの選択時にコピーするコードはこちら。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim CB As New DataObject
    
    CB.SetText Target.Offset(0, 1).Value
    CB.PutInClipboard
End Sub

※ Microsoft2.0 Object Livraryの参照設定が必要。

                                                                                                                                                            • -


B1セルに限らず19文字のロシア語全部をExcelでロシア語キーボードにしてしまいます。


次のようにシートを作ります。


標準モジュールの先頭に

Public myRange As Range


シートモジュールに

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Intersect(Target, Range("B1:T1")) Is Nothing Then
        Set myRange = Target
    Else
        myRange.Value = myRange.Value & Target.Value
        myRange.Select
        SendKeys "{F2}"
    End If
End Sub


これでA1セルに限らず任意のセルで入力中にロシア語を入力するときに該当の
セルをクリックすることで入力され、入力状態に戻るマクロとなります。