see*_*oon 3 excel vba excel-vba
我刚刚经历了一个宏的突然失败.它调用以下函数,该函数使用选定的可选分隔符连接一系列单元格:
Public Function MAKELIST(ByVal cellRange As Range, Optional ByVal delimiter As String)
'Function to join a range of cells together with an optional
Dim c As Range
Dim newText As String
Dim Count As Integer
Count = 0
newText = ""
For Each c In cellRange
Count = Count + 1
newText = newText & c.Value
If Count < cellRange.Count Then
newText = newText & delimiter
End If
Next
MAKELIST = newText
End Function
Run Code Online (Sandbox Code Playgroud)
它只是简单地将手动输入的单元格数据连接在一起 - 任何值似乎都会破坏它.似乎问题在于如何引用/调用函数(抱歉,不是命名法)而不是函数本身.
这很完美.我在文件夹之间移动文件,它突然停止工作,#NAME每次都返回错误.代码中没有任何变化,因此我使用相同的VBA 将其更改MAKELIST为MAKELIST2.这非常有效.但是,我显然不希望在工作簿中更改对该函数的每个引用,并且我希望它具有健壮性和面向未来,因此这不会发生在其他用户身上.任何人都可以解释为什么会发生这种情况?
谢谢!
看到有问题的范围会很有用.虽然你可以使用这个更短的功能
[更新以处理多个列范围]
Public Function MAKELIST2(ByVal cellRange As Range, Optional delimiter As String)
Dim rng1 As Range
For Each rng1 In cellRange.Columns
MAKELIST2 = MAKELIST2 & Join(Application.Transpose(rng1), delimiter)
Next
End Function
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1797 次 |
| 最近记录: |