Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1224|回复: 8

[已解决]求利用VBA差值运算

[复制链接]
发表于 2022-7-15 15:19 | 显示全部楼层 |阅读模式
1学分
本帖最后由 果冻的心 于 2022-7-17 02:25 编辑

     表三甲L列与E列的差值,如果差值为0的话,不让他显示出来,其他差值不为0的整行标上颜色(每个文件都是从第七行开始求差值,但是有多少行不确定)
          可以自动选择文件夹下的所有文件

最佳答案
2022-7-15 15:19
试试吧!!!!!
212916cbkbywdbb9b4u37f.png
微信图片_20220715153023.png

差值.zip

33.85 KB, 下载次数: 7

最佳答案

查看完整内容

试试吧!!!!!
发表于 2022-7-15 15:19 | 显示全部楼层    本楼为最佳答案   
试试吧!!!!!

工作簿1.rar

18.57 KB, 下载次数: 4

回复

使用道具 举报

 楼主| 发表于 2022-7-16 09:25 | 显示全部楼层
本帖最后由 果冻的心 于 2022-7-16 16:47 编辑

回复

使用道具 举报

 楼主| 发表于 2022-7-17 15:16 | 显示全部楼层
自己顶一个
回复

使用道具 举报

 楼主| 发表于 2022-7-19 09:39 | 显示全部楼层
坐等
回复

使用道具 举报

发表于 2022-7-20 10:11 | 显示全部楼层
究竟是哪列和E列差值?
回复

使用道具 举报

 楼主| 发表于 2022-7-20 14:32 | 显示全部楼层
我行我速2008 发表于 2022-7-20 10:11
究竟是哪列和E列差值?

M列与E列,  L列与E列其实一回事。安照M列与E列吧
回复

使用道具 举报

发表于 2022-7-20 18:52 | 显示全部楼层
不是K列与E列的差吗?如果理解错了,请自行修改。
回复

使用道具 举报

 楼主| 发表于 2022-7-21 11:20 | 显示全部楼层
我行我速2008 发表于 2022-7-20 18:52
不是K列与E列的差吗?如果理解错了,请自行修改。

可以完美实现,感谢,最后我改了下,
Option Explicit

Sub 批量修改表格数据()
  On Error Resume Next    '// 发生错误,自动执行下一句,就是忽略错误
  Application.ScreenUpdating = False '//关闭屏幕刷新
  Application.DisplayAlerts = False '//关闭系统提示
  Application.EnableEvents = False  '//禁止触发其他事件
  Application.StatusBar = False   '关闭系统状态条
  Dim F, I%, K%, R%, Tim, Ar, Str$
  Dim Wb As Workbook
  Dim Sh As Worksheet
  Tim = Timer
  ChDir ThisWorkbook.Path
  F = Application.GetOpenFilename("EXCEL文件,*.xls*", MultiSelect:=True)
  For K = 1 To UBound(F)
      Set Wb = GetObject(F(K))
         For Each Sh In Wb.Worksheets
            If Sh.Name = "表三甲" Then
                With Sh
                    .UsedRange.Interior.ColorIndex = xlNone
                    R = .UsedRange.Rows.Count
                    Ar = .Range("A7:M" & R)
                    For R = 1 To UBound(Ar)
                        If Ar(R, 5) <> Ar(R, 12) Then
                            Ar(R, 13) = Ar(R, 12) - Ar(R, 5)
                            .Cells(R + 6, 1).Resize(1, 13).Interior.ColorIndex = 3
                        Else
                            Ar(R, 13) = ""
                        End If
                    Next
                    .Range("A7:M" & R) = Ar
                End With
            End If
         Next Sh
      Wb.Windows(1).Visible = True
      Wb.Close True
      Set Wb = Nothing
  Next K
  Sheets(1).Select
  MsgBox Format(Timer - Tim, "0.00")
  Application.StatusBar = True   '恢复系统状态条
  Application.EnableEvents = True  '// 恢复触发其他事件
  Application.ScreenUpdating = True '//恢复屏幕刷新
  Application.DisplayAlerts = True '//恢复系统提示
End Sub


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-29 16:39 , Processed in 0.498516 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表