2017-05-25 6 views
0

何らかの処理を行うために呼び出しセルを使用するVBAスクリプトがあります。私は複数のセルに貼り付けると、ActiveCellは常に範囲内で最初に選択されたセルであるため、すべてのセルが同じ値になります。複数のセルのペースト(ExcelCell.Rowではない)のExcel VBA行呼び出しセル

関数が呼び出されているセルの行を取得するにはどうすればよいですか?

例VBA - (1つのセルで行う= TestCallCell()をコピーして、いくつかのセルに貼り付ける)

 Function TestCallCell() As String 
      curRow = ActiveCell.Row 
      TestCallCell = curRow 
     End Function 

答えて

2

あなたはそれがアクティブセルとして変更されますよう、UDFでのActiveCellを使用したくありません変更。

Application.Callerを使用してください。関数が呼び出され、アクティブな関数ではないセルが使用されます。

Function TestCallCell() As String 
    curRow = Application.Caller.Row 
    TestCallCell = curRow 
End Function 

enter image description here

+0

パーフェクト感謝! – runfastman

関連する問題