出于某种原因,即使我选择了一个列,右键单击,并将单元格格式化为数字,我仍然会在单元格中看到一个绿色角落的警报,表示它是一个存储为文本的数字。然后我突出显示范围,单击黄色框中的感叹号,并将范围转换为数字。
问题在于我必须为数百个范围执行此操作。
如何制作一个宏来突出显示每个第9列的范围(例如XP2:XP2700),并将整个范围转换为数字?
答案 0 :(得分:0)
这是OP之前提出的问题的后续问题,我回答道。
将数据加载到数组中,将其转换为数字,然后将其写回原始范围。
Sub ConvertToNumber()
Dim x As Long, y As Long
Dim Data
With Worksheets("CPR Test 2013-2015")
For y = 1 To 1582 Step 9
Data = .Cells(2, y).Resize(2699, 1).Value
For x = 1 To UBound(Data, 1)
If IsNumeric(Data(x, 1)) And Not IsEmpty(Data(x, 1)) Then
Data(x, 1) = CDbl(Data(x, 1))
End If
Next
.Cells(2, y).Resize(2699, 1).Value = Data
Next
End With
End Sub