是否可以根据值清除大量单元格,即>1
?我正在使用Excel for Mac 2011。
我想将数千个值>1
转换为大型数据集(600行x 450K)中的空单元格。这些值的范围应为0到1,但是在条目>1
(1000-10000)的整个区域内都存在错误,并且无法准确地对行进行平均。
顺便说一句:我尝试过以前发布的宏来清除基于颜色的细胞"突出显示值为>1
的所有单元格后,但此操作失败。我猜是因为RGB查找表说明与我的excel版本不匹配?
(Clear cell contents based on color?)
答案 0 :(得分:1)
选择您要处理的区域并尝试一下:
Sub ClearSome()
Dim r As Range, rr As Range, rClear As Range
Set rr = Intersect(Selection, ActiveSheet.UsedRange)
Set rClear = Nothing
For Each r In rr
If IsNumeric(r) Then
If r.Value > 1 Then
If rClear Is Nothing Then
Set rClear = r
Else
Set rClear = Union(rClear, r)
End If
End If
End If
Next r
If Not rClear Is Nothing Then
rClear.Clear
End If
End Sub
答案 1 :(得分:1)
考虑到数据的大小,读取数组并循环遍历数组然后将数组写回工作表可能更有效。
试试这个:
Sub RemoveValues()
Dim values(), arrayWidth As Integer, arrayHeight As Integer, i As Integer, j As Integer
values = Range("A1:C5") // update as per your set up
arrayWidth = UBound(values, 2)
arrayHeight = UBound(values, 1)
For j = 1 To arrayHeight
For i = 1 To arrayWidth
If values(j, i) > 1 Then
values(j, i) = vbNullString
End If
Next i
Next j
Range("A1").Resize(arrayHeight, arrayWidth) = values
End Sub