利用vba求excel总人数,及格人数

上一篇 / 下一篇  2015-04-24 14:30:10 / 个人分类:QTP

   进一步学习QTP的过程中,最近在学习的是VB语言在EXCEL中的应用。方便后期excel的调用。新手上路,求指教
   这次的任务主要是两个,一是把表头变成绿色底,把小于60分的变为红字。刚接触VB语言,百度了很多,不过网上的知识都挺杂的。还有就是,又验证了那一点,大多数工具都是先录制再改代码。同样,EXCEL的VBA中也提供了代码录制。修改后的代码如下
Sub Macro5()
    Range("A1:D1").Select
    Range("D1").Activate
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 5287936
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("B2:C68").Select
    Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, _
        Formula1:="=60"
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
    With Selection.FormatConditions(1).Font
        .Color = -16383844
        .TintAndShade = 0
    End With
    Selection.FormatConditions(1).StopIfTrue = False
    ActiveWindow.SmallScroll Down:=-36
End Sub
  第二个任务是算出总人数,班级语文成绩及格人数,数学成绩及格人数,其实实现的方式和函数非常多,这只是其中一种,仅供参考。
Sub sum()
    Dim s
    Dim i
    Dim m
    n = 0
    j = 0
    s = ActiveSheet.UsedRange.Rows.Count - 1 '班级总人数
    Cells(1, 5) = "学生数量为:" & s
    
    For i = 2 To s + 1
       If (Sheet1.Cells(i, 2).Value) > 60 Then j = j + 1
       Next i
    Cells(2, 5) = "语文及格人数:" & j
    
       
   For m = 2 To s + 1
      If (Sheet1.Cells(m, 3).Value) > 60 Then n = n + 1
      Next m
    Cells(3, 5) = "数学及格人数:" & n
    
End Sub






TAG: Excel

 

评分:0

我来说两句

Open Toolbar