乐天是也 2023-04-21 03:44 采纳率: 0%
浏览 34

vba 字典传入其他函数显示参数不可选

我先创建了一个字典,在在后续字典使用中将他传入另外一个函数中,但是编译的过程一直显示“参数不可选,我把我创建的案例代码放在下面,麻烦各位帮忙看看什么问题

以下是创建的主函数,其中main.ceshi (dic)是引入其他函数并填入dic字典这个参数

Sub dic()
    Dim dic As Dictionary
    Dim main As 类1
    Set main = New 类1
    Set dic = New Dictionary
    dic.Add a, b
    main.ceshi (dic)
End Sub

以下是引用函数

Sub ceshi(dic As Dictionary)
    Debug.Print dic(a)
End Sub

麻烦各位帮忙看看是什么问题

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-04-21 15:42
    关注
    • 以下回答由chatgpt基于相关博客总结生成:

      针对您的问题,根据描述,可能是您在将字典传入其他函数时没有使用正确的参数类型。建议您检查以下几点:

      1. 确保您将字典传入其他函数时使用了正确的参数类型。例如,如果函数需要一个Object类型的参数,您需要将字典参数转换为Object类型,示例代码如下:
      Function MyFunc(obj As Object)
          ' Your code here
      End Function
      
      Sub Main()
          Dim myDict As New Scripting.Dictionary
          ' Add items to dictionary
          MyFunc myDict ' Convert dictionary to object type
      End Sub
      
      1. 检查您的函数定义,以确保函数参数类型与传入的字典参数类型相匹配。例如,如果您的函数定义如下:
      Function MyFunc(arr() As String)
          ' Your code here
      End Function
      

      那么,您传入字典参数时就会报错,因为字典与字符串数组类型不同。要解决这个问题,您需要将函数参数类型更改为Object类型,示例代码如下:

      Function MyFunc(obj As Object)
          ' Your code here
      End Function
      
      1. 确保您正确地引用了字典和其他必要的库(例如,Microsoft Scripting Runtime或VBA.Collection)。如果您忘记引用这些库,或者引用了错误的库,那么您的代码在编译时就会报错。

      希望这些提示能够帮助您解决问题。如果问题仍然存在,请提供更多的代码和错误信息,以便我们更好地帮助您解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月21日

悬赏问题

  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥20 设计一个二极管稳压值检测电路
  • ¥15 内网办公电脑进行向日葵
  • ¥15 如何输入双曲线的参数a然后画出双曲线?我输入处理函数加上后就没有用了,不知道怎么回事去掉后双曲线可以画出来
  • ¥50 WPF Lidgren.Network.Core2连接问题
  • ¥15 soildworks装配体的尺寸问题
  • ¥100 有偿寻云闪付SDK转URL技术
  • ¥30 基于信创PC发布的QT应用如何跨用户启动后输入中文
  • ¥20 非root手机,如何精准控制手机流量消耗的大小,如20M
  • ¥15 远程安装一下vasp