如何在函数中引用Excel工作表

 man_2_瞳皆哥仔 发布于 2023-02-06 11:37

我试图将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

当函数调用被函数中的代码替换时,此代码有效,但由于它被多次调用,我需要它在函数中而不是复制代码.感谢您的时间,如果您需要更详细的解释,请告诉我.

1 个回答
  • 第一个问题

    这条线strDir&"\NEXTDAY.xls"应该是strDir & "\NEXTDAY.xls".&标志前后应该有一个空格.

    第二个问题

    您已声明wkb7,但使用wkbSet wks7 = wkb.Sheets.Add.我建议使用Option Explicit

    第三个问题

    将@MarkHone建议的行更改Set wks7 = wkb.Sheets.Add

    Set wks7 = wkb7.Worksheets.Add
    

    第四个问题(你的实际问题!)

    applyStyle1是一个需要返回一些东西的函数.如果您没有返回任何内容,请使用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
    

    2023-02-06 11:38 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有