首页 > 其他分享 >第一次自学VBA

第一次自学VBA

时间:2023-06-19 10:02:51浏览次数:37  
标签:Dim VBA dstCell 第一次 Range Sheet2 CStr Worksheets 自学


希望的效果如图所示

 

第一次自学VBA_string

 

Sub CopyClassAvgCell()
    Dim a As Range
    Dim i As Integer
    Dim cell As String
    Dim nameCell As String
    Dim schoolAvgCell As String
    Dim classAvgCell As String
    Dim mergeCell As String
    Dim totalAvgCell As String
    
    
    Dim dstCell As String
    Dim j As Integer
    
    ''''''''''''''''''''''''从Sheet1获取关键数据到Sheet2
    j = 1
    For i = 7 To 511 Step 8
        Worksheets("Sheet1").Activate
        cell = "Q" + CStr(i)
        nameCell = "C" + CStr(i - 2)
        Range(cell).Select
        Selection.Copy
        
        
        Worksheets("Sheet2").Activate
        
        
        dstCell = "C" + CStr(j)
        Range(dstCell).PasteSpecial xlPasteValues 
        
        dstCell = "D" + CStr(j)
        schoolAvgCell = "R" + CStr(i)
        Range(dstCell).Select
        ActiveCell.FormulaR1C1 = Worksheets("Sheet1").Range(schoolAvgCell).Value
        
        dstCell = "A" + CStr(j)
        Range(dstCell).Select
        ActiveCell.FormulaR1C1 = CStr(j)
        
        dstCell = "B" + CStr(j)
        Range(dstCell).Select
        ActiveCell.FormulaR1C1 = Worksheets("Sheet1").Range(nameCell).Value
                
        j = j + 1
        
    Next i
    
    '''''''''''''''''''''''' 以C为主键排序Sheet2中的数据
    Worksheets("Sheet2").Range("C1").Sort _
            Key1:=Worksheets("Sheet2").Columns("C"), _
            Header:=xlGuess
            
            
    '''''''''''''''''''''''' 将Sheet2的数据重新插回到Sheet1
    j = 1
    For i = 7 To 511 Step 8
        Worksheets("Sheet1").Activate
        mergeCell = "C" + CStr(i) + ":R" + CStr(i)
        Range(mergeCell).Select
        Selection.Merge
        
        dstCell = "C" + CStr(i)
        
        totalAvgCell = "A" + CStr(j)
        classAvgCell = "C" + CStr(j)
        schoolAvgCell = "D" + CStr(j)
        Range(dstCell).Value = "平均分1" + CStr(Worksheets("Sheet2").Range(classAvgCell).Value) + "  " + _
            "平均分2" + CStr(Worksheets("Sheet2").Range(schoolAvgCell).Value) + "  " + _
            "平均分3" + CStr(Worksheets("Sheet2").Range(totalAvgCell).Value)
                
        j = j + 1
        
    Next i
    
    
    
                  
End Sub

 

 

 

 

 

标签:Dim,VBA,dstCell,第一次,Range,Sheet2,CStr,Worksheets,自学
From: https://blog.51cto.com/maray/6510898

相关文章

  • VBA结构总结
    三大结构:顺序、选择、循环选择If条件表达式Then真执行的,语句1ElseIf条件表达式假执行的,语句2Else上面情况都不满足执行则执行本,语句3EndIf 循环For循环For…Next循环ForEach循环For...Next循环//For…Next循环For[变量]......
  • 4、第一次构建项目报错处理
     翻译如下:编译错误此项目包含Java编译错误,可能导致自定义视图呈现失败。先修复编译问题。解决方案如下:找到File->InvalidateCaches/Restart清除缓存及重启Studio 点击InvalidateCaches/Restart清除缓存及重启Studio 解决了哦,没有报错了 ......
  • Python自学整理
    Python对大小写敏感。在Windows下可以不写第一行注释:#!/usr/bin/python3第一行注释标的是指向python的路径,告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器。此外还有以下形式(推荐写法):#!/usr/bin/envpython3这种用法先在env(环境变量)设置里查找pyth......
  • 第一次找实习的人,确实没经验
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!很快就是暑假了,操心期末考试的朋友们应该都要抓狂了吧!当然,还有更担心的就是暑期实习这回事儿。毕竟,大多数同学可能要迈出找实习的第一步。第一次找实习,一脸懵逼还是很正常的…......
  • VBA 连接数据库
    '需要的参数ConstMYPROVIDER="Provider=sqloledb;"ConstMYSERVER="Server=xxx.xxx.xxx.xxx;"ConstMYPORT="Port=3306;"ConstMYDATABASE="Database=xxxxxxx;"ConstMYUSER="UserID=xxxxxxx;"ConstMYP......
  • Apache Storm教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介ApacheStorm是一个分布式实时大数据处理系统。Storm设计用于在容错和水平可扩展方法中处理大量数据。它是一个流数据框架,具有最高的摄取率。虽然Storm是无状态的,它通过ApacheZooKeeper管理分布式环境和集群状态。它很简单,您可以并行地对实时数据执行各种操作。ApacheS......
  • Apache Spark教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介ApacheSpark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UCBerkeleyAMPlab(加州大学伯克利分校的AMP实验室)所开源的类HadoopMapReduce的通用并行框架,Spark,拥有HadoopMapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......
  • Linux系统基础知识与自学方法
    大部分非计算机相关的朋友也经常使用电脑,所以我们频繁接触的是Windows系统。关于这个系统的评价不一,一部分人觉得简洁快捷,一部分人觉得问题(病毒、弹窗)多多,总之对Windows系统系统的评价参差不齐,上限高,下限也低。所以我们可以看出,这个系统在使用过程中每个人的感受都不一样。同时小......