spread选中一个范围的单元格,怎么获取最后选中的单元格的行
spread选中一个范围的单元格,怎么获取最后选中的单元格的行比如我最后选中了10.00这个单元格,怎么得到10.00的行索引呢?
Dim selectionArr As FarPoint.Win.Spread.Model.CellRange() = fs.Sheets(sheet).GetSelections()
If fs.Sheets(sheet).RowCount = 0 OrElse selectionArr.Length = 0 Then
Return -1
End If
'满足条件说明从下往上选择
If fs.Sheets(sheet).ActiveRowIndex > selectionArr(0).Row Then
Return fs.Sheets(sheet).ActiveRowIndex - selectionArr(0).RowCount + 1
End If
'不满足说明从上往下选择或者只选择一列
Return selectionArr(0).RowCount + selectionArr(0).Row - 1 你意思是有时候选择区域时是从 右下 往 左上 来选择的吗,我看你说的这个10.00这个单元格还是左上角的单元格。
这个目前没有办法判断,selection的变化目前没有相关事件。不然还可以判断一下变化时鼠标释放的位置来大概判断一下 您看我上面的代码是否可以,将fs.Sheets(sheet).ActiveRowIndex 作为起始行,将fs.Sheets(sheet).ActiveRowIndex加上或者减去选中的行数 如果你只是想要获取“最后选中的单元格的行”,那么就直接用ActiveRowIndex就行吧。
不需要再用其他的代码 ActiveRowIndex是点中的行,如果我从右下到左上选中范围,ActiveRowIndex是右下行的索引 明白了,那你就按照你上面的代码逻辑来判断就行,这个没什么问题
页:
[1]