gpt4 book ai didi

excel - VBA:转换数字格式/刷新单元格

转载 作者:行者123 更新时间:2023-12-04 22:15:55 26 4
gpt4 key购买 nike

我有一个看似简单的问题。
我有一些可以在 Excel 中轻松转换的单元格,但我找不到在 VBA 中转换它的简单方法。
单元格包含格式为 35,00 的数字,并且表现得像数字(我可以添加它们)。但不认为与数字格式 35 相同。
如果我单击单元格,它们将转换为 35 格式,因此被视为这样。
为什么这有关系?
因为代码Cells(WorksheetFunction.Match(r.Offset(, -4), Sheets(4).Range("I3:I50"), 0) + 2, 9)我在用着。如果格式为 35,则该代码运行良好,但如果格式为 35,00,则该代码不起作用。
这是我尝试将 35,00 转换为 35 的内容。
在 Excel 中什么不起作用:

  • 更改格式(标准或数字)
  • 复制/粘贴

  • 在 Excel 中有效:
  • 双击单元格并离开
  • 不复制任何内容并将其添加到单元格
  • 将 ","替换为 ","

  • 什么在 VBA 中不起作用:
    1)
    Application.Calculation = xlCalculationManual
    Application.Calculation = xlCalculationAutomatic
  • Range("A3").Calculate
  • With Selection
    .NumberFormat = "General"
    .Value = .Value
    End With
  • 有选择
    .NumberFormat = "0"
    .Value = .Value
    结束于
  • Range("I1:I40") = Range("I1:I40").Value
  • Range("I2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G:I").Select
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlAdd, SkipBlanks:= _
    False, Transpose:=False
  • Columns("D:F").Select
    Selection.Replace What:=",", Replacement:=",", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False, FormulaVersion:=xlReplaceFormula2
    在 VBA 中有什么作用:
    1.
    Selection = CLng(Selection)   '-- work only for 1 cell
    为了让它发挥作用,我会做一个 For Each ,它对于我需要的东西来说有点太多了。有没有办法一次转换一个范围?
    奇怪的是,当我在 Excel 中修复问题时录制宏时(例如将“,”替换为“,”),生成的 VBA 代码不起作用。
    这是一个不屈不挠的示例文件:
    https://docs.google.com/spreadsheets/d/1sSUo3tTORe6xLmj38EoMT0-SopNdr3Uk/edit?usp=sharing&ouid=112578955965682987037&rtpof=true&sd=true

    最佳答案

    这是迄今为止我得到的最好的:

    Selection.TextToColumns Destination:=Range("1"), DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
    Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
    :=Array(1, 1), TrailingMinusNumbers:=True
    它一次转换 1 列。

    关于excel - VBA:转换数字格式/刷新单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69382466/

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