一需求:按照标题C的内容,一样的数据整理到一个文件中。

二.操作:

1.atl+F11弹出vb窗口

2.点击       插入===》模块   ,复制以下代码,注意这是一个表头为三行的函数(保存)

Sub 保留表头拆分数据为若干新工作簿()
    Dim arr, d As Object, k, t, i&, lc%, rng As Range, c%
    
    '获取分割列的索引
    c = Application.InputBox("刘刚:请输入拆分列号", "刘刚:输入框", 1, , , , , 1)
    
    '如果分割列的索引是0退出程序
    If c = 0 Then Exit Sub
    
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    
    '取a1附近所有的数据
    arr = [a1].CurrentRegion
    '取有多少列 可以将arr看做是数组,数组的第二个维度就是列的个数
    lc = UBound(arr, 2)
    
    '取标题(从a1开始取去几行几列)(如果是一行标题,就把下行的3改成1,几行标题就写几)
    Set rng = [a1].Resize(3, lc)
    Set d = CreateObject("scripting.dictionary")
    
    '从标题行之下开始循环遍历不同的值(i =  标题行+1    如三行标题就是 4)
    For i = 4 To UBound(arr)
        If Not d.Exists(arr(i, c)) Then
            Set d(arr(i, c)) = Cells(i, 1).Resize(1, lc)
        Else
            Set d(arr(i, c)) = Union(d(arr(i, c)), Cells(i, 1).Resize(1, lc))
        End If
    Next
    
    k = d.Keys
    t = d.Items
    
    For i = 1 To d.Count
        With Workbooks.Add(xlWBATWorksheet)
            '从哪个单元格开始复制内容
            rng.Copy .Sheets(1).[a1]
            
            '真正的内容从标题下开始复制(4   表示标题行+1,几行标题行就改成几+1)
            t(i - 1).Copy .Sheets(1).[a4]
            .SaveAs Filename:=ThisWorkbook.Path & "\" & k(i - 1) & "计算机学院2019年'劳动节'假期学生去向登记表" & ".xls"
            .Close
        End With
    Next
    
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    
    MsgBox "成功执行"
End Sub

3.点击Excel中的文件按钮。

4.点击选项

4.自定义功能区,勾选开发工具,点击确定

5.切换到开发工具选项卡

6.点击插入,选择图片指示控件

7.随便一个位置,拖动一下,选择刚才定义的宏,确定

8.点击按钮即可

9.效果,我们输入3

10.最后的效果(同文件目录下出现拆分文件)

Excel表格中依据某一列的值,将这列中一样的数据放在一个文件中。的更多相关文章

  1. 你需要一个新的model实体的时候必须new一个.奇怪的问题: 使用poi解析Excel的把数据插入数据库同时把数据放在一个list中,返回到页面展示,结果页面把最后一条数据显示了N次

    数据库显示数据正常被插 插入一条打印一次数据,也是正常的,但是执行完,list就全部变成了最后一条数据.很奇怪 单步调试 给list插入第一条数据 model是6607 连续插了多条数据都是6607 ...

  2. shiro配置参考(二)可以和mybatis的配置放在一个文件中(不建议这样,可以拆分开来,注意相关配置即可)

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  3. shell脚本实现读取一个文件中的某一列,并进行循环处理

    shell脚本实现读取一个文件中的某一列,并进行循环处理 1) for循环 #!bin/bash if [ ! -f "userlist.txt" ]; then echo &qu ...

  4. flink---实时项目--day01--1. openrestry的安装 2. 使用nginx+lua将日志数据写入指定文件中 3. 使用flume将本地磁盘中的日志数据采集到的kafka中去

    1. openrestry的安装 OpenResty = Nginx + Lua,是⼀一个增强的Nginx,可以编写lua脚本实现⾮非常灵活的逻辑 (1)安装开发库依赖 yum install -y ...

  5. java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.Fi ...

  6. 为什么模板函数的声明和实现都放在.h文件中

    当你不使用这个模板函数或模板类,编译器并不实例化它,当你使用时,编译器需要实例化它,因为编译器是一次只能处理一个编译单元,也就是一次处理一个cpp文件,所以实例化时需要看到该模板的完整定义.所以都放在 ...

  7. linux下批量修改存有超大数据量IP文件中的IP内容以及去重排序

    作为一个linux的学徒,分享一下自己解决这个小问题的心得,在处理这个问题时使用了一个小技巧感觉很适用,个人发觉linux的终端真滴是非常强大,下面就详细地介绍这个问题以及解决办法吧 问题描述:由于要 ...

  8. C++-模板的声明和实现为何要放在头文件中

    源: http://blog.csdn.net/lqk1985/archive/2008/10/24/3136364.aspx 如何组织编写模板程序 发表日期: 1/21/2003 12:28:58 ...

  9. Java基础知识强化之IO流笔记52:IO流练习之 把一个文件中的字符串排序后再写入另一个文件案例

    1. 把一个文件中的字符串排序后再写入另一个文件 已知s.txt文件中有这样的一个字符串:"hcexfgijkamdnoqrzstuvwybpl" 请编写程序读取数据内容,把数据排 ...

随机推荐

  1. robotFramework第二篇之关键字的定义和使用

    lesson.robot *** Keywords *** 打开谷歌浏览器并访问百度首页 Log 打开浏览器,输入http://www.baidu.com,进入百度首页 输入用户名 [Argument ...

  2. java网络爬虫基础学习(三)

    尝试直接请求URL获取资源 豆瓣电影 https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort= ...

  3. Running Spark Streaming Jobs on a Kerberos-Enabled Cluster

    Use the following steps to run a Spark Streaming job on a Kerberos-enabled cluster. Select or create ...

  4. windows 10隐藏各种文件夹

    1.windows键+R打开运行,或者Ctrl+Alt+Del键调出任务管理器--文件--运行新的任务,然后出入"regedit"打开注册表: 2.按目录找到:[-HKEY_CLA ...

  5. Django Template(模板)

    一.模板组成 组成:HTML代码 + 逻辑控制代码 二.逻辑控制代码的组成 1.变量 语法格式 : {{ name }} # 使用双大括号来引用变量 1.Template和Context对象(不推荐使 ...

  6. 2013年山东省赛F题 Mountain Subsequences

    2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...

  7. dos命令的使用

    echo 百度欢迎您 >d:\1.txt F7查看执行过的命令 直接进入 D盘 d: 创建目录 md fox 在fox目录下创建子目录user md fox\user\hello1 进入到use ...

  8. VScode插件以及配置

    Auto Rename Tag —— 自动同步修改标签 AutoFileName —— 自动补全路径提示 background —— 一个萌萌的插件,可以自己设置vsc的背景图 Bootstrap 3 ...

  9. Python——汇总

    一.工具类 (1)pycharm激活.中文破解 (2)pycharm的基本设置 (3)pycharm常用包和插件的安装 二.数据类型 (1)列表.元祖.字典 操作方法 (2)迭代器操作方法 (3)生成 ...

  10. Markdown基础语法小结

    一.前言 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. --摘自百度百科 没想到一向不太靠谱的百度百科这次竟有了如此精辟的解释. ...