关于excel vba:如何使用VBA将单元格格式更改为文本 |
您所在的位置:网站首页 › vba设置单元格数字格式 › 关于excel vba:如何使用VBA将单元格格式更改为文本 |
我在Excel工作表中有一个"持续时间"列。 它的单元格格式总是在变化,我想将持续时间从分钟转换为秒,但是由于单元格格式,它总是给我不同的答案。 我在想,在进行转换之前,我可以将该单元格格式转换为文本,以便它将其视为文本值,而不是尝试对其进行自动格式化。 当前,我将所有数据复制到记事本中,然后将其保存回Excel工作表中,以删除所有以前的格式。 有没有一种方法可以使用VBA自动将单元格的格式设置为文本? 相关讨论 "其单元格格式总是在变化" ?? 请给我们举个例子。要回答您的直接问题,它是: 1Range("A1").NumberFormat ="@"要么 1Cells(1,1).NumberFormat ="@"但是,我建议将格式更改为实际要显示的格式。 这使您可以将数据类型保留在单元格中,并轻松使用单元格公式来处理数据。 好吧,这应该将您的格式更改为文本。 123Worksheets("Sheetname").Activate Worksheets("SheetName").Columns(1).Select 'or Worksheets("SheetName").Range("A:A").Select Selection.NumberFormat ="@" 相关讨论 在更改NumberFormat之前无需激活或选择-只需使用Sheets(1).Columns(1).NumberFormat =" @"之类的东西即可。一点:在将值加载到单元格之前,必须设置NumberFormat属性。 加载单元格后设置NumberFormat时,我有一个九位数的数字仍显示为9.14E + 08。 在加载值之前设置属性会使数字按我的意愿显示为纯文本 要么: 您能先尝试一下自动调整功能吗? Excel_Obj.Columns(" A:V")。EntireColumn.AutoFit 相关讨论 在设置值之前,您真的可以帮助我了解有关设置NumberFormat的提示! 谢谢!用于以科学计数法显示的大数字将格式设置为"#" |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |