在不更改单元格格式或宽度的情况下防止井号 (#) 显示在 Excel 中

2024-03-08

我有以下 Excel VBA 代码:

Sheet1.Columns.ColumnWidth = 8.14
Sheet1.Rows.EntireRow.RowHeight = Sheet1.Cells(1).Width
Sheet1.Cells.WrapText = True
Sheet1.Cells.NumberFormat = "F0 P0 C0" & vbLf & "00 00 00"
Sheet1.Cells.Value = 123456789

前两行使我的工作表中的单元格成为 8.14 个水平点的完美正方形,以下几行旨在使每个单元格看起来像这样(又名在同一单元格内视觉上“分离”的部分中显示 9 位数字):

F1 P2 C3
45 67 89

问题是 Excel 用井号 (#) 替换了我的数字(由于它是自动换行的,所以它应该完全适合 2 行中 8.14 点大小的单元格),因为它的长度被感知 - 而我不希望这样。

有没有办法通过 Excel 设置或 VBA 代码来防止这种自动行为,而不将单元格格式更改为“常规”或“文本”或增加单元格的宽度?

现在我之前已经看到过这个问题的答案,但所有答案都涉及更改单元格格式或大小,而我无法这样做,原因有几个:

  • 这张表或多或少是一个地理“地图”,其中每个单元格都是该地图上的一个点,所以自然地我需要在 Excel 的可见部分中显示尽可能多的“点”。如果我使单元格(正方形)变大,我几乎无法将 10x4 网格放入可见部分(以 100% 缩放) - 因为我必须将单元格之前的大小加倍到巨大的 124 像素,以便 Excel 不改变地显示我的数字

  • 如果我将格式更改为“文本”(也称为字符串单元格值),我的 Excel 文件会变得很大(约 1MB)并且几乎无法使用,因为地图约为 255x128 个“点”。与相同数量的“文本”/字符串格式的单元格相比,255x128 数字格式的单元格运行速度极快

  • 如果我将格式更改为“常规”或多或少与上面的情况相同,另外,我无法使用自定义格式来“分隔”我的数字部分,如我的示例中所示(是的,这是预期的外观) 。

编辑:检查时http://datapigtechnologies.com/blog/index.php/forcing-carriage-return-in-custom-date-format/ http://datapigtechnologies.com/blog/index.php/forcing-carriage-return-in-custom-date-format/我从某个戴夫那里找到了这个(归功于他),这也是我的问题的解决方案:

如果你尝试缩小列宽,你会发现你会在你(或我)认为你应该看到之前看到####的方式。但稍微改变一下就可以解决这个问题。在单元格格式对话框的对齐选项卡上,关闭自动换行(如果已打开)。打开“缩小以适合”,然后打开换行。

我尝试了一下,成功了!其 VBA 代码同样简单 - 在我的初始代码完成后添加下面的代码:

Sheet1.Cells.WrapText = False
Sheet1.Cells.ShrinkToFit = True
Sheet1.Cells.WrapText = True

我不想“作弊”并回答我自己的问题,所以我写了这篇文章作为对我原始帖子的编辑。


None

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

在不更改单元格格式或宽度的情况下防止井号 (#) 显示在 Excel 中 的相关文章

  • 对象Vba读取项目

    我无法读取电影对象 我不知道为什么 我试图将 JSOn API 返回到 Excel 中的工作表 但我无法读取电影对象 Sub getData Dim Movie As Object Dim R As Object Dim scriptCon
  • 如何测试两个哈希值(密码)是否相似?

    当用户创建密码时 我对其进行哈希处理 包括盐 并将其保存在数据库中 现在 当用户想要更改他或她的密码时 我想测试新密码是否与旧密码太相似 我已经在不同的服务上看到过这种情况 尤其是网上银行 所以 我想我会使用similar text or
  • 如何在不锁定 Excel 文件的情况下打开它?

    我有一个构建 Excel 报告 然后为用户打开它的流程 问题是 如果有人让文件保持打开状态 则该文件将保持锁定状态 并且在第一个人退出 Excel 文件之前 其他人都无法生成报告 有没有办法打开 Excel 文件而不锁定它 使用Proces
  • 尝试访问工作表范围时出现 VBA 运行时错误 1004

    我正在构建一个小型 vba 脚本 该脚本将多个工作簿中的表合并到另一个工作簿的一个工作表中 当我尝试设置目标范围的值时 出现错误 wksPivotData Range wksPivotData Cells CurrentRow 1 Resi
  • 当传递 VBA 类的实时实例时,C# ITypeInfo.GetContainingTypeLib 失败

    所以我尝试过打电话ITypeInfo在 VBA 类实例上 虽然它看起来很有希望 但我想看看是否可以获得对其包含项目 类似于类型库 的引用 我想ITypeInfo GetContainingTypeLib可能有用 但它会抛出一个异常 表明 V
  • MacOS X 上使用 crypt 进行 Python SHA512 加盐密码

    我正在尝试生成加密的密码字符串 类似于Linux中的 etc shadow 由于某种原因 我得到的输出是不同的 我有什么想法吗 一个比另一个长 不包括盐部分 usr bin python import crypt alg 6 SHA512
  • 从一本工作簿复制并粘贴到另一工作簿中

    我编写了以下代码并不断看到pastespecial method of class has failed 我试图克服这个问题 但似乎没有任何效果 我正在尝试从一个工作簿复制整个工作表 并将其粘贴到另一个工作簿中 Set x Workbook
  • 在openxml中向Excel添加样式

    我想在打开的 Excel 文档中设置文本的前景色以写入文本 为此我尝试过 var stylesheet1 spreadSheet WorkbookPart WorkbookStylesPart Stylesheet Fills fills1
  • 将工作表合并为一张

    我有一些Excel工作表 其风格为 组织1 姓名 职业 克里斯 承包商 简 员工 组织2 姓名 职业 鲍勃 设施 Trey 软件开发人员 并希望将这些工作表合并到具有以下格式的主工作表中 组织名称 职业 1 克里斯 承包商 1 简 员工 2
  • 使用vba分割和重命名pdf文件

    我收到了一份包含多张工资单的合并文件 每张工资单上的特定位置都有一个特定的数字 我希望使用这个确切的数字作为每个文件名 例如37224 pdf 我尝试使用下面的 VBA 代码将工资单拆分并命名为单独的工资单 Option Explicit
  • 从 Excel 与 VBA 调用时,VBA UDF 给出不同的答案

    以下 VBA 函数计算给定范围内包含公式的单元格数量 从 VBA 子程序调用时它可以正常工作 从 Excel 调用时 它返回区域中的单元格总数 来自 Excel 的调用是 CountFormulas A1 C7 即使该范围内只有两个带有公式
  • 将 .xls/.csv 文件中的数据读取到 iOS 中

    我是 iOS 新手 正在尝试将电子表格的内容读入 iOS 数组 我使用的电子表格是一个简单的 3 x 2 数组 第一列为数字 第二列为文本 我尝试在 xls xlsx cdv txt unicode 和分隔符 但没有成功 该文件称为 资金
  • Outlook 代码中的 Excel FilePicker 对话框在后台打开

    我开发了一个 Outlook 宏 让用户选择并打开 Excel 文件 文件对话框在后台打开 对于用户来说 Outlook 应用程序似乎被卡住了 而它只是在等待用户在所有其他窗口后面的文件选择器对话框中选择文件 Dim SigFolder2
  • Dim As New 与 Dim / Set 有什么区别

    在 VBA 中 我可以通过以下两种方式之一创建对象 First way Dim myCol1 As New Collection Second way Dim myCol2 As Collection Set myCol2 New Coll
  • 是否可以让 Excel 突出显示不符合我所需格式的单元格(例如日期为 6.2.2021 与所需的 6/2/2021)?

    我使用电子表格来确定团队工作流程的优先顺序 某些单元格的突出显示取决于我们与循环时间的接近程度 有开始日期 暂定结束日期和出院日期 如果出现以下情况 空白出院日期单元格将变为红色 开始日期不为空 暂定不为空 今天的日期距离暂定日期不超过五天
  • 通过宏根据工作表名称重新排序 Excel 工作表

    如果我的 Excel 文档中有 6 个工作表 按以下顺序命名和排列 O1 O2 O3 O1 2 O2 2 O3 3 是否可以编写一个宏来更改这些工作表的顺序 这是我正在寻找的序列 O1 O1 2 O2 O2 2 O3 O3 2 Thanks
  • Excel.Application.SelectionChange 仅触发一次

    我只收到第一个事件通知 之后什么也没有发生 有任何想法吗 UPD 我发现了一件奇怪的事情 我的事件处理程序代码如下所示 var cell range Cells 1 1 var rangeName cell Address false fa
  • CSV 实际上是....分号分隔值...(在 AZERTY 上导出 Excel)

    我在这里有点困惑 当我使用 Excel 2003 将工作表导出为 CSV 时 它实际上使用分号 Col1 Col2 Col3 shfdh dfhdsfhd fdhsdfh dgsgsd hdfhd hdsfhdfsh 现在 当我使用 Mic
  • 如何使用循环自动填充表单上的文本框?

    所以我有一个表 其中包含我试图在表单上显示的总计列表 我需要从总计表中获取 10 个总计并显示在表单上的 10 个文本框中 这10个文本框分别是 A1 A2 A3 及其使用DLookup查找 ID 字段编号 这似乎是一个语法问题Me TEX
  • 使用 VBA 循环遍历工作簿切片器名称

    我尝试过谷歌搜索并搜索这个 但无法完全理解 我想做的就是循环遍历活动工作表上的切片器并删除切片器 如果存在 目前我那里有 6 个切片机 以前我有 ActiveSheet Shapes Range Array Market Segment N

随机推荐