macros清除(大量)值> 1的单元格?

是否有可能根据一个值清除大量的单元格,即如果>1 ? 我正在使用Excel for Mac 2011。

我想将>1数千个值转换为大数据集(600行×450K)中的空单元格。 值应该是从0到1,但是在整个入口>1 (1000-10000)的地方存在错误,并且不准确地对行进行平均。

顺便说一句:我试着突出显示所有值>1单元格后,以前发布的macros“基于颜色的透明单元格”,但这失败了。 我猜测,因为RGB查找表指令不符合我的版本的Excel? ( 根据颜色清除单元格内容? )

select你想要处理的区域,并试试这个:

 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 

考虑到数据的大小,读取数组并循环访问数组然后将数组写回工作表可能会更高效。

尝试这个:

 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