首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA尝试创建一个函数,该函数将在不重复的情况下为彼此随机分配名称,但遇到编译错误:预期的数组

VBA是Visual Basic for Applications的缩写,是一种用于Microsoft Office应用程序的编程语言。在VBA中,可以使用函数来实现各种功能。根据您的描述,您想要创建一个函数,该函数可以在不重复的情况下为彼此随机分配名称。然而,您遇到了编译错误,错误信息是“预期的数组”。

这个错误通常是由于在代码中使用了数组,但未正确声明或初始化数组导致的。为了解决这个问题,您可以按照以下步骤进行操作:

  1. 确保您已经正确声明了数组。在VBA中,您可以使用Dim语句来声明一个数组。例如,如果您想要声明一个名为names的字符串数组,可以使用以下代码:
  2. 确保您已经正确声明了数组。在VBA中,您可以使用Dim语句来声明一个数组。例如,如果您想要声明一个名为names的字符串数组,可以使用以下代码:
  3. 在使用数组之前,确保您已经对其进行了初始化。在VBA中,可以使用ReDim语句来初始化数组的大小。例如,如果您想要将names数组初始化为10个元素,可以使用以下代码:
  4. 在使用数组之前,确保您已经对其进行了初始化。在VBA中,可以使用ReDim语句来初始化数组的大小。例如,如果您想要将names数组初始化为10个元素,可以使用以下代码:
  5. 确保您在代码中正确地使用了数组。例如,如果您想要为数组中的每个元素赋值一个随机名称,可以使用循环结构(如For循环)来遍历数组,并使用随机函数来生成名称。以下是一个示例代码:
  6. 确保您在代码中正确地使用了数组。例如,如果您想要为数组中的每个元素赋值一个随机名称,可以使用循环结构(如For循环)来遍历数组,并使用随机函数来生成名称。以下是一个示例代码:
  7. 在上面的示例中,GenerateRandomName()是一个自定义函数,用于生成随机名称。

总结起来,要解决编译错误“预期的数组”,您需要确保正确声明和初始化数组,并在代码中正确使用它们。如果问题仍然存在,请检查您的代码是否存在其他语法错误或逻辑错误。

关于VBA和数组的更多信息,您可以参考以下链接:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Excel编程周末速成班第26课:处理运行时错误

尝试访问不存在数组元素是一个常见示例。例如: Dim MyArray(100) As Single … MyArray(150) = 1.2 ‘导致错误!...当你尝试使用尚未初始化对象变量(即,对象尚未实例化)时,会发生另一个与代码相关常见错误。...提示:由于VBA过程内容彼此独立,因此可以在多个过程中为错误处理代码使用相同标签。...集中通过一个或几个过程进行一些错误处理可能很诱人,建议你避免这种做法,并为每个过程赋予其自己错误处理代码。 提示:错误处理对于所有VBA过程(包括函数和类方法)都以相同方式工作。...但是,如果没有打开,则会发生错误。程序可以在无法提前知道是否打开特定工作簿情况下使用此功能。清单26-3展示了一个函数,该函数在打开时返回对工作簿引用,或者在没有打开时返回Nothing。

6.7K30

如何在TypeScript中使用基本类型

我们创建变量并为其分配一个值,但不指定类型,如下所示: const language = { name: "JavaScript" }; 在此代码块中,语言是一个对象,其中包含属性名称字符串值。...使用 Array Generic,其中 T 是数组中元素预期类型。...想象一下,我们正在创建一个包含元素类型文字数组: const position: [number, number] = [1, 2]; 如果我们尝试传递元素数量少于或多于元组预期元素数量,TypeScript...稍后在同一代码中,我们可以将代码设置为一个数字: code = 35; 后来我们可以将它分配一个数组: code = [12345]; 我们甚至可以将它重新分配一个对象: code = {}; 如果稍后在代码中...如果将不返回值函数结果分配给变量,则变量将具有 void 类型。

3.7K10
  • JavaScrip最容易犯十大错误及其避免方法()

    未定义通常是尚未分配变量,而null表示值为空。...因此,如果DOM元素之前有标记,则脚本标记中JS代码将在浏览器解析HTML页面时执行。 如果在加载脚本之前尚未创建DOM元素,则会出现此错误。...Uncaught RangeError 这是在几种情况下Chrome中发生错误。 一种是当你调用一个终止递归函数时。 您可以在Chrome开发者控制台中对此进行测试。 8....TypeError: Cannot read property ‘length’ 您通常会在数组中找到定义长度,如果未初始化数组或者在另一个上下文中隐藏变量名,则可能会遇到错误。...如果使用strict编译器选项,一个静态类型检查系统(如Typescript)可以帮助您避免它们。如果预期类型尚未定义,它可以警告您。

    14810

    你必须掌握 7 种 JavaScript 错误类型

    接下来,我们尝试数组扩展为包含90 ** 99 = 2.9512665430652753e + 193元素。 这个数字超出了数组最大长度范围。...当在记录中找到环境值并提取并返回值时,将以变量名称作为关键字搜索环境记录。 调用尚未定义函数。 现在,当我们创建或定义一个没有赋值变量时。...变量以键作为变量名称写入环境记录,值将保持未定义状态。...,将在env记录中搜索变量,当找到初始未定义值时,赋值将被覆盖。...就我们键入代码而言,这是一个稳定事件。 为了克服它,我们需要知道可以抛出本机错误类型。 我们在这篇文章中列出了它们,并提供了一些示例来说明它们是如何遇到

    4K10

    Debug和Release之本质区别

    (即编译assert函数)  /GF 合并重复字符串,并将字符串常量放到只读内存,防止被修改      实际上,Debug 和 Release 并没有本质界限,他们只是一组编译选项集合,编译器只是按照预定选项行动... Debug 方式下,栈访问通过 EBP 寄存器保存地址实现,如果没有发生数组越界之类错误(或是越界“不多”),函数通常能正常执行;Release 方式下,优化会省略 EBP 栈基址指针,这样通过一个全局指针访问栈就会造成返回地址错误是程序崩溃...如果你程序是多线程,或者你发现某个变量值与预期不符而你确信已正确设置了,则很可能遇到这样问题。这种错误有时会表现为程序在最快优化出错而最小优化正常。...例如,函数中有一个未被使用变量,在 Debug 版中它有可能掩盖一个数组越界,而在 Release 版中,这个变量很可能被优化调,此时数组越界会破坏栈中有用数据。当然,实际情况会比这复杂得多。...要特别注意是,很多人认为编译器会用 0 来初始化变量,这是错误(而且这样很不利于查找错误)。 2.  通过函数指针调用函数时,会通过检查栈指针验证函数调用匹配性。(防止原形匹配) 3.

    3.8K90

    50个常见 Java 错误及避免方法(第一部分)

    在开发Java软件时可能会遇到许多类型错误大多数是可以避免。为此我们罗列了50个最常见Java编码错误,其中包含代码示例和教程,以帮助大家解决常见编码问题。...有些开发者甚至认为这是由坏代码造成。 通常,创建表达式是为了生成新值或为变量分配值。编译器期望找到表达式,但因为语法不符合预期而找不到表达式。...构造函数名称不需要声明类型。 但是,如果构造函数名称中存在错误,那么编译器将会把构造函数视为没有指定类型方法。...编译器抛出“Missing Return Statement”消息原因有若干: 返回语句由于错误被省略。 方法没有返回任何值,类型void在方法签名中未声明。...“Possible Loss of Precision”错误通常发生在: 尝试为整数数据类型变量分配一个实数。 尝试为整数数据类型变量分配一个double。

    2.1K30

    【Rust学习】03_常用编程概念

    编译错误可能令人沮丧,实际上它们只意味着您程序尚未安全地执行您希望它执行操作;这并不意味着您不是一个程序员!有经验 Rustaceans 仍然会遇到编译错误。...当我们尝试更改指定为不可变值时,遇到编译错误非常重要,因为这种情况可能会导致错误。...mut和遮蔽 另一个区别是,由于当我们再次使用 let 关键字时,我们实际上是在创建一个新变量,因此我们可以更改值类型,并重复使用相同名称, 由此可得mut性能要更好,因为mut 声明变量,修改是同一个内存地址上值...("author function")}我们在 Rust 中定义一个函数,方法是输入 fn 后跟一个函数名称和一组括号。大括号告诉编译函数开始和结束位置。...该函数 plus_one 定义说它将返回一个 i32 ,语句计算结果不为一个值,值由 () 单位类型 表示。因此,返回任何内容,这与函数定义相矛盾并导致错误

    15210

    APT分析报告:04.Kraken新型无文件APT攻击利用Windows错误报告服务逃避检测

    该文档包含一个恶意宏,宏使用CactusTorch VBA模块修改版,通过使用VBScript将.Net编译二进制文件加载到内存中来执行,以进行无文件攻击。...二进制文件通过将嵌入式Shellcode注入Windows错误报告服务(WerFault.exe)来推进了感染链,此策略用于尝试逃避检测。...在撰写本文时,尽管有一些因素让我们认为其是越南APT32组织,目前仍然不能明确指出这次攻击幕后发动者。 WerFault.exe是一个Windows系统自带程序,用于错误报告显示。...在其内部,我们看到一个恶意宏,宏使用CactusTorch VBA模块修改版来执行其Shellcode。...在下一步中,它将创建一个序列化BinaryFormatter对象,并使用BinaryFormatterdeseralize函数反序列化对象。

    99830

    JavaScript 编程精解 中文第三版 八、Bug 和错误

    关于类型一点是,他们需要引入自己复杂性,以便能够描述足够有用代码。 你认为从数组中返回一个随机元素randomPick函数类型是什么?...程序目前输出表明程序中是存在bug。...这样问题往往以更微妙方式出现。 即使是那些看起来不像是会抛出异常函数,在特殊情况下,或者当他们包含程序员错误时,也可能会这样。 解决这个问题一个方法是使用更少副作用。...这使得这种错误不太可能被忽视,并且当它们发生时更容易找到它们原因。 我建议尝试为每种可能不良输入编写断言。 这将是很多工作,并会产生非常杂乱代码。..._content; } }; 这是一个带锁箱子。其中有一个数组只有在箱子被解锁时,才可以访问数组。不允许直接访问_content属性。

    1.2K100

    Python让Excel飞起来:使用Python xlwings实现Excel自动化

    然而,它需要一点VBA来允许Excel调用Python函数。 Python脚本 让我们首先编写一个简单Python函数,该函数生成10个随机数,然后将它们放在Excel工作表单元格A1中。...单击按钮,将在单元格A1至J1中填充10个随机数,如下图11所示。...我们似乎在使用Excel函数其实在后台,Python正在进行所有计算,然后通过Excel向用户显示结果。这意味着,由于Python强大功能,我们可以创建非常复杂函数。...要说明是,在某些情况下,可能会弹出“Automatio error 440”错误消息提示,则需要进行一些设置。...图13 然后,到VBA编辑器中,设置对“xlwings”引用,如上文中图10所示。 调试 刚开始可能会遇到两个常见错误是: 1.“Automatio error 440”(自动化错误404)。

    8.9K41

    攻击本地主机漏洞(中)

    您刚刚溢出了输入缓冲区,并在程序中创建一个分段错误。...Metasploit有两个工具可以促进此活动,msf-pattern_create(或pattern_create),它创建一个唯一模式作为包含任何重复序列输入缓冲区(而不是a)发送,以及msf-pattern_offset...接下来,继续并退出gdb,然后让我们生成随机模式,并将其用作易受攻击程序参数。在命令行中执行以下命令: 您应该会收到预期分段错误(SIGSEGV)。...我们需要此选项来删除可能位于行尾空字符(0x00)。如果函数读取空字符,它将停止读取剩余有效负载,从而阻止我们获取shell,我们希望发生这种情况。 13....现在,用您最喜欢编辑器程序(即vi、nano等)打开脚本,让我们看看脚本中有什么内容,以便更好地了解幕后情况以及利用情况。脚本第一部分将使用您在命令行中提供名称在当前工作目录中创建一个文件。

    1.4K20

    「音视频直播技术」JNI编程常见问题

    检查标志第二个原因,是有效地处理JNI_ABORT。例如,您可能需要得到一个数组,修改它,并将其传递给其他函数,然后丢弃更改。如果您知道JNI正在为您制作新副本,则无需创建一个“可编辑”副本。...扩展检查包括: 数组尝试分配负大小数组错误指针:将一个jarray/jclass/jobject/jstring传递给JNI调用,或者传递一个NULL指针到一个不可空参数JNI调用。...检查logcat输出,了解有关库加载消息。 方法由于名称或签名匹配而未找到。这通常是由: 对于惰性方法查找,未能使用extern“C”声明C ++函数和适当可见性(JNIEXPORT)。...如果您自己创建一个线程,可能会遇到麻烦(可能通过调用pthread_create然后使用AttachCurrentThread连接)。现在您应用程序没有堆栈帧。...在某些实现中,GetByteArrayElements和GetPrimitiveArrayCritical将返回实际指向托管堆中原始数据指针,另一方面,它将在本机堆上分配一个缓冲区并复制数据。

    1.6K20

    【读码JDK】-java.lang包介绍

    当应用程序尝试名称访问枚举常量并且枚举类型包含具有指定名称常量时抛出 Error Error是Throwable一个子类,表示严重错误,不应该捕获 Exception Throwable子类...通常,编译器会捕获此错误; 如果类定义兼容地更改,则此错误只能在运行时发生 IllegalAccessException 当应用程序尝试反射创建实例(数组除外),当前正在执行方法无法访问指定类字段...layer 失败时抛出 LinkageError 表示某个类对另一个类存在依懒性,一个编译后,两个类存在兼容现象 Long 基本类型long包装类 Math 包含一些计算方法 Module...通常,编译器会捕获此错误; 如果类定义兼容地更改,则此错误只能在运行时发生。...通常,编译器会捕获此错误; 如果类定义兼容地更改,则此错误只能在运行时发生。

    1.5K20

    这些年,为了在 Excel 中给序列去重,不知道坑死了多少人

    如果你希望自己总是要修改自己做过事情,那就请记住这条铁律:在系统中,一个功能(公式)使用后,请忘记它,且功能(公式)永远保持预期逻辑,绝不出错。这就是罗叔给出 Excel 第一定律。...Excel 透视表去重 这个非常简单,只需要基于订单数据创建透视表,然后即可,如下: 永强说,这个就满足罗叔你说 Excel 第二定律:当一个功能使用后,忘记,且功能永远保持预期逻辑,绝不出错。...,如果您不清楚数组函数,不要紧,本文不是数组函数广告, Care。...以上全错 对上述完美方案来说,确实是无懈可击,而且方案考虑了中文版和英文版以及错误处理,可谓函数终极版,罗叔非常期待有人说他可以想出一个函数方法,可以在违反我们所谈到 Excel 4...这里再次一起说明: DRY定律,Don’t Repeat Yourself,当你在Excel中不断重复一个操作时候,一定有一个一键解决方法只是你不知道,或者微软还没开发这个功能, 99% 情况是前者

    2.7K30

    Apple 营收有望再创新高 | Swift 周报 issue 47

    提案解决了由于同步、非隔离函数中缺乏静态信息而导致当前动态隔离断言失败情况。 其动机通过一个示例来说明,其中参与者直接使用自定义执行器,从而导致错误参与者执行器假设。...但是,当尝试使用以 URL 作为参数 NSAttributedString 初始值设定项从 HTML 文件创建 NSAttributedString 时,会遇到代码 65806 错误,并且控制台消息为...5) 讨论来自镜像主题数组构造函数?内容大概提案建议在 Swift 中为数组类型引入一个初始值设定项,允许从镜像主题创建它。...遇到错误消息是:“在 ModelContainer.swift 第 144 行发现致命错误,未能找到当前活动分配容器。”...他们寻求澄清这种方法是否可以接受,或者是否有更好解决方案可以在违反任何规则情况下实现预期结果。

    13032

    34. Groovy 语法 类型知识详解-第一篇

    方法调用在编译时解析,这意味着如果没有在类上声明方法,编译器将抛出错误 通常,在静态语言中查找所有编译错误都会出现:方法未找到、属性未找到、方法调用兼容类型、数字精度错误等… 下面让我们描述类型检查器在各种情况行为...或者o 是空,T不是一个基本类型。 或者T和A 是一个数组, A 组件类型可分配给 T 组件类型。...或者T 是一个数组,A 是一个集合或流(stream ), A组件类型可分配给 T组件类型。 或者T 是 A 超类。 或者T是由 A 实现接口。...或者T是一个数组,A是一个数组,A组件类型可以分配给T组件类型。 或者T是A超类。 或者T是A实现接口。 或者T或A是基本类型,它们封装类型是可赋值。...但是,如果尝试创建MyService实例并调用doSomething方法,那么它将在运行时失败,因为printLine不存在。

    68710

    你应该知道7 个 JavaScript 原生错误类型

    从浏览器控制台到运行 Node.js 终端,我们到处都会看到错误。 本文重点是概述我们在 JS 开发过程中可能遇到错误类型。 ---- 1....接下来,尝试数组扩展为包含 90**99 == 2.9512665430652753e+193 个元素。 这个数字超出了数组大小可以增长范围。...当在记录中找到环境值并提取并返回值时,将以变量名称作为关键字在环境记录进行搜索。调用尚未定义函数。 现在,当我们创建或定义一个没有赋值变量时。...,将在环境记录中搜索变量,当发现它未定义值时,赋值将被覆盖。...它说 “h” 是意外,它破坏了cat 变量声明。 因此,可以说语法错误在解析或编译期间发生。 4.

    2.6K20

    《Python for Excel》读书笔记连载1:为什么为Excel选择Python?

    2020年底,微软推出了lambda函数,允许你用Excel自己公式语言编写可重用函数,而不必依赖VBA等其他语言。...图1-1 对于这个简单货币转换器来说,这不一定是一个问题,通常情况下,一开始只是一个Excel文件,很快就会变成一个更大应用程序。如何改善这种情况?...没有重复代码意味着更少代码行和更少错误,这使得代码更易于维护。 如果编写VBA,最常见可重用代码是函数。例如,通过函数可以从多个宏访问同一代码块。...如果你有多个一直在使用函数,可能希望在工作簿之间共享它们。跨工作簿共享VBA代码标准工具是加载宏,VBA加载宏缺乏一种可靠分发和更新方式。...虽然Microsoft引入了Excel网络加载宏商店来解决问题,这只适用于基于JavaScript加载宏,因此VBA编码人员没有选择。这意味着在VBA中使用复制/粘贴方法仍然非常常见。

    5.2K20

    一文看懂 PHP 8 新特性

    只要缓存具有对这些实体对象引用,就不能对其进行垃圾回收,即使缓存是唯一引用它们对象也是如此。 如果缓存层使用了弱引用和映射,则 PHP 将在没有其他引用时对这些对象进行垃圾回收。...根据情况你会得到INF、-INF或NAN,而不是错误。 新 get_debug_type() 函数 get_debug_type()返回一个变量类型。听起来像gettype()功能?...这些资源中每一个分配一个 ID,以前唯一知道 ID 方法是将资源转换为int: $resourceId = (int) $resource; PHP 8 添加了get_resource_id(...ext-json 始终可用 以前,可以在启用 JSON 扩展情况编译 PHP,以后就不行了。现在,开发人员知道 JSON 是一直能用,而不需要提前确认扩展是否可用。...异常取代了警告 尝试修改非对象'%s'属性:Error异常取代了警告 尝试分配非对象'%s'属性:Error异常取代了警告 从空值创建默认对象:Error异常取代了警告 试图获取非对象'%s'属性

    2.6K10
    领券