使用 VBA 中的 Replace 方法将数字存储为字符串

2023-12-02

我正在使用一个工作簿,它使用一个奇怪的空格作为千​​位分隔符。 Excel 将包含此分隔符的数字视为文本。当我使用查找和替换工具删除此分隔符时,数字会被正确识别为数字。当我使用 VBA 使用 Cells.Replace 方法执行相同操作时,数字将继续存储为文本。然后,包含这些数字的单元格上会出现一个绿色角,允许我将它们转换为数字格式,但此选项似乎无法在 VBA 中利用,因为宏记录器不会记录此操作。

我可以将工作表的单元格复制到数组中,然后循环遍历值以替换千位分隔符,然后将数组粘贴回工作表。我的问题是:是否有更有效的方法来删除这些千位分隔符,以便我的数字被视为数字?


您是指单元格 B3 和 B5 中 9 和 5 之间的空格吗?如果是,那么仅仅删除空格并不能解决问题。您还需要删除逗号以将其转换为数字,然后使用正确的千位分隔符对其进行格式化。请参阅此代码和快照

SNAPSHOT

enter image description here

CODE

Sub Sample()
    With Sheets("Feuil1").Columns(2)
        .Replace What:=" ", Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

        .Replace What:=",", Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

        .NumberFormat = "#,##0"
    End With
End Sub

HTH

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

使用 VBA 中的 Replace 方法将数字存储为字符串 的相关文章

  • 在Excel中过滤后打印可见区域的宏

    我有一个根据过滤表的宏column A价值观 现在我想打印only过滤器后的可见行 但遗憾的是它打印了所有行 包括过滤期间隐藏的顶部和底部行 在我的工作表中 有来自的数据Column A I 但打印区域只能是Columns C I 过滤后的
  • 在没有加载项的情况下加载 Excel

    All 我编写了一个电子表格应用程序 用户通过双击我提供的图标来加载它 问题是用户有很多插件 这会降低 Excel 的速度 如何使用命令行开关加载 Excel 来禁用所有加载项 该问题适用于 Excel 2003 和 Excel 2007
  • 使用 SpreadsheetLight 进行行计数

    我正在寻找一个类似于 DataTable Rows Count 的函数 它可以与 SLDocument 一起使用来找出有多少行中有数据 SpreadsheetLight 中有可用的东西吗 还有其他方法可以实现这一目标吗 Brendan SL
  • 如何从包含许多表的 Excel 工作表中解析数据帧(使用 Python,可能使用 Pandas)

    我正在处理布局糟糕的 Excel 工作表 我正在尝试解析这些工作表并将其写入数据库 每个工作表可以有多个表 尽管这些可能的表格的标题是已知的 但哪些表格将位于任何给定的工作表上 它们在工作表上的确切位置也不是已知的 表格不以一致的方式对齐
  • 在 Android 上使用 Excel 文件

    我正在开发一个应该能够创建 读取和写入 Excel 文件的模块 是否有 推荐 轻量级 Java 库用于处理可以在 Android 上运行的 Excel 文件 欢迎提出建议 Thanks 找到一个
  • 如何保留每个单元格中合并单元格的值?

    我创建了一个包含合并单元格的工作表 但合并单元格的值仅存储在第一个单元格中 无论如何 为了在每个单元格中保持相同的值 我使用的公式需要它 谢谢 在 Excel 2003 中 此宏执行以下任务 Public Sub UnmergeAndFil
  • Excel 的查找和查找下一个 VBA

    我一直在试图弄清楚如何处理这个问题 但基本上我想要一种方法来打印 B 列中的值 给定与 A 列匹配的特定值 例如 Column A Column B 1 ABC 2 DEF 3 GHI 1 JKL 我想在使用 find findnext 或
  • Excel动态数组运行重复项计数

    我一直在重新设计一些旧的电子表格工具 以便使用 Excel 的较新工具来过滤和格式化动态数据输出动态数组公式 https support microsoft com en us office dynamic array formulas a
  • 如何使用 pandas.to_excel() 创建 Excel **表格**?

    Need the achieve this programmatically from a dataframe https learn microsoft com en us power bi service admin troublesh
  • 使用 VBA 从数据透视表中提取数据

    我编写了以下 vba 代码 该代码应该从 old xlsx 的某些单元格导入任何现有数据 这些单元格是数据透视表的一部分 并且 OE gt location gt qual in 作为其行的子单元格 该列由手动输入的日期决定 strForm
  • VBA C# DLL 未注册

    我制作了一个 C NET dll 我想从 VBA 运行它而不注册它 我找到了解决方案there https stackoverflow com a 13333819并且它可以完美工作 但前提是程序集是使用 Framework NET 3 5
  • 是否有任何公式可用于将特定单元格复制指定次数?

    目前我正在处理一份数据 其中我有一个公司名称列表 例如 1 A 2 B 3 C 还有很多 需要的结果是 1 A 2 A 3 A 4 A 5 A 6 B 7 B 8 B 9 B 10 B 11 C 12 C 13 C 14 C 15 C 等等
  • xlwt 可以在单元格中创建一个包含标题和链接变量的超链接吗?

    例如 如何更改以下行 使 test 为变量 T 且 http google com http google com 是变量L ws write 0 0 xlwt Formula test HYPERLINK http google com
  • alasql 需要已包含的 xlsx

    我正在尝试使用将数据导出到 Excel 工作表alasql and xlsx 我已遵循此处的所有准则 https github com agershun alasql wiki Xlsx https github com agershun
  • 关闭工作簿时删除范围,xls vba

    我想要范围 Range A2 G z 关闭工作簿时删除 有人可以帮我处理代码吗 谢谢 凯 这就是我尝试过的 Option Explicit Sub Makro1 insert clipboard Workbooks Pfl SchutzSt
  • 二维数组作为字典的项目

    我想用一个项目的几个属性填充字典 例子 我正在考虑拥有Item 1 and Item 2 as Dictionary键与array这将保留其属性 我需要能够单独访问项目的每个属性 因此将它们连接为一个字符串不是一种选择 我正在考虑类似下面的
  • 索引匹配不起作用

    对于下表 如果 A 列和 B 列都匹配 如何检索 C 列A 列 B 列 C 列城市 1 城市 10 本地城市 2 城市 21 远程城市 3 城市 1 远程城市 4 城市 2 本地 我尝试使用索引和匹配 但得到 N A Enter as an
  • 导入到 SQL Server 时忽略 Excel 文件中的列

    我有多个具有相同格式的 Excel 文件 我需要将它们导入 SQL Server 我当前遇到的问题是 有两个文本列我需要完全忽略 因为它们是自由文本 并且某些行的字符长度超出了服务器允许我导入的长度 这会导致截断错误 因为我的分析不需要这些
  • 根据其他列中的条件对列中的唯一值求和

    A B 1 Total 1 900 2 Product A 700 3 Product A 700 4 Product B 300
  • 如果一个数字写在方括号中,例如[5],这意味着什么

    我正在开发一个旧版 VBA Excel 应用程序 并偶然发现了一些代码行 其中长字符串 从文件中读取 被切成碎片 这些行看起来像这样 Range E16 Value Mid line 49 6 显然 写 6 意味着需要 6 个字符 但我从未

随机推荐