사용자 지정 VBA 함수에 단일 셀 인수 만 허용하려고합니다. 그 일의 rightway 무엇인가Excel/VBA : 단일 셀을 인수로 전달
- 패스
myCell as Cell
나 : 기본적으로
- 패스
myRange as Range
얻을 왼쪽 상단 셀 (어떻게?)? 그건 당신이 질문에 무엇을 의미하는 경우 여러 열과 행 범위를 입력합니다 사용자를 가정 는
사용자 지정 VBA 함수에 단일 셀 인수 만 허용하려고합니다. 그 일의 rightway 무엇인가Excel/VBA : 단일 셀을 인수로 전달
myCell as Cell
나 : 기본적으로
myRange as Range
얻을 왼쪽 상단 셀 (어떻게?)? 그건 당신이 질문에 무엇을 의미하는 경우 여러 열과 행 범위를 입력합니다 사용자를 가정당신은 하나의 셀 이상을 선택하면 기능이 종료됩니다 :
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
예 셀 (범위)이 나오는 시트를 정의하는 것도 좋습니다 : 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
될해야 `topLeftValue =
numColum = myCell.Columns.Count
numRow = myCell.Rows.Count
당신이 자주 발생하는 경우, 솔루션은 질문 후 오는대로, 실제로 매개 변수 – bonCodigo
로'MYFUNCTION (범위로하는 ByRef myCell) '에 추가 할 수 있습니다 ..뿐만 아니라 기능을 보여줄 수 myRange.Cells (1, 1) .Value' – user776686
은 다음과 같은 답변의 유효성 검사입니다. – bonCodigo