我收到的文件是通过SQL Server导出到Excel的。文件中的单元格具有绿色错误检查通知,并且工作表上的所有单元格都显示为GENERAL格式。但是,错误检查通知表示单元格被格式化为TEXT或具有前导撇号,但是当您实际单击单元格内部进行编辑时,没有前导撇号,从技术上讲,该表格被格式化为GENERAL。
如果我手动突出显示我的范围并单击错误检查下拉选项以解决问题并选择转换为数字,我的代码运行完美。我尝试录制一个宏来查看将为错误检查转换为数字格式而编写的代码,但它在转换为数字时没有记录任何内容。
是否有VBA代码使用错误检查转换为数字函数而不是通过下拉列表选择该选项手动执行此操作?
答案 0 :(得分:0)
复制值为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