Vba 函数,该函数返回表示工作表行的字符串
我试图创建一个名为CreateRowRange的函数,它将接受一个格式为$a$5的字符串,并生成一个格式为A5:M5的字符串。类似地,如果我用$A$14调用函数,它将返回A14:M14。我有一个Excel电子表格,从A列到M列都有数据。我发现了一篇关于堆栈溢出的类似文章,但它似乎过于复杂。迄今为止为函数编写的代码是:Vba 函数,该函数返回表示工作表行的字符串,vba,excel,Vba,Excel,我试图创建一个名为CreateRowRange的函数,它将接受一个格式为$a$5的字符串,并生成一个格式为A5:M5的字符串。类似地,如果我用$A$14调用函数,它将返回A14:M14。我有一个Excel电子表格,从A列到M列都有数据。我发现了一篇关于堆栈溢出的类似文章,但它似乎过于复杂。迄今为止为函数编写的代码是: Function CreateRowRange(CellAddress) As String CreateRowRange = Range(CellAddress).Row
Function CreateRowRange(CellAddress) As String
CreateRowRange = Range(CellAddress).Row
End Function
这将返回您想要的内容:
Function CreateRowRange(CellAddress) As String
CreateRowRange = Range(Range(CellAddress),Range("M" & Range(CellAddress).Row)).Address(False,False)
End Function
这将返回您想要的内容:
Function CreateRowRange(CellAddress) As String
CreateRowRange = Range(Range(CellAddress),Range("M" & Range(CellAddress).Row)).Address(False,False)
End Function
好的,试试这个:
Function CreateRowRange(CellAddress as String) as String
CreateRowRange = Replace(CellAddress, "$", "")
CreateRowRange = CreateRowRange & ":" & Replace(CreateRowRange, "A", "M")
End Function
好的,试试这个:
Function CreateRowRange(CellAddress as String) as String
CreateRowRange = Replace(CellAddress, "$", "")
CreateRowRange = CreateRowRange & ":" & Replace(CreateRowRange, "A", "M")
End Function
Excel已经内置了用于修改范围的属性和方法。如果你想像这样使用它
Range(CreateRowRange("$A$14")).Value = "X"
然后你就可以用它来实现同样的目标
Range("$A$14").Resize(1,13).Value = "X"
ActiveCell.Formula = "=SUM(" & Range("A14").Resize(1,13).Address(0,0) & ")"
如果你在建立一个公式,比如
ActiveCell.Formula = "=SUM(" & CreateRowRange("$A$14") & ")"
然后你就可以用它来实现同样的目标
Range("$A$14").Resize(1,13).Value = "X"
ActiveCell.Formula = "=SUM(" & Range("A14").Resize(1,13).Address(0,0) & ")"
0,0部分使地址具有相关性-没有美元符号Excel已经内置了修改范围的属性和方法。如果你想像这样使用它
Range(CreateRowRange("$A$14")).Value = "X"
然后你就可以用它来实现同样的目标
Range("$A$14").Resize(1,13).Value = "X"
ActiveCell.Formula = "=SUM(" & Range("A14").Resize(1,13).Address(0,0) & ")"
如果你在建立一个公式,比如
ActiveCell.Formula = "=SUM(" & CreateRowRange("$A$14") & ")"
然后你就可以用它来实现同样的目标
Range("$A$14").Resize(1,13).Value = "X"
ActiveCell.Formula = "=SUM(" & Range("A14").Resize(1,13).Address(0,0) & ")"
0,0部分使地址具有相关性-无美元符号这很好,我被OPs对range的使用抓住了,忘记了输入和输出都是字符串。这很好,我被OPs对范围的使用抓住了,忘记了输入和输出都是字符串。@PublicTechie2015可以随意接受任何一个答案为正确。@PublicTechie2015可以随意接受任何一个答案为正确。我想我只是在你之前的问题中解决了这个问题……我想我只是在你之前的问题中解决了这个问题问题