私のカスタムVBA関数では、単一セルの引数だけを受け入れるようにします。パスmyRange as Range
Excel/VBA:引数として単一のセルを渡す
- と、デフォルトでは(どうやって?)左上のセルを取得:
- パス
myCell as Cell
か:それは何をやってのrightwayているのですか?ユーザーが複数の列と行との範囲を入力します、あなたはそれはあなたが質問に何を意味するかだ場合、関数を終了するには、次のチェックを行うことができますと仮定
- パス
私のカスタムVBA関数では、単一セルの引数だけを受け入れるようにします。パスmyRange as Range
Excel/VBA:引数として単一のセルを渡す
myCell as Cell
か:それは何をやってのrightwayているのですか?ユーザーが複数の列と行との範囲を入力します、あなたはそれはあなたが質問に何を意味するかだ場合、関数を終了するには、次のチェックを行うことができますと仮定
あなたが複数のセルを選択した場合、関数は終了します:
Function AcceptOneCell(rng As Range)
If (rng.Cells.Count > 1) Then
AcceptOneCell = "Only allow 1 cell"
Exit Function
End If
' your code here
End Function
+ 1に頼んだので、私はこのようにこの関数を呼び出すことができます –
----> AcceptOneCell(Cells(1,1))(それは動作しますか? – BKSpurgeon
はいセル(Range)がどのシートから来ているかを定義することもできます:Sheet1.Cells(1,1)。 – InContext
...
Function myFunction(ByRef myCell as Range) as SomeDataType_of_your_choice
Dim numRow as Long, numCol as Long
numRow = myCell.Columns.Count
numCol = myCell.Rows.Count
If numRow > 1 or numCol > 1 Then
MsgBox "Only one cell is accepted"
Exit Function
Else
'-- do other stuff you want to do here
End If
End Function
+1は、OPが何を与えるために –
topLeftValue = myRange.Cells(1, 1).Value
numRow = myCell.Columns.Count
numCol = myCell.Rows.Count
である必要があります
numColum = myCell.Columns.Count
numRow = myCell.Rows.Count
しばしば起こるかのようにパラメータ – bonCodigo
は実際に、解決策は、質問をした後に来るとあなたが同様の機能を表示することができます..あなたは '' MyFunctionの(範囲としてByRefのmyCell)に追加することができます: 'topLeftValue = myRange.Cells(1,1).Value' – user776686
は、あなたが探している以下の回答の検証ですか? – bonCodigo