我写了这段代码但收到错误:
Function getFileRange(ByVal objFilePath As String) As String
Dim xlApp As Object
Dim xlWb As Object
Dim xlSheet As Object
Dim rng As Object
Dim usedRng As Variant
Set xlApp = CreateObject("Excel.Application")
Set xlfile = xlApp.Workbooks.Open(objFilePath)
Set xlSheet = xlfile.Sheets(1)
usedRng = xlSheet.usedRange.Address
getFileRange = Replace(usedRng, "$", "")
For Each rng In usedRng
If rng.MergeCells Then
With rng.MergeArea
.UnMerge
.Formula = rng.Formula
End With
End If
Next
Debug.Print getFileRange
Workbooks.Close True
Set xlApp = Nothing
Set xlfile = Nothing
Set xlSheet = Nothing
End Function
如何在excel中将rng定义为范围?有关在vb访问中转换excel vb的任何参考资料吗? (我不知道你怎么说,我需要知道很多关于在访问中创建excel应用程序的反之亦然)
答案 0 :(得分:1)
您将其定义为Dim rng as Range
。
然后你应该设置它。 usedRng也是如此。范围的属性Address
是String
,您应该不引用它。通常,在您的代码中它看起来像这样:
Dim rng As Range
Dim usedRng As Range
set usedRng = xlSheet.usedRange
然后它可以工作。
如果您错过Microsoft Excel N Object Library
,也可以使用延迟绑定。那么像这样的事情可以做到这一点:
Dim rng As Object
Dim usedRng As Object
Set usedRng = xlSheet.usedRange