Excel VBA脚本辅助编辑

             不得不承认今天抽了自己一个大嘴巴。Visual Basic(简称VB),这门一直不当回事的语言。之前只用来写写游戏辅助。这门被认为难登大雅之堂的语言,今天给我好好上了一课。
     事情的场景:这几天一直在整理需求文档。各种Word,各种Excel。当然程序猿是不会看文档的。一群程序猿围着文档编程序。各种复制粘贴,各种查找替换都希望程序来实现。我负责Excel部分,用jxl.jar处理各种逻辑。结果却是各种鸡飞狗跳。各种格式不匹配,各种异常,各种遗漏。一次次被打回。最后人手整理。
     有趣的事情出现了。 Excel的各种公式明显比程序的接口好用。统计方面顺利完成。剩下的各种操作,染色,删除,拆分、合并......我开始打宏的主意了。其实就是VBA。录一段,改一段,查查文档。关键步骤很快实现了。再细分封装。脚本完成。远比其他语言简单明了。还省了开发环境。VB和office凑在一起才能发挥最佳水平。并不是语言没用,而是我们不会使用。
     我想以后处理文档将是一项有趣的事情。

     一段简单的染色脚本:

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


你可能感兴趣的:(Excel VBA脚本辅助编辑)