当前位置:软件学习 > Excel >>

Excel VBA脚本辅助编辑

     不得不承认今天抽了自己一个大嘴巴。Visual Basic(简称VB),这门一直不当回事的语言。之前只用来写写游戏辅助。这门被认为难登大雅之堂的语言,今天给我好好上了一课。
     事情的场景:这几天一直在整理需求文档。各种Word,各种Excel。当然程序猿是不会看文档的。一群程序猿围着文档编程序。各种复制粘贴,各种查找替换都希望程序来实现。我负责Excel部分,用jxl.jar处理各种逻辑。结果却是各种鸡飞狗跳。各种格式不匹配,各种异常,各种遗漏。一次次被打回。最后人手整理。
     有趣的事情出现了。 Excel的各种公式明显比程序的接口好用。统计方面顺利完成。剩下的各种操作,染色,删除,拆分、合并......我开始打宏的主意了。其实就是VBA。录一段,改一段,查查文档。关键步骤很快实现了。再细分封装。脚本完成。远比其他语言简单明了。还省了开发环境。VB和office凑在一起才能发挥最佳水平。并不是语言没用,而是我们不会使用。
     我想以后处理文档将是一项有趣的事情。
     一段简单的染色脚本:
[vb]  
Sub 序号染色()  
'  
' 宏1 宏  
'  
  
'  
    Dim arr1  
    arr1 = Array("438", "563", "564", "751", "752", "753", "754", "824", "825", "826", "827", "828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", "842", "843", "844", "845", "846", "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", "858", "859", "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", "870", "871")  
    循环染色 (arr1)  
End Sub  
  
Sub 染色(n)  
    For a = 3 To 2200  
            Range("A" + CStr(a)).Select  
            If ActiveCell.FormulaR1C1 = n Then  
                With Selection.Interior  
                    .Pattern = xlSolid  
                    .PatternColorIndex = xlAutomatic  
                    .Color = 255  
                    .TintAndShade = 0  
                    .PatternTintAndShade = 0  
                End With  
            End If  
       Next a  
End Sub  
  
Sub 循环染色(arr)  
    For Each n In arr  
       染色 (n)  
    Next  
End Sub  
 
补充:软件开发 , Vb ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,