我正在尝试将Excel工作表调用为函数,但是出现错误 438 "OBJECT DOESN'T SUPPORT THIS PROPERTY OR METHOD"
下面的代码调用了applyStyle1
Dim wkb7 As Excel.Workbook
Set wkb7 = Excel.Application.Workbooks.Open(strDir&"\NEXTDAY.xls")
wkb7.ActiveSheet.Cells.Select
Selection.Copy
Set wks7 = wkb.Sheets.Add
applyStyle1 (wks7)
功能:
Function applyStyle1(wksContainer As Excel.Worksheet)
With wksContainer
......
End With
End Function
当用函数内的代码替换函数调用时,此代码有效,但是由于多次调用,因此我要求它在函数中而不是复制代码。谢谢您的宝贵时间,如果您需要更详细的说明,请提出建议。
第一个问题
该行strDir&"\NEXTDAY.xls"
应为strDir & "\NEXTDAY.xls"
。&
标志前后应有空格。
第二个问题
您已声明,wkb7
但正在使用wkb
中Set wks7 = wkb.Sheets.Add
。我建议使用Option Explicit
第三个问题
将@MarkHone建议的行更改Set wks7 = wkb.Sheets.Add
为
Set wks7 = wkb7.Worksheets.Add
第四个问题(您的实际问题!)
applyStyle1
是需要返回某些内容的函数。如果您未返回任何内容,请改用a Sub
。
例如
Sub Sample()
Dim wkb7 As Excel.Workbook
Dim wks7 As Excel.Worksheet
Set wkb7 = Excel.Application.Workbooks.Open(strDir & "\NEXTDAY.xls")
wkb7.ActiveSheet.Cells.Copy
Set wks7 = wkb7.Worksheets.Add
applyStyle1 wks7
End Sub
Sub applyStyle1(wksContainer As Excel.Worksheet)
With wksContainer
End With
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句