首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

yhd-VBA从一个工作簿某工作查找符合条件数据插入另一个工作簿某工作

今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一个,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)查找一些数据,提取出来...想要做好了以后同样工作就方便了 【想法】 在一个程序主控文件 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两个工作 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作 查找到"杨过"数据保存到目标文件【第一个】工作 【代码】 Sub...从一个工作簿某工作查找符合条件数据插入另一个工作簿某工作() Dim outFile As String, inFile As String Dim outWb As...并转发使更多的人学习

5.1K22
您找到你想要的搜索结果了吗?
是的
没有找到

@@IDENTITY与SCOPE_IDENTITY() 及IDENT_CURRENT 区别

如果语句影响任何包含标识列,则 @@IDENTITY 返回 NULL。如果插入了多个行,生成了多个标识,则 @@IDENTITY 将返回最后生成标识。...出现 INSERT 或 SELECT INTO 语句失败或容量复制失败,或者事务被回滚情况时,@@IDENTITY 不会恢复为以前设置。...如果语句和事务失败,它们会更改的当前标识,从而使标识列出现不连贯现象。即使提交试图向插入事务,也永远无法回滚标识。...@@IDENTITY、SCOPE_IDENTITY 和 IDENT_CURRENT 是相似的函数,因为他们都返回插入 IDENTITY 列最后一个。     ...答案很明显,是谁最后插入就输出谁,那么就是 B 了。于是,我本意是想得到 A 自增域,结果得到了 B 自增域,一只 BUG 随之诞生,搞不好还会影响整个系统数据混乱。

98130

146. LRU缓存机制 Krains 2020-08-05 12:50:28 链表

要想在O(1)时间内get已存,可以使用哈希,而哈希存储键值是没有先后顺序,因此就不能够在O(1)时间内删除最久使用元素,可以采用双向链表,链表优点是插入删除元素快,而且维护键值先后顺序...使用哈希以关键字为key,链表结点为value,双向链表维护关键字先后顺序,新加入或者最近使用过关键字都插入或移动到链表头部,而如果当前缓存数量超过了容量,就移除一个链表尾部元素,它就是最久使用元素...) 如果哈希中有该key缓存,取出该结点,修改其,同时将该结点移动到链表首部moveToFirst() 如果没有,若当前缓存数量超过了容量,需要删除掉链表尾部一个元素remove(),同时移除哈希对应...key,之后新建一个结点放到链表首部addFirst(),同时将该结点加入哈希 为了减少判断,使用了两个哑结点first和last,分别指向双向链表头和尾结点,在实现结点插入删除时,最好能够在纸上手动画一遍...node.prev = first; first.next.prev = node; first.next = node; } // 将node链表移除并将其插入到头部方法

29111

基本排序算法

,通过一趟排序将整个数组分为两个部分,其中一部分数据都比这个基准小,另一部分数据都比这个基准。...} } 选择排序 方法介绍 首先在排序数组中找到最大或者最小元素,然后将其放在起始位置,同理,在排序数组中继续寻找最大或最小数,将其放在已排序(每次找到元素构成数列)数列末尾。...开始时有序只包含1个元素,无序包含有n-1个元素,排序过程每次从无序取出第一个元素,将它插入有序适当位置,使之成为新有序,重复n-1次可完成排序过程。...在桶排序时,创建容量为MAX桶数组buckets,并将桶数组元素都初始化为0;将容量为MAX桶数组每一个单元都看作一个"桶"。...在排序时,逐个遍历数组arr,将数组arr,作为"桶数组buckets"下标。当a数据被读取时,就将桶加1。例如,读取到数组arr[3]=5,则将buckets[5]+1。

12910

除Innodb和MyISAM外MySQL还有哪些存储引擎

,可以将电子表格存储为CSV文件再拷贝MySQL数据目录下,就能够在数据库打开和使用。...同样,如果将数据写入CSV文件数据,其它web程序也可以迅速读取到数据。...delete操作 archive支持行级锁和缓冲区,可以实现高并发插入 archive存储引擎支持blob、text等大字段类型 archive支持自增列,但是不支持往自增列插入一个小于当前最大...相同数量级下,Archive比MyISAM要小大约75%,比支持事务处理InnoDB小大约83%。当数据量非常时候Archive插入性能表现会较MyISAM为佳。...本地Federated不存储数据,访问本地表时,会自动远程获取数据。

59720

ArrayList和LinkedList如何实现?我看你还有机会!

尽管如此,还是有很多同学没有弄明白 List ArrayList 和 LinkedList 有什么区别,这简直太遗憾了,这两者其实都是数据结构基础内容,这篇文章会基础概念开始,分析两者在 Java...介绍线性概念,详细介绍线性数组和链表数据结构。 进行 ArrayList 源码分析,比如存储结构、扩容机制、数据新增、数据获取等。...是否初始化,初始化是则初始化 ArrayList ,容量给 10....判断当前要插入下标是否大于容量 不大于,插入新增元素,新增流程完毕。 如果所需容量大于当前容量,开始扩充。 扩容规则是当前容量 + 当前容量右移1位。也就是1.5倍。...如果容量大于默认最大容量,则使用 最大 Integer 作为容量。 拷贝老数组元素扩充后新数组 插入新增元素,新增流程完毕。

52710

【实现报告】学生信息管理系统(顺序

有效插入位置1开始,ps->length + 1结束(含)。 如果i小于1或大于ps->length + 1,函数返回false,表示插入操作失败。...检查并扩容 如果顺序的当前长度加1于等于其容量(ps->length + 1 >= ps->capacity),意味着顺序没有足够空间来容纳新元素,因此需要扩容。...将插入位置及之后元素后移 为了在指定位置i插入新元素,该位置开始顺序末尾所有元素都需要向后移动一位。这通过一个ps->length开始,向下到i逆序循环完成。...循环中每一步都将元素j位置移动到j + 1位置。 这个过程为新元素腾出了位置i。 在指定位置插入新元素 新元素通过解引用e指针(*e)获得,并被插入顺序位置i。...由于函数用户友好性考虑,位置i是1开始计数。 更新顺序长度 成功插入新元素后,顺序长度ps->length增加1,以反映新元素添加。 返回 函数最后返回true,表示插入操作成功执行。

15210

一文了解Mysql

InnoDB引擎支持4种事务隔离级别 InnoDB引擎支持4种事务隔离级别分别是:读提交、读已提交、可重复读、串行读。 读提交:允许脏读,可以读取其他session提交脏数据。...如果插入数据时字段取值并非可选之一,则会空串或者NULL代替用户想要插入。...角标1开始会报错,如果使用"0"去操作,最后插入是空串,因为角标0是预留给空串。...Mysql存储引擎 实际上Mysql支持存储引擎很多,Mysql既可以支持NDB和InnoDB这种事务安全存储引擎,也可以支持MyISAM、MEMORY、CSV、BLACKHOLE、FEDERATED...存储容量最多为255个字符数。 varchar:不定长,可以节省空间。varchar需要在数据之前使用一两个字节存储数据长度。最多情况下可以存储65532个字符数。 主键、超键和候选键区别?

90720

算法题就像搭乐高:手把手带你拆解 LRU 算法

1 cache.put(3, 3); // cache = [(3, 3), (1, 1)] // 解释:缓存容量已满,需要删除内容空出位置 // 优先删除久使用数据,也就是队尾数据 // 然后把新数据插入队头...,要让 put 和 get 方法时间复杂度为 O(1),我们可以总结出 cache 这个数据结构必要条件: 1、显然 cache 元素必须有时序,以区分最近使用和久使用数据,当容量满了之后要删除最久使用那个元素腾位置...这个数据结构长这样: HashLinkedList 借助这个结构,我们来逐一分析上面的 3 个条件: 1、如果我们每次默认链表尾部添加元素,那么显然越靠尾部元素就是最近使用,越靠头部元素就是最久使用...2、对于某一个 key,我们可以通过哈希快速定位链表节点,从而取得对应 val。 3、链表显然是支持在任意位置快速插入和删除,改改指针就行。...) { Node x = map.get(key); // 链表删除 cache.remove(x); // map 删除 map.remove(key

49320

LRU缓存

void put(int key, int value) 如果关键字 key 已经存在,则变更其数据 value ;如果不存在,则向缓存插入该组 key-value 。...1 cache.put(3, 3); // cache = [(3, 3), (1, 1)] // 解释:缓存容量已满,需要删除内容空出位置 // 优先删除久使用数据,也就是队尾数据 // 然后把新数据插入队头...,要让 put 和 get 方法时间复杂度为 O(1),我们可以总结出 cache 这个数据结构必要条件: 1、显然 cache 元素必须有时序,以区分最近使用和久使用数据,当容量满了之后要删除最久使用那个元素腾位置...这个数据结构长这样: 借助这个结构,我们来逐一分析上面的 3 个条件: 1、如果我们每次默认链表尾部添加元素,那么显然越靠尾部元素就是最近使用,越靠头部元素就是最久使用。...2、对于某一个 key,我们可以通过哈希快速定位链表节点,从而取得对应 val。 3、链表显然是支持在任意位置快速插入和删除,改改指针就行。

13820

02 . MongoDB复制集,分片集,备份与恢复

, 并添加其他服务器以根据需要增加容量, 虽然单台计算机整体速度或容量可能不高,但是每台计算机只能处理全部工作量一部分,因此与单台高速容量服务器相比, 可能会提供更高效率, 扩展部署容量仅需要根据需要添加其他服务器..., 这时候, 各个shard上chunk数量就会不平衡, 这时,mongos一个组件balancer就会执行自动平衡, 把chunkchunk数量最多shard节点挪最少节点; 1.png...上插入无分片键文档(也不支持空插入) 配置分片集群 机器规划 10个实例:38017-38026 mongos:38017 config-servers: 3台构成复制集(1主两,不支持...应用程序也不会需要计算哈希; 对app库下vast进行hash; # 连接到其中一个mongos mongo --port 38017 admin # 开启数据库分片功能 db.runCommand...-o /mongodb/bak/app.csv 导入工具mongoimport Mongodbmongoimport工具可以把一个特定格式文件内容导入指定collection

2.5K20

02 . MongoDB复制集,分片集,备份与恢复

; MongoDB使用分片来支持具有非常数据集和高吞吐量操作部署; 具有大数据集或高吞吐量应用程序数据库系统可能会挑战单个服务器容量; 例如,高查询率可能会耗尽服务器CPU容量; 大于系统RAM...数量就会不平衡, 这时,mongos一个组件balancer就会执行自动平衡, 把chunkchunk数量最多shard节点挪最少节点; image.png 分片键shard key 必须为分片...上插入无分片键文档(也不支持空插入) 配置分片集群 机器规划 10个实例:38017-38026 mongos:38017 config-servers: 3台构成复制集(1主两,不支持...应用程序也不会需要计算哈希; 对app库下vast进行hash; # 连接到其中一个mongos mongo --port 38017 admin # 开启数据库分片功能 db.runCommand...-o /mongodb/bak/app.csv 导入工具mongoimport Mongodbmongoimport工具可以把一个特定格式文件内容导入指定collection

1.6K30

MySQL学习13_数据库引擎

在MySQL不需要在整个服务器中使用同一个数据库引擎,针对具体可以使用不同数据库引擎。...(ACID兼容)能力,并要求实现并发控制,InnoDB最佳 Memory:内存式引擎,临时存放数据,数据量不大,不需要较高数据安全性;将数据存储内存。...CSV:专门用来处理Excel Archive:若只有INSERT和SELECT操作,可选择Archive,Archive支持高并发插入操作,本身是非事务安全。...和InnoDB对比 InnoDB 支持ACID事务,实现了四种隔离级别 提供行级锁和外键约束,处理容量数据系统 基于MySQL后台完整数据库系统,MySQL运行时Innodb会在内存建立缓冲池,用于缓冲数据和索引...count(*) from table 时,只需要直接读取已经保存好,而不需要进行全扫描 读操作远多于写,且不支持事务时,MyISAM是首选

1.1K10

数据结构入门精通——顺序

例如,如果在一个已经满了顺序插入一个新元素,就需要重新分配更大数组空间,并将原有元素复制新数组,这是一个相对耗时操作。 然而,顺序在访问元素时具有很高效率。...静态顺序定长数组导致N定了,空间开多了浪费,开少了不够用。所以现实基本都是使用动态顺序,根据需要动态分配空间大小,所以下面我们实现动态顺序。...这一步将顺序中原有的元素存储空间复制存储空间中。为了保证数据完整性和正确性,复制过程必须小心谨慎地进行。...通常,复制过程会顺序第一个元素开始,逐个复制存储空间相应位置,直到所有元素都被复制完毕。 完成元素迁移后,顺序就可以继续使用新存储空间来存储新元素了。...在顺序,尾部元素总是位于数组最后一个位置,因此删除它不需要移动其他元素。只需将数组最后一个元素位置标记为使用,或者如果使用是动态数组,可以减少其容量以释放使用空间。

8110

常见Python知识点汇总(一)

这样可扩充容量就是动态顺序。 对于动态顺序,前端插入和定位插入,每一次操作都与长度有关,如果规模0增长到n,整个增长过程插入时间就为O(n2)。...后端插入(O(1)),再考虑容量更新问题。涉及空闲内存单元量和更替存储区频度问题。...每次存储量更新时翻倍,考虑容量0增加到1024,复制次数为1+2+4+。。。512=1023....对于容量n,0n整个增长过程,执行尾端插入,存储区每次更新加倍,元素复制次数也是O(n),插入操作平均时间变成了O(1)。比前者具有优势。但实际上也是以空间换时间。...根据pythondocumentation,List存储区扩充实际采用以下原则:空分配8个元素存储区,插入(append,insert等)元素满了之后,换4倍存储区(超出50000),若非常

14040

Python使用sqlite3模块内置数据库

1、python内置sqlite3模块,创建数据库,并向插入数据,取出所有行,以及输出行数量。 #!...()方法执行querySQL命令 con.execute(query) #使用连接对象commit()方法将修改提交(保存)数据库 con.commit() #向插入几行数据 data =...模块,向插入新纪录 名称为“CSV测试数据.csv数据源: ?...()方法执行create_tableSQL命令 c.execute(create_table) #使用连接对象commit()方法将修改提交(保存)数据库 con.commit() #CSV格式输入文件读取要加载到数据库数据...()方法执行querySQL命令 con.execute(query) #使用连接对象commit()方法将修改提交(保存)数据库 con.commit() #向插入几行数据 data =

2K20

实现 LRU 缓存算法

int get(int key) 如果关键字 key 存在于缓存,则返回关键字,否则返回 -1 。...void put(int key, int value) 如果关键字 key 已经存在,则变更其数据 value ;如果不存在,则向缓存插入该组 key-value 。...如果插入操作导致关键字数量超过 capacity ,则应该逐出最久使用关键字。 函数 get 和 put 必须以 O(1) 平均时间复杂度运行。...删除哈希节点需要知道 key,所以在链表节点中需要存储 key 和 value,当删除链表节点时拿到 key,再根据 key 哈希删除节点。 3.虚拟头节点和虚拟尾节点有什么用?...第 2 步:插入节点 key1。 第 3 步:插入节点 key2。 此时 key2 插入链表头部。 第 4 步:插入节点 key3。 此时 key3 插入链表头部。

74310

setlistmap部分源码解析

|--LinkedHashSet 底层数据结构由哈希和链表组成。哈希保证元素唯一性,链表保证元素有序。...{         ////测试根据value从小到大排序(默认为小) > list = new ArrayList(map.entrySet());         //自定义排序,默认为小就不必创建下面的语句...扩容步骤大致为: 1:创建新数组保存扩容前数组 2:计算出扩容后容量,临界容量 3:根据新容量创建一个新数组,并将引用赋值类变量table上 4:将旧数组元素复制新数组...:10 扩容机制:默认扩容你为原来容量2倍,具体扩容机制与ArrayList类似,会进行并发控制 5:HashMapkeynull存储位置(JDK8) Jdk8null存放位置

76010
领券