excel - 当数字包含逗号时,数字格式为文本的 VBA 问题
问题描述
我使用 vba 脚本打开另一个工作簿。此工作簿采用 .XLS 格式,数据库中的内容存储如下:
"Name1" "0" "7,98"
"Name2" "5" "1"
"Name3" "2" "7,1"
使用 VBA 脚本打开工作簿时,包含逗号的每个单元格都被解释为文本并显示以下警告:
此单元格中的数字被格式化为文本或前面带有撇号
奇怪的是,如果我通过双击打开文件,数字只是格式化为文本并且不显示任何错误。我想,Excel 正在做一些解释,这是行不通的。
我的代码是:
Dim WorkBookImport As Workbook
Name = Application.GetOpenFilename()
If Name <> False Then
Set WorkBookImport = Workbooks.Open(Filename:=Name)
End If
我尝试了一切:
Range(mycolumn).Value = Range(mycolumn).Value
循环 CDbl(.Value)
Range(mycolumn).TextToColumns ...
没有任何效果;(请帮忙!
解决方案
这是细胞形成的问题。您应该使用 NumberFormat 来更改它。
Sub FormatNumber()
ThisWorkbook.Worksheets("YourWorkbook").Range("YourRange") = CDbl(ThisWorkbook.Worksheets("YourWorkbook").Range("YourRange"))
ThisWorkbook.Worksheets("YourWorkbook").Range("YourRange").NumberFormat = "General"
End Sub
如果您遇到相反的问题,您也可以使用 NumberFormat 将其更改为文本,在这种情况下,您可以使用NumberFormat = "@"
推荐阅读
- maven - Maven 没有运行测试,但显示了 BUILD SUCCESS
- r - 使用线图的融化函数在R中排列和映射数据框
- sql - SQL 数据沿袭查看器
- java - 优先级队列没有根据 Java 中的优先级返回正确的值
- python - 在 Slurm 作业中调用多个 mpirun
- javascript - 量角器找不到配置文件:错误:找不到模块'/protractor/protractor.conf_sanity.js'
- docker - 删除 GCP 上的图像 - 无法通过 UI 或 gcloud cli 工作
- php - 使用 CloudConvert 使用 PHP 组合 PDF 时未找到类错误
- lstm - FastAi LSTM 前向方法问题
- magento2 - magento 2自定义主题预览图像未显示在管理员中