c# - 检查是否选择了整张纸?

标签 c# visual-studio excel vsto vba

如何检查用户是否选择了整个 Excel 工作表? 我尝试过使用以下内容。

selection.cells.count

但它给出了超出当前范围的异常。

有什么办法可以做到同样的事情吗?

最佳答案

如果您想测试UsedRange是否与中的Selection相同那么

  1. 您需要确保 UsedRange 已更新
  2. 还需要在没有范围选择的情况下解决错误

类似的东西给出了

  • 错误警告消息(无选择)
  • 对于相同的地址字符串为真
  • 对于不同的 Address 字符串为 False

代码

Sub TestData()
Dim strTest As String
'force usedrange to update
ActiveSheet.UsedRange
On Error Resume Next
strTest = (ActiveSheet.UsedRange.Address = Selection.Address)
On Error GoTo 0
If Len(strTest) = 0 Then
MsgBox "test failed: have you selected part of the sheet", vbCritical
Else
MsgBox strTest
End If
End Sub

关于c# - 检查是否选择了整张纸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13244580/

相关文章:

winforms - 如何检测工作站锁

excel - 根据相邻的下拉值更改 Excel 中的单元格颜色

sql-server - SQL 转 GROUP BY 计算日期

c# - 如何使用客户端对象模型检索呈现的 Sharepoint WebPart 数据

c# - T4 生成的程序集位置

c# - 在签名的程序集中使用未签名的程序集

c++ - 目标文件中未解析的外部符号

excel - 定义工作簿名称时,VBA类型不匹配

c# - 此 C 函数的正确 C# PInvoke 签名

C# 覆盖子类中的属性