gpt4 book ai didi

excel - 替换功能将文本格式转换为数字格式。它是excel错误吗?

转载 作者:行者123 更新时间:2023-12-04 21:05:23 24 4
gpt4 key购买 nike

我不是 excel 或谷歌搜索的新手,但这种行为令人惊讶/不合逻辑:

  • 将“A”列格式化为文本
  • 将一些数字写入单元格,例如74 到 A1、A2 和 A3 - 它们被格式化为文本,它们没有总结,它看起来像预期的那样
  • 去查找 - 将 74 替换为 75
  • 替换 75 的总和后,它们的行为就像数字一样,即使单元格仍被格式化为文本!看不懂为什么?!

  • 这个“错误”(?)在 VBA 中给我带来了一些麻烦,因为以下代码不会将数据转换为预期的结果(文本格式的“数字”),我根本无法将其转换为文本格式:
    Selection.Replace What:="74", Replacement:="75"

    当我尝试以下任何一种方法时,结果相同:
    Selection.Replace What:="74", Replacement:=Format("75", "@")

    Selection.Replace What:="74", Replacement:=CStr("75")

    Selection.Replace What:="74", Replacement:="75"
    Selection.NumberFormat = "@"

    唯一有效的解决方案是:
    Selection.Replace What:="74", Replacement:="'75"

    但我不希望单元格中的撇号...

    有没有其他方法可以替换单元格中看起来像数字的文本 - 用另一个看起来像数字的文本?
    我觉得花一个小时思考这些基础知识是愚蠢的!

    编辑:
    即使这种使用命名范围的方法也给了我 75 作为数字(单元格格式是文本):
    Selection.Replace What:="74", Replacement:=Range("number_75_in_text_format").Text

    最佳答案

    你需要描述你是如何得到这个的。尝试运行以下任一:

    Sub BugDemo()
    With ActiveCell
    .Clear
    .NumberFormat = "@"
    .Value = "101"
    .Replace What:="0", Replacement:="7"
    End With
    End Sub

    Sub BugDemo2()
    With ActiveCell
    .Clear
    .NumberFormat = "@"
    .Value = "101"
    .Replace What:="101", Replacement:="7"
    End With
    End Sub

    替换后,值保持 正文

    关于excel - 替换功能将文本格式转换为数字格式。它是excel错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556649/

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