3

関数への引数として特定の範囲があるとしましょう:

Function wrapper(current As range)

今、私は一番左にあるセルの値を取得したいと思います(Column A)。

たとえば、現在のセルが の場合H12、 にあるセル テキストを取得したいと思いますA12

ご協力ありがとうございました


わかりました、上記の問題は省略しましょう。一般に、私が達成したいのは、Range 型の変数を取得することです。以下の例では:

Function wrapper(current As range)
Set hardwarePos = Cells(current.Row, 1)

私の hardwarePos は Set 型であり、別の関数 ( GetFormula(var as Range) ) に渡すことができません。

Function wrapper(current As range)
Set hardwarePos = Cells(current.Row, 1)
wrapper = GetFormula(hardwarePos)

これは機能していません...


ヒントありがとうございます。KazJaw の解決方法は気に入っていますが、まだいくつか問題があります。これが機能しない理由:

Function wrapper(current As range)
Dim hardwarePos As range
hardwarePos = Cells(current.Row, 1)
wrapper = hardwarePos.Text
End Function
4

2 に答える 2

-1

これを使って:

Public Function wrapper(current As String)
    Dim newCell As String
    newCell = Range(current).Offset(0, -1).Address

    ' Range(newCell).Select
    ' Range(newCell).value = "blabla"
End Function

現在のセルからアドレスを取得し、それを使用して列に関して前のセルのアドレスを取得します (offset関数を使用すると、-1 は「残りの 1 列」を表します)。

次に、使用Range(newCell)することで、そのセルで必要なこと、選択、書き込み、ecc を実行できます。

次の方法でラッパーを呼び出すことができます。wapper(MyCell.Address)

于 2013-07-01T08:04:35.293 に答える