使用未记录的“Application.Trim”并了解 VBA 智能感知建议

2024-02-27

当我用谷歌搜索时Trim,我发现它是一个Excel函数,也是一个VBA函数。

在这两种情况下的 VBA 中,它只能与一个单元格一起使用,并且需要对多个单元格的范围进行循环。但是,我发现一些网页说明了使用Application.Trim在没有循环的范围内,它确实可以工作并且非常快。

我的问题是,如何Trim与...一起使用Application,即使是未记录的和 vba intellisense 在我输入 Application 后也不显示 TRIM。这是否意味着WorksheetFunction.可以替换为Application.产生不同的行为?

Sub Trim_Issue()
 
   Dim rng As Range
   Set rng = ActiveSheet.Range("A2:A3")
 
   rng = Application.Trim(rng) 'This works although I do not know how
 
   rng = WorksheetFunction.Trim(rng) 'cause error as it need loop
 
End Sub

Application.Trim

  • 我的小调查让我相信Application.Trim实际上适用于数组并返回修剪值的从一开始的数组。
  • If rng是一个具有多个单元格的连续范围,表达式rng.Value(在等式的右侧)实际上是一个包含范围内的值的基于 1 的二维数组。

Range

Sub TrimShort()
 
    Dim rng As Range: Set rng = ActiveSheet.Range("A2:A3")
    ' The expression 'rng = Application.Trim(rng)' is short for:
    rng.Value = Application.Trim(rng.Value)
 
End Sub

Sub TrimLong()
    Dim rng As Range: Set rng = ActiveSheet.Range("A2:A3")
    ' Note that the following line is inaccurate
    ' i.e. it will fail if the range contains one cell only.
    Dim Data1() As Variant: Data1 = rng.Value
    Dim Data2() As Variant: Data2 = Application.Trim(Data1)
    rng.Value = Data2
 
End Sub

Arrays

Sub TrimOneD()
    
    Dim sArr() As String: sArr = Split(" A A ,  B  B", ",") ' 1D zero-based
    
    Dim dArr() As Variant: dArr = Application.Trim(sArr) ' 1D one-based
    
    Debug.Print "srIndex", "sArr", "dArr"
    
    Dim r As Long
    
    For r = 0 To UBound(sArr)
        Debug.Print r, sArr(r), dArr(r + 1)
    Next r

End Sub

Sub TrimTwoD()
    
    Dim sData() As Variant: ReDim sData(0 To 1, 0 To 1) ' 2D zero-based
    sData(0, 0) = " A A "
    sData(0, 1) = "  B  B"
    sData(1, 0) = " D   D "
    sData(1, 1) = CVErr(xlErrNA) ' it will not fail if error value
    
    Dim dData() As Variant: dData = Application.Trim(sData) ' 2D one-based
    
    Debug.Print "srIndex", "scIndex", "sData", "dData"
    
    Dim r As Long, c As Long
    
    For r = 0 To UBound(sData, 1)
        For c = 0 To UBound(sData, 2)
            Debug.Print r, c, sData(r, c), dData(r + 1, c + 1)
        Next c
    Next r

End Sub

Results

srIndex        sArr          dArr
 0             A A          A A
 1              B  B        B B

srIndex       scIndex       sData         dData
 0             0             A A          A A
 0             1              B  B        B B
 1             0             D   D        D D
 1             1            Error 2042    Error 2042
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用未记录的“Application.Trim”并了解 VBA 智能感知建议 的相关文章

  • 无法在我的抓取工具中设置超时选项以防止无限循环

    我已经使用 IE 在 vba 中编写了一个脚本 在其搜索框中的网页中启动搜索 通过点击搜索按钮根据搜索填充结果 网页加载它是searchbox几秒钟后它就会打开 但是 我的下面的脚本可以处理这个障碍并以正确的方式执行搜索 现在 我有一个稍微
  • xlwings: 删除一个列 | Excel 中的行

    如何删除 Excel 中的一行 wb xw Book Shipment xlsx wb sheets Page1 1 range 1 1 clear clear 用于删除内容 我想删除该行 我很惊讶 clear 函数有效 但 delete
  • 如何使用 Nodejs 创建 Excel 文件?

    我是一名 Nodejs 程序员 现在我有一个数据表 我想将其保存为 Excel 文件格式 我该怎么做呢 我找到了一些 Node 库 但其中大多数是 Excel 解析器而不是 Excel 编写器 我使用的是 Linux 服务器 因此需要一些可
  • 合并和颜色样式不适用于 Apache POI excel 2003 格式

    在 Apache POI 中 我为某些单元格应用了一些样式并合并了这些单元格 当我在 2010 年或 2007 年打开时 它工作正常 但在 2003 年 格式样式消失了 每次保存 2003 Excel 文件之前都会弹出兼容性检查对话框 请参
  • 如何让VLOOKUP在VBA中选择到最低行?

    希望自动在单元格中插入 VLOOKUP 公式 录制宏时 我指示它使用相同的公式填充下面的列 效果很好 但是 当 VLOOKUP 搜索的表发生变化 更多或更少的行 时 就会出现问题 在记录时 VLOOKUP 下降到表中的最后一行 273 但是
  • VBA 中的多线程

    这里有人知道如何让VBA运行多线程吗 我正在使用 Excel 无法用 VBA 本地完成 VBA 构建在单线程单元中 获得多个线程的唯一方法是使用 VBA 之外的其他具有 COM 接口的东西构建 DLL 并从 VBA 调用它 信息 OLE 线
  • 如何在 Excel 中对一组数据进行排序以匹配另一组数据?

    我有一个不按字母或数字顺序排列的数据列表 我想对同一日期的第二个列表进行排序以匹配第一个列表 我无法更改数据的顺序 我的目标是将第二组中的附加数据粘贴回第一个数据集中 DATA SET A DATA SET B 22350 BH160 10
  • 如何找到特定程序的安装目录?

    我已经成功地编写了一些用于工作的 VBA 宏 这些宏基本上创建了一个数据文件 将其提供给一个程序并对该程序的输出进行后处理 我的问题是程序安装路径是硬编码在宏中的 并且安装在我同事的计算机上可能会有所不同 我首先想到的是 我可以从每个人那里
  • 在合并的单元格中选择、插入照片并将其居中

    我是一名研发面包师 正在为我的团队制作食谱模板 模板中有照片 但我需要轻松地允许他们单击一个按钮 打开照片的文件选择器 然后将该照片放在合并的单元格中 我其实不太擅长做这个 Sub InsertPhotoMacro Dim photoNam
  • 我可以获取VBA代码中的注释文本吗

    可以说我有以下内容 Public Sub Information TEST End Sub 有没有办法得到 TEST 结果 不知何故通过VBA 例如 在 PHP 中 有一个获取注释的好方法 这里有什么想法吗 编辑 应该有办法 因为像 MZ
  • VBA 中的匈牙利语好吗?

    我在 Net 中不使用匈牙利语 str int 前缀 但我仍然发现它在 VBA 中很有用 因为在 VBA 中很难看到类型 这很糟糕吗 不必要 也许我错过了一些东西 我真的很感激任何反馈 我想知道有一段时间了 谢谢大家 我想说 这种匈牙利符号
  • VBA ByRef 参数类型不匹配

    最初在我的主代码部分中 我有一个丑陋的 if 语句 尽管它会运行丑陋 我决定将其设为我要调用的函数 这导致我收到错误 编译错误 ByRef 参数类型不匹配 我的假设是该函数需要正确引用 尽管我一直在阅读文档并且不明白为什么 gt 声明 Sh
  • 使用输入作为显示日期的基础

    我需要一种方法来使用用户窗体上的输入来确定将在输出上显示的日期 这是我的代码 If StatusBox Value lt 23 59 And ShiftCode Value AP Then Cells emptyRow 8 Value Da
  • 在VBA中初始化全局变量

    在 Excel 2003 中 如何声明全局变量并仅在打开工作簿时初始化它们一次 我有一些由几个宏使用的参数 基本上是输入文件的路径 目前 我的代码如下所示 global path1 path2 as string sub initPaths
  • 使用 FindElementbyXpath() 获取 Selenium Basic 中可填充框的行和列名称

    我正在使用 Selenium Basic 将电子表格中的文本填充到网站中 网站的html代码是这样的 div table cellspacing 0 border 1 style width 99 tr th style font weig
  • 在 PYTHON 中读取 EXCEL 时,“utf-16-le”编解码器无法解码字节

    我正在尝试读取不同语言 阿拉伯语 希腊语 意大利语 希伯来语等 的各种数量的 xls 文件 当我尝试调用 open workbook 函数时 出现如下所示的错误 不知道如何将格式设置为任何语言 Code book xlrd open wor
  • 使用 ADODB 连接从关闭的工作簿中检索数据。某些数据被跳过?

    我目前正在编写一些代码 可以通过 ADODB 连接访问单独的工作簿 由于速度的原因 我选择了这种方法而不是其他方法 下面是我的代码 Sub GetWorksheetData strSourceFile As String strSQL As
  • 如何在 Excel 中对“高”字符进行 HTML 编码或音译?

    在 Excel 中 如何将包含重音字符 大引号等的单元格内容转换为相同字符的 HTML 或音译纯文本版本 我们有一个 XLS 文档 其中包含一些 高 字符 数据已通过数据库连接提取 并且 Excel 似乎正确处理不同代码页中的各个单元格 或
  • 使用 split 函数到数组中会导致编译错误:无法分配给数组

    我正在尝试使用split 函数根据给定名称字符串中的空格拆分名称 当尝试编译我在下面编写的代码时 出现编译错误 无法分配给数组 我几乎从这里复制了微软的示例 https support microsoft com en us kb 2662
  • 将 MS 转换为秒

    我发现这个公式可以用来将 MS 转换为秒 但它是为 Excel 2002 编写的 而我正在使用 2010 CONCATENATE TEXT INT B1 1000 86400 hh mm ss B1 INT B1 1000 1000 以下是

随机推荐

  • 将 pandas DataFrame 中的非空单元格移至左侧

    假设我有以下形式的数据 Name h1 h2 h3 h4 A 1 nan 2 3 B nan nan 1 3 C 1 3 2 nan 我想将所有非纳米单元移动到左侧 或收集新列中的所有非纳米数据 同时保留从左到右的顺序 得到 Name h1
  • 设置初始标题单击 gwt 单元格表的默认排序顺序

    我有一个带有可排序列的 GWT CellTable 与开发人员指南示例非常相似 http code google com webtoolkit doc latest DevGuideUiCellTable html columnSortin
  • jQuery Mobile 获取当前页面

    我正在使用 jQuery Mobile 1 1 1 和 Apache Cordova 2 0 0 我希望我的应用程序在按下后退按钮时退出 但前提是当前页面的 ID feedZive 我正在使用以下代码来执行此操作 function onDe
  • iText 7.0.5 - 表单 - 添加大量带有表单字段的表时出现 NullPointerException

    我用了布鲁诺的例子 https developers itextpdf com examples form examples clone create fields table https developers itextpdf com e
  • 如何更改转置表以使其水平滚动?

    我正在制作一个产品比较表 它是一个具有垂直行的表格 左侧有一个标题 表格主体内的垂直行中有两个或多个产品描述 如果用户选择很多产品 它应该是水平滚动的 我使用过CSS这个答案 https stackoverflow com a 169194
  • React-Window无限调用RenderRow函数

    我用过react window在 UI 上呈现大型列表 不知道为什么当我滚动时它会无限地调用 RenderRow 函数 并且当我滚动时它无法渲染待处理的行 显示空白屏幕 谁能告诉我 我做错了什么 谢谢 有一个小东西漏掉了 就是必须发的款式R
  • Ruby on Rails:使用控制器、操作和参数获取路线

    我对 RoR 很陌生 我正在寻找一种获取给定控制器 操作和参数的路线的方法 类似于 url for 但没有域和协议 可以说我有 params controller gt controller action gt edit project i
  • DisplayMemberPath串联

    我正在尝试将两个值绑定到 ComboBox 显示值 但我不知道该怎么做 这种方法行不通 cboRegion DisplayMemberPath idregion description 有谁知道如何在 C 中做到这一点 不幸的是 这是不可能
  • 如何从 sfUser 获取 id?

    我正在使用 symfony 1 4 我使用 sfDoctrineGuardPlugin 作为身份验证工具 我想捕获用户的 ID 以便将其存储在我的表中 经过一番小研究 我想我必须使用这个表达方式 getUser gt getGuardUse
  • 如何检测我是否处于“控制台”模式

    我正在编写一个从浏览器运行的应用程序 然而 一些模型函数也是从 Yii2 控制台调用的 因此 我在尝试访问 GUI 中设置的变量时遇到错误 是否可以知道我处于哪种模式 是否自动设置了一些环境变量 或者我应该在控制台应用程序中设置一些会话变量
  • 如何使用 MVC5 和实体框架使用自定义属性更新 IdentityUser

    我正在使用内置的身份框架进行用户管理 并且想向 AspNetUsers 表添加一些自定义项 到目前为止 我遇到的每个问题的解决方案都会导致另一个问题 如果我对用户模型进行更改 例如 通过在 AspNetUsers 表中添加邮政编码属性和匹配
  • 加载密钥“(stdin)”时出错:格式无效 Gitlab CI

    这是我关于 gitlab ci 的 ssh 的 yaml 文件的一部分 eval ssh agent s echo SSH PRIVATE KEY tr d r ssh add gt dev null mkdir p ssh chmod 7
  • 使用 Python 将 XML 文档插入现有 XML

    给定这些 XML 文档 文件1
  • ASP.NET MVC 4.0 控制器和 MEF,如何将这两者结合在一起?

    我正在尝试使用 MEF 创建 ASP NET MVC 模块 虽然到目前为止我在不使用 MVC 的情况下使用 MEF 没有任何问题 但在导出控制器时我遇到了一些困难 我用这种方法作为例子http kennytordeur blogspot d
  • 如何快速识别 Snakemake 中的规则是否需要输入函数

    我正在关注其文档页面上的 Snakemake 教程 并且确实陷入了输入函数的概念https snakemake readthedocs io en stable tutorial advanced html step 3 input fun
  • 未定义符号:_ZdlPvm

    我在用阿波罗咖啡 https github com Russell91 apollocaffe and 重新检查 https github com Russell91 ReInspect Apollocaffe在 c 库中并且Reinspe
  • Ruby:反转哈希以保留非唯一值

    我有一个看起来像这样的哈希 a gt 1 2 3 b gt 4 5 6 c gt 3 4 5 d gt 7 2 3 我想要做的是使用包含它的所有键的数组对所有现有值进行哈希 例如把上面的变成这样 1 gt a 2 gt a d 3 gt a
  • 您可以从 iPhone 应用程序下载 PDF 格式的内容吗

    是否可以将 iPhone 应用程序中的特定屏幕下载为 PDF 格式 我检查了 iphone 开发者门户和很多其他地方 但找不到答案 我想做的就是单击一个按钮 然后将该屏幕下载为 pdf 并将其存储在某个位置 这可能吗 如果是这样 您会将其存
  • 您对 iAd 和 adSense 有何建议 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在考虑在我的应用程序中添加一个添加项 在 iAd 和 adSense 之间 您会向我推荐哪种广告计划
  • 使用未记录的“Application.Trim”并了解 VBA 智能感知建议

    当我用谷歌搜索时Trim 我发现它是一个Excel函数 也是一个VBA函数 在这两种情况下的 VBA 中 它只能与一个单元格一起使用 并且需要对多个单元格的范围进行循环 但是 我发现一些网页说明了使用Application Trim在没有循