今天是公元: 20260921日 星期   农历: 丙午十一 2 加入收藏 | 设为首页 | 会员中心
您当前的位置:首页 > 编程与IT学习 > 软件学与用

Excel Vba 一列自动筛选打印成图片_筛选名称做文件名

日期:2026-07-03   来源:本站整理  人气:187

   '首先按第一拆分依据列进行筛选
   For i = 2 To UBound(arr)
       objDic(arr(i, slt_col)) = ""
   Next
   brr = objDic.keys
   For i = LBound(brr) To UBound(brr)
       If fso.FileExists(desktop & org_name & ".jpg") Then Kill desktop & org_name & ".jpg"
       If fso.FileExists(desktop & org_name & "_1.jpg") Then Kill desktop & org_name & "_1.jpg"
       If fso.FileExists(desktop & org_name & "_2.jpg") Then Kill desktop & org_name & "_2.jpg"
       If fso.FileExists(desktop & org_name & "_3.jpg") Then Kill desktop & org_name & "_3.jpg"
      
       rg.AutoFilter field:=slt_col, Criteria1:=brr(i) '其中的“slt_col”就是第一要筛选的列
       ActiveSheet.PrintOut
       
       new_name = desktop & brr(i) & ".jpg"
       wsh.Popup "班级" & brr(i) & " " & new_name, 2, "自动关闭提示", 64 ' 1秒后自动关闭
       '此处必须wsh.Popup延时提示,否则打印可能缺失
       
       old_name = desktop & org_name & ".jpg"
       If fso.FileExists(old_name) Then
           FileCopy old_name, new_name
       Else
          old_name = desktop & org_name & "_1.jpg"
          If fso.FileExists(old_name) Then
             new_name = desktop & brr(i) & "_1.jpg"
             FileCopy old_name, new_name
  
             old_name = desktop & org_name & "_2.jpg"
             new_name = desktop & brr(i) & "_2.jpg"
             wsh.Popup "班级" & brr(i) & " " & new_name, 1, "自动关闭提示", 64 ' 1秒后自动关闭
             FileCopy old_name, new_name
             
             old_name = desktop & org_name & "_3.jpg"
             new_name = desktop & brr(i) & "_3.jpg"
             If fso.FileExists(old_name) Then
                wsh.Popup "班级" & brr(i) & " " & new_name, 1, "自动关闭提示", 64 ' 1秒后自动关闭
                FileCopy old_name, new_name
             End If
           End If
       End If
   Next i
   rg.AutoFilter

   MsgBox "【" & ActiveSheet.Cells(1, slt_col) & "】列分类筛选打印,完成!"
   If fso.FileExists(desktop & org_name & ".jpg") Then Kill desktop & org_name & ".jpg"
   If fso.FileExists(desktop & org_name & "_1.jpg") Then Kill desktop & org_name & "_1.jpg"
   If fso.FileExists(desktop & org_name & "_2.jpg") Then Kill desktop & org_name & "_2.jpg"
   If fso.FileExists(desktop & org_name & "_3.jpg") Then Kill desktop & org_name & "_3.jpg"
End Sub
 

上一篇: Excel Vba 浏览文件夹,读取文件夹所有文件 下一篇: 返回列表
相关文章
热门点击
  1. Excel Vba 一列自动筛选打印,两列自动筛选打印
  2. 软件版本命名规范
  3. Excel批量取消超链接的方法
  4. Excel退出时不提示保存的解决方法
  5. Excel Vba 一列自动筛选打印成图片_筛选名称做文件名
   关于我们
服务联系
新闻公告
好正好教育
好正好软件(教学管理)
Copyright (c) 2024 好正好教育