EXCEL的VBA(宏)编程

EXCEL的VBA编程

杨康需要我完成的需求

第一列是名称

第二列是甲方账户

第三列是甲方金额

第四列是乙方账户

第五列是乙方金额

第六列是true或false

第七列备注
EXCEL的VBA(宏)编程
需求

开始时数据对齐的,如果甲方金额比乙方金额大,就将交易名称,甲方账户,甲方金额下移一行,反之则将乙方账户,乙方金额下移一行

最终效果图
EXCEL的VBA(宏)编程

我的代码


Sub func()

Dim pos, total, mate1

Rem 获取行数
total = Sheet1.UsedRange.Rows.Count

Rem 开始循环
For pos = 2 To Sheet1.UsedRange.Rows.Count
    If Sheet1.Cells(pos, "C").Value > Sheet1.Cells(pos, "E").Value Then     '当甲的金额大于乙的金额
       MsgBox "甲大!!"
       Sheet1.Cells(pos, "G") = "无甲方"
       Sheet1.Cells(pos, "F") = "FLASE"          '改为FLASE
       Range("A" & pos & ":C" & total).Select
       Selection.Copy Range("A" & pos + 1)        '移动
       Range("A" & pos & ":C" & pos) = ""
       Range("A" & pos & ":G" & pos).Select   '选中当前的行
       Set rng2 = ActiveCell.EntireRow
       rng2.Interior.ColorIndex = 6             '设置高亮
    ElseIf Sheet1.Cells(pos, "C").Value < Sheet1.Cells(pos, "E").Value Then     '当甲的金额小于乙的金额
       MsgBox "乙大!!"
       Sheet1.Cells(pos, "G") = "无乙方"
       Sheet1.Cells(pos, "F") = "FLASE"
       Range("D" & pos & ":E" & total).Select
       Selection.Copy Range("D" & pos + 1)
       Range("D" & pos & ":E" & pos) = ""
       Range("A" & pos & ":G" & pos).Select   '选中当前的行
       Set rng2 = ActiveCell.EntireRow
       rng2.Interior.ColorIndex = 6             '设置高亮
    End If
    'Sheet1.Cells(pos, "F") = "TRUE"
Next
MsgBox "完成!!"
End Sub

效果图
EXCEL的VBA(宏)编程

上一篇:webform gridview合并单元格


下一篇:aspose.cell 读取文件 报乱码