excel - VBA 代码从文本变为范围的数值,但列不高?
问题描述
我在 VBA 中编写了一个代码来将范围内的值从文本更改为一般(数字)。它工作正常,但是有一个问题。当我检查所有列值时,只有整数值(“2345”)的字符串更改为整数(2345)但浮点值(“123.456”)的字符串根本没有改变,类型更改为General但价值保持不变。
这是vba代码
If (ws.Name = "TB") Then
shTB.Activate
[A:A].Select
With Selection
.NumberFormat = "General"
.Value = .Value
End With
结果如下表所示,浮点值仍然没有改变。如您所见,只有第 119 行更改为数字或整数。非常感谢任何建议或帮助!
解决方案
从您的结果中可以清楚地看出,数据的文本格式与您的区域设置之间存在不匹配。
您的数据似乎来自逗号是小数分隔符而不是句点的来源。尝试:
Sub dural()
With Range("A:A")
.NumberFormat = "General"
.Replace ",", "."
.Value = .Value
End With
End Sub
推荐阅读
- angular - Angular - 如何提供文档?
- c# - 将文件路径值传递给 OpenXML GetCellValue() 时的 System.IO.FileNotFound
- sql - SQL查询在只有JSON数据的列中搜索没有键的字符串
- angular - NGRX 流和路由 - 组件被访问太多次
- webrtc - RTCIceCandidate 不再返回 IP
- excel - VBA 在 Workbook_Open 上更改工作簿的 Excel 光标
- java - 使用 BCryptPasswordEncoder 的 Spring 安全身份验证失败
- php - 使用键中的 id 而不是数组键中的 0,1 获取数组结果
- node.js - 尝试对远程 URL 进行 http 调用
- python - 如何自动创建numpy数组?