Excel里将小于60的单元格都改为60

    今天一个朋友在处理成绩时需要将所有单元格里小于60的都改成60分,她开始的想法是用查找替换,Excel还真不支持这种呢,我看了一下量挺大的,就帮她写了一个小VBA程序,功能是将选中区域内的所有单元格值做替换,当然是有条件的替换了,代码如下,详细的条件就不解释了,我有注释的:
    在宏里设置一下快捷下,选中按CTRL+SHIFT+F就自动替换了,一下子完成了几万条记录的更改,真爽。

Sub SetTo60()
'
'
 将小于60分的单元格设为60
'
 宏由 YangBH 录制,时间: 2008-4-21
'
 QQ:283522147
'
 快捷键: Ctrl+Shift+F
'
Dim oStr As String  '获取当前计算单元格的内容
Dim oSel As Range   '定义当前计算的区域(单元格)
Dim oSng As Single  '获取当前计算机单元格的单精度值

For Each oSel In Selection
    oStr 
= Cells(oSel.Row, oSel.Column).Value
    
If oStr <> "" Then              '空单元格直接不操作,进入下层循环
        If IsNumeric(oStr) Then     '不能转换为数值类型时跳过,进入下层循环
            oSng = CSng(oStr)
            
If oSng < 60 Then       '如果小于60则填充为60
                If oSng <> 0 Then    '如果等于0则跳过,进入下层循环
                    Cells(oSel.Row, oSel.Column).Value = 60
                
End If
            
End If
        
End If
    
End If
Next oSel
End Sub
posted @ 2008-04-21 10:09  jcjks  阅读(1841)  评论(0编辑  收藏  举报