数组的 IsEmpty() 函数

2023-12-26

我想测试我的数组是否为空。

我尝试使用该功能IsEmpty(),但函数总是返回False。并且不要输入 if 条件。

我的代码如下:

Sub Freeze()

    Dim tab_freeze() as variant

    If IsEmpty(tab_freeze) Then
        ReDim tab_freeze(0)
    Else
        ReDim Preserve tab_freeze(UBound(tab_freeze) + 1)
        tab_freeze(UBound(tab_freeze)) = "As you want here"
     End If

End Sub

我希望函数知道我的数组是否tab_freeze是否为空。 或者明白为什么IsEmpty(tab_freeze)回报False第一次。


IsEmpty是一个标准库函数,返回True当一个变量类型Variant has an Empty亚型(Variant/Empty),这恰好是这种情况Range.Value当单元格中没有内容时。

就您而言,您处理的不是Variant,你正在处理一个dynamic的数组Variants. Dynamic意味着您首先必须使用命令为特定数量的元素分配空间ReDim。你可以使用IsEmpty(tab_freeze(1))检查第一个元素是否已初始化 - 但这可能不是您想要的。

不幸的是,VBA 上没有内置函数来检查动态数组是否已分配。有很多建议如何检查,例如如何在vba宏中检查空数组 https://stackoverflow.com/questions/206324/how-to-check-for-empty-array-in-vba-macro。就我个人而言,我使用以下例程。它检查变量是否声明为数组及其边界。如果没有分配数组,LBound and UBound返回运行时错误(因此该函数不会得到True)。但它也处理返回值split("")- 这将给出LBound0 和UBound of -1

Function IsArrayAllocated(arr As Variant) As Boolean
    On Error Resume Next
    IsArrayAllocated = isArray(arr) _
                   And Not IsError(LBound(arr, 1)) _
                   And LBound(arr, 1) <= UBound(arr, 1)
End Function
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数组的 IsEmpty() 函数 的相关文章

  • 数组所有可能的组合

    我有一个字符串数组 ted williams golden voice radio 我希望这些关键字的所有可能组合采用以下形式 ted williams golden voice radio ted williams ted golden
  • 如何在 PHP 中比较两个数组并列出差异?

    我正在构建一个表单来执行以下操作 打印从 MySQL 获取的用户和权限表 用户拥有的每一项权限都是一个复选框 而他们缺少的每一项权限都是一个未选中的复选框 允许管理员选中和取消选中复选框以授予或删除权限 提交表单后 显示一个确认页面 其中仅
  • 如何使用现有列表创建二维数组?

    例如 我有一个名为 mazeline 的 txt 数据 如下所示 abcd cdae korp 所以我首先列出了 3 个清单 mazeline readmaze split mline0 list mazeline 0 mline1 lis
  • 在汇编中初始化字符串数组

    我想创建一个数据数组 在初始化数据部分保存 5 个字符串 每个字符串正好有 4 个字符 每个字符串都有一些初始数据 例如第一个字符串的 abcd 第二个字符串的 efgh 等等 无效的 0任何字符串都不需要字符 如何用汇编语言初始化字符串数
  • 在 CodeIgniter 中将数组与 Calendar 类一起使用

    我正在尝试为我的日历应用程序创建一个相当复杂的数组 它应该包含日期 日期名称 类型 和事件 如果有 我已经创建了这个 dates 22 day gt Friday type gt weekday 23 day gt Saturday typ
  • Pandas.read_excel 有时会错误地将布尔值读取为 1/0

    我需要将一个非常大的 Excel 文件读入 DataFrame 中 该文件包含字符串 整数 浮点和布尔数据 以及丢失的数据和完全空的行 还值得注意的是 某些单元格值源自单元格公式和 或 VBA 尽管理论上这不会影响任何内容 正如标题所示 p
  • 使用宏从 Excel 电子表格中删除任何非指定字符

    我正在尝试通过删除任何非标准字符来清理 Excel 中的 CSV 文件 我唯一关心保留的字符是 A Z 0 9 和一些标准标点符号 任何其他字符 我想删除 当它找到包含我未指定的任何字符的单元格时 我已经得到了以下宏来删除整行 但我不确定如
  • 生成Excel文件错误

    我在经典 ASP 中使用以下代码生成 Excel 文件 代码很简单并且有效 我在 Windows Vista x86 上的 IIS 7 0 下运行代码 两个问题 有一个奇怪的警告框 这是屏幕快照 http i27 tinypic com 2
  • 调试VBA、定位问题及排查方法[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有哪些方法调试VBA代码 具体来说 单步执行代码 断点和停止命令 TheDebug command 当地人和观察窗 调用栈 调试 VB
  • 使用 LAMBDA 在 Excel 中生成所有排列

    这是一个经常被问到和回答的问题 如何在 Excel 中生成所有排列 2011 https stackoverflow com questions 5724373 permutations in excel 2016 https stacko
  • 如何构建 if 语句并与各种值进行比较?

    我该怎么写这个if以更好的方式声明条件 if data in 8 downto 1 x 70 or data in 8 downto 1 x 69 or data in 8 downto 1 x 72 or data in 8 downto
  • VB6/VBA 中对象清除/数组释放真的有必要吗(优点/缺点?)[重复]

    这个问题在这里已经有答案了 我从使用静态代码分析 特别是 Aivosto 的项目分析器 中学到了很多关于 VB 的知识 它检查的一件事是您是否清除了所有对象和数组 我以前只是盲目地这样做 因为PA这么说 但现在我对 VB 释放资源的方式有了
  • 在 C 中将字符追加到字符数组

    我想将一个字符附加到代表字符串的字符数组中 我正在使用结构来表示字符串 struct String char c int length int maxLength String realloc弄乱了我的数组 当我打印字符串时 它会从内存中打
  • 如何实现 Vec 的修剪?

    Rust 提供了字符串的修剪方法 str trim http doc rust lang org stable std primitive str html method trim删除前导和尾随空格 我想要一个对字节串执行相同操作的方法 应
  • python XlsxWriter 设置多个单元格周围的边框

    I need an easy way to set border around multiple cells like so 我发现的只是 1 个单元格的边框 并合并单元格 这不是我需要的 我期待类似的事情 worksheet range
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • 如何实现n个元素的查找和插入操作的动态二分查找

    这个想法是使用多个数组 每个长度为 2 k 根据 n 的二进制表示来存储 n 个元素 每个数组都是排序的 不同的数组没有以任何方式排序 在上述数据结构中 SEARCH是通过对每个数组进行一系列二分查找来进行的 INSERT 是通过一系列相同
  • 如何根据单元格的值更改单元格的格式和文本。 (条件格式)

    您好 我想根据单元格的值更改单元格的填充颜色和文本 假设我有以下价值观 我想让它像这样 对我来说 填充颜色很简单 因为我只需执行条件格式即可 然而 文字却让事情变得困难 如何将单元格值更改为文本 如上面的示例 谢谢 为颜色创建条件格式规则
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • XCode 4.3 通过输入自动在 TextView 中从剪贴板文本

    我在iPhone模拟器和iPhone设备上找不到有关剪贴板的一些信息 我有一个 textView 当我输入 textView 时 我想查看剪贴板中的文本 我希望有人能帮助我 此致 约翰 也许看看UIPasteboard类参考 https d
  • 点到多面体或多边形的距离

    我有一个多面体表面 我想找到它与给定点之间的最小距离P 由于多面体是由 3d 空间中的许多多边形定义的 因此我想到的一种方法是比较到每个多边形的距离并选择最短距离 我仍然不确定 Gilbert Johnson Keerthi 的实现 htt
  • Spring Cloud - hystrix-dashboard 不工作?

    Spring Cloud Hystrix 断路器模式示例 我在代码中添加了以下依赖项https howtodoinjava com spring spring cloud spring hystrix Circuit breaker tut
  • 通过更改底层数组动态更新 dom-repeat 模板

    是否有 Polymer dom api 方法或其他方法可以使用附加元素自动更新重复模板 如果底层数组需要更新 我有一个动态数组 它通过 ajax 调用重复进行更新 该数组不断改变其长度 元素根据 ajax 响应增量添加或删除 该数组通过以下
  • 根据活动数据创建 id 列

    我有一张桌子EVENTS USER EVENT TS EVENT TYPE abc 2016 01 01 08 00 00 Login abc 2016 01 01 08 25 00 Stuff abc 2016 01 01 10 00 0
  • 如何读取 Windows 7 上的启动时间事件?

    我尝试使用 ETW 函数读取文件但没有成功 C Windows System32 winevt Logs Microsoft Windows Diagnostics Performance 4Operational evtx 为了捕获启动时
  • 在运行时将实例方法设为私有

    在另一个对象中注册该对象后 我需要将一些实例方法设为私有 我不想冻结该对象 因为它必须保持可编辑状态 只是功能较少 我不想取消定义这些方法 因为它们是在内部使用的 我需要的是这样的 class MyClass def my method p
  • 将列表拆分为N个列表,并将每个列表分配给多线程中的一个worker

    我正在编写一个脚本 它从表中获取 N 条记录 并通过多线程处理所述记录 以前 我只是在每个工作定义中的 SQL 语句中使用 Order by RAND 并希望不会出现重复 这种工作 重复数据删除稍后完成 但是 我想通过以下方式使我的脚本更加
  • Woocommerce - 允许针对不同状态再次订购

    我希望允许Order Again所有状态的功能 默认情况下 WooCommerce 仅允许状态为 已完成 的订单使用此功能 这似乎是一个两步过程 因为第一步需要向用户显示按钮 这是通过编辑此文件来完成的 wc template functi
  • libclang:添加编译器系统包含路径(Windows 中的 Python)

    按照此question https stackoverflow com questions 37098725 parsing with libclang unable to parse certain tokens python in wi
  • Nodejs HTTP Createserver - 从 html 文件提供服务时不可预测的 javascript 执行

    当我从我的 Node js Web 服务器提供具有一些 JavaScript 的 html 文件时 与我从外部源包含相同的 JavaScript 时相比 我得到了不同的结果 我已经验证 使用 javascript 内联或外部源直接打开 ht
  • RecyclerView 项目在片段之间切换后消失

    我的应用程序中有 4 个片段 它们在 NavActivity 中管理 protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState s
  • Hibernate不创建连接表

    我遇到了一个以前从未发生过的问题 我有ManyToMany关系 Hibernate 不会创建连接表 它仅创建实体表 我正在将 SpringDataJpa 与 MySQL 一起使用 医生实体 Entity Table name doctors
  • 从等高线生成高度图的算法是什么?

    我正在寻找插入一些轮廓线来生成 3D 视图 轮廓不存储在图片中 轮廓的每个点的坐标仅存储在 std vector 中 对于凸轮廓 似乎 我自己没有检查 通过使用两个最接近轮廓的两个最近点之间的距离可以轻松计算高度 线性插值 我的轮廓不一定是
  • 何时在 clojure(或 lisp)中使用感叹号?

    他们说在命名不纯函数时使用感叹号 但我不太理解 不纯 的功能 他们是吗 函数更改其参数的状态 通过重置 更改 java object methods 函数发生副作用 例如 打印 吐出 or both 显然 官方的 clojure api 并
  • 无法解析的外部符号(OpenGL 和 C++)

    好的 所以我正在编写一个小项目 没什么复杂的 它只有几个类 正如标题所暗示的 它使用 OpenGL 目前 还没有 真正的 主要功能 我在使用 gl 函数调用的地方都包含了 glew h 并将其添加到链接器输入 glew32 lib 中 然而
  • 如何在python中使用套接字而无需等待

    我用Python创建了一个游戏 该游戏由几条蛇组成 每条蛇由不同的计算机控制 每台计算机都会向服务器计算机发送蛇所指向的角度 问题是该命令 client mess client socket recv 1024 极大的抑制了服务器的运行 导
  • 使用 aws-sdk 从 javascript(reactjs) 调用 lambda(node/express - 无服务器快速路由)

    Reactjs const result await invokeLambda points 调用Lambda js const AWS require aws sdk AWS config update accessKeyId id se
  • 调试时忽略 Visual Studio 中的项目

    在 Visual Studio 中 如果您有一个包含许多项目的解决方案 是否可以指示调试器忽略某些项目 在这个意义上将它们视为外部 DLL 吗 我们有很多我想调试的帮助程序代码 例如 如果我处于函数调用中 并且进入其中 我想跳过 IoC 代
  • 数组的 IsEmpty() 函数

    我想测试我的数组是否为空 我尝试使用该功能IsEmpty 但函数总是返回False 并且不要输入 if 条件 我的代码如下 Sub Freeze Dim tab freeze as variant If IsEmpty tab freeze