【问题标题】:How to convert data from SQL Server format to a number format in Excel?如何在 Excel 中将数据从 SQL Server 格式转换为数字格式?
【发布时间】:2015-09-21 19:26:52
【问题描述】:

我收到一个通过 SQL Server 导出到 Excel 的文件。文件中的单元格有绿色的错误检查通知,并且工作表上的所有单元格都显示为 GENERAL 格式。但是,错误检查通知显示单元格格式为 TEXT 或具有前导撇号,但是当您实际单击单元格内部进行编辑时,没有前导撇号,并且从技术上讲,工作表的格式设置为 GENERAL。

如果我手动突出显示我的范围并单击错误检查下拉选项来解决问题并选择转换为数字,我的代码运行完美。我尝试录制一个宏来查看将为错误检查转换为数字格式而编写的代码,但它在转换为数字时没有记录任何内容。

是否有 VBA 代码使用错误检查转换为数字功能,而不是通过下拉选择该选项手动执行?

【问题讨论】:

  • 是否可以简单地将每个单元格乘以 1?我以前见过这样做将文本转换为数字,但我没有涉足 SQL,所以我真的不知道
  • @seadoggie01 这实际上可行。我可以在工作表的范围内进行计算。我只是想知道是否有实际的代码可以比遍历整个工作表并更改每个单独的单元格更快地更改范围。
  • 有!等一下……

标签: excel formatting vba


【解决方案1】:

复制一个值为 1 的单元格并将其粘贴(在相乘时)到您希望更改的单元格范围内。这不会影响任何其他单元格,例如“真实文本”。

'Copy the cell with value of 1 (mine was on a different sheet
Sheets("Sheet2").range("A1").Copy
'Paste skipping blanks and multiplying by 1
Sheets("Sheet1").Range("A1:E9").PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
    SkipBlanks:=True, Transpose:=False

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 2017-05-11
    • 2011-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多