Excel中VBA进行插入列、格式化、排序

在数据分析中经常需要对数据进行排序、排名,观察指标排名变化情况,手工处理的话不是太困难,但经常使用,还是编写宏比较方便。

宏命令比较简单,不多解释,只说一下注意事项:

1、有合并单元格,比如列、行合并后,直接选择会全选合并的列/行,这时候,不用管选择,直接进行插入、删除、或者格式化就可

Columns(nCol).Insert

2、输入格式化公式时,需要固定单元格$,可以使用FormulaR1C1,R[1]C[1]标示当前行、列加1,R1C1标示$a$1,使用时还要注意

把数字转换成字符串。

Sub 排序()
'
' 排序 宏
' 123
'
' 快捷键: Ctrl+p
    Dim nCol As Long
    Dim nRow As Long
   
    nCol = Selection.Column
    nRow = Selection.Row

    Columns(nCol).Insert
   
    Columns(nCol).NumberFormatLocal = "G/通用格式"
 
    Cells(nRow, nCol).Select

    ActiveCell.FormulaR1C1 = "=RANK(RC[-1],R" & CStr(nRow) & "C[-1]:R" & CStr(nRow + 16) & "C[-1])"
   
    Selection.AutoFill Destination:=Range(Cells(nRow, nCol), Cells(nRow + 16, nCol)), Type:=xlFillDefault
End Sub

posted @ 2016-07-25 15:19  Tony(iHqq)  阅读(2161)  评论(0编辑  收藏  举报