小编dim*_*ris的帖子

如何确定是否隐藏了Excel范围?

在我的代码中,我包含一个布尔变量,我想在其中分配一个范围的隐藏属性的值.即,如果隐藏范围,则变量的值应为true,反之亦然.

在运行代码时,我得到一个'1004'运行时错误 - 无法获取Range类的Hidden属性.通过这个我假设在这种情况下隐藏属性是只写的(如果我错了,请纠正我).

有没有办法确定(在我的代码中,而不是通过观察)是否隐藏了范围/单元格?

我有一个名为"minas"的类,我正在尝试根据某些标准创建一个minas集合.

Public mines As Collection
Sub existing_months()
    Set mines = New Collection
    Dim min As minas
    Dim str As String
    Dim x As Range
    Dim y As Boolean
    For i = 1 To 12
        Set min = New minas
        Set x = Range("A1:A500").Find(i, LookIn:=xlValues, LookAt:=xlWhole)
        If x Is Nothing Then GoTo next_iteration:
        y = x.Hidden 'does not get the property
        Call min.initialize(x, y)
        str = min.minas & "/" & min.etos
        mines.Add min, str
        Debug.Print min.ref_range.Address …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

3
推荐指数
1
解决办法
8400
查看次数

Trim 函数和 WorksheetFunction.Trim 不会删除前导或尾随空格

我从工作表中的网站复制了一些数据,并注意到除了预期值之外的一些单元格还包含一个尾随空格。

由于给我的代码带来麻烦,我想删除这些空格。我发现了一个具有此空间的特定单元格并尝试:

Worksheets(2).Range("D17").Value = Trim(Worksheets(2).Range("D17").Value)
Run Code Online (Sandbox Code Playgroud)
  • 空间还在。

然后我尝试:

Worksheets(2).Range("D17").Value = WorksheetFunction.Trim(Worksheets(2).Range("D17").Value)
Run Code Online (Sandbox Code Playgroud)
  • 仍然没有运气。

Replace函数不仅删除前导和尾随,还删除字符串内的空格:

Worksheets(2).Range("D17").Value = Replace(Worksheets(2).Range("D17").Value," ","")
Run Code Online (Sandbox Code Playgroud)
  • 有些单元格包含两个词,所以这不是一个选项。

我可以检查最后一个字符是否为空格并为每个单元格删除它,但这似乎不是一个优雅的解决方案,主要问题仍然存在:为什么Trim函数不起作用?

excel vba trim

2
推荐指数
1
解决办法
1541
查看次数

标签 统计

excel ×2

vba ×2

excel-vba ×1

trim ×1