gpt4 book ai didi

excel - 格式化后查找/替换未找到单元格值

转载 作者:行者123 更新时间:2023-12-04 20:40:35 27 4
gpt4 key购买 nike

在同一个工作簿中,通过宏将一列值从一个 Excel 电子表格移动到另一个电子表格。这些值应该是五个字符,只有数字,包括前导零。

有几种方法可以成功地从 Excel 所做的自动格式化中替换掉丢失的前导零。结果很奇怪。

对于宏已格式化单元格的每个单元格,Find/Replace工具拒绝识别任何包含零的搜索。

Example:
Before Macro = 9093
After Macro = 09093


Find/Replace窗口将找到 9093 的搜索值但会 不是 找到 09093 的搜索值.一个 Find/Replace删除格式为 09093 的宏后,窗口会发现一个积极的命中和手动键控 09093进入细胞。

我没有尝试对每个值进行代码检查以获得所需的字符数,然后连接前导零,直到达到正确的字符数。我的犹豫源于我假设运行此代码的宏在必须经过 1000 行左右时运行速度会非常慢。

下面的代码块是两次尝试:
''Masks for a five character sequence.
' Corrects for leading zeros being dropped for Product Code column.
' Currently does not work.
Columns("F:F").Select
Selection.NumberFormat = "00000"

''Alternative method for keeping correct format of Product Code
' (with leading zeros) and searchable with Find window.
' Also not functioning.
Dim a
Dim l As Long

With Range("F2", "F" & lastUsedRow)
.NumberFormat = "#"
a = .Value
For l = 1 To UBound(a, 1)
a(l, 1) = Right("0000" & a(l, 1), 6)
Next l
.Value = a
End With

最佳答案

您要查找的单元格的实际值为 9093 , 即使它显示为 09093通过格式化。 find/replace工具将查找 09093 的字符串值而实际值为9093因此找不到它。大概当您键入 09093 时它被格式化为文本而不是数字以保留前导 0。

如果您实际上不使用新创建的列中的数字进行分析,我可以建议下面的行。这样,您可以从 Find/Replace 中找到前导 0 的单元格。对话框,因为包括前导 0 在内的整个产品编号都是一个字符串。

Selection.NumberFormat = "@" 'This formats the selected cell as text

关于excel - 格式化后查找/替换未找到单元格值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34373380/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com