VBA快速合并数据

news2024/11/18 3:38:46

实例需求:原始数据保存在工作表的A列至C列,现需要根据材料编号合并交付日期和交付数量,并且交付日期的日期格式采用两位数字年份简写格式,合并后的数据保存在E列和F列,如下图所示。
在这里插入图片描述

示例代码如下。

Sub demo()
    Dim objDict, arrData, arrItms, i
    Set objDict = CreateObject("scripting.dictionary")
    With Sheets(sht)
        arrData = .[a1].CurrentRegion.Value
        For i = 2 To UBound(arrData)
            arrData(i, 2) = Format(arrData(i, 2), "yy/m/d")
            If objDict.exists(arrData(i, 1)) Then
                arrItms = Array(objDict(arrData(i, 1)), arrData(i, 2), arrData(i, 3))
            Else
                arrItms = Array(arrData(i, 2), arrData(i, 3))
            End If
            objDict(arrData(i, 1)) = Join(arrItms, ",")
        Next
        .Range("E:F").Clear
        .Range("E1:F1") = Array("物料编号", "交期")
        With objDict
            .[e2].Resize(.Count, 1) = Application.Transpose(.keys)
            .[f2].Resize(.Count, 1) = Application.Transpose(.items)
        End With
    End With
    Set objDict = Nothing
End Sub

【代码解析】
第3行代码创建字典对象。
第5行代码将数据读取到数组中。
第6~14行代码循环处理每行数据。
第7行代码使用Format函数格式化B列的日期。
第8行代码判断字典中是否已经存在相同的材料编号。
如果存在,第9行代码将把已有数据、交付日期和交付数量保存在数组中。
如果不存在,第11行代码将只把交付日期和交付数量保存在数组中。
第13行代码使用Join函数更新字典的值,实现合并交付日期和交付数量。
第15行代码清空E列和F列。
第16行代码设置E列和F列的标题行。
第18行代码将字典的键(即材料编号)写入E列。
第19行代码将字典的值(即合并后的交期)写入F列。
第22行代码释放对象变量占用的系统资源。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/707053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MSP430F249 Proteus仿真数码管秒表-0050

MSP430F249 Proteus仿真数码管秒表-0050 Proteus仿真小实验: MSP430F249 Proteus仿真数码管秒表-0050 功能: 硬件组成:MSP430F249单片机 2位数码管2个按键(清零 开始/暂停) 1.点击开始键后数码管开始秒表计时0~9…

Spring Cloud - HTTP 客户端 Feign 、自定义配置、优化、最佳实践

目录 一、Feign 是什么,有什么用呢? 二、Feign 客户端的使用 2.1、远程调用 1.引入依赖 2.在order-service(发起远程调用的微服务)的启动类添加注解开启Feign的功能 3.编写 Feign 客户端 4.通过 Feign 客户端发起远程调用 …

附件1.服务器操作系统安全加固要求及配置建议【上】

文章目录 加固文件说明【重启auditd服务后/etc/audit/audit.rules文件内容消失怎么处理】【用户的的本地登录和远程登录默认都会被审计; 2,可配置对chown、chmod、chcon等命令的执行进行审计;【ssh会话默认会被审计;】【可添加审计…

kafka入门用这一篇就够了!

目录 1,kafka简单介绍 2,kafka使用场景 3,kafka基本概念 kafka集群 数据冗余 分区的写入 读取分区数据 顺序消费 提交策略 零拷贝技术(netty) 1,kafka简单介绍 kafka是一款分布式、支持分区的、多…

3.springboot开发篇

SpringBoot开发实用篇 ​ KF-1.热部署 热部署是不用重启项目,项目自动更新 非springboot项目热部署实现原理 ​ 开发非springboot项目时,我们要制作一个web工程并通过tomcat启动,通常需要先安装tomcat服务器到磁盘中,开发的程序…

【openGauss数据库】--运维指南02-逻辑备份与恢复

【openGauss数据库】--运维指南02-逻辑备份与恢复 🔻 一、 openGauss数据库备份与恢复概述🔰 1.1 备份与恢复类型🔰 1.2 类型对比 🔻 二、 配置文件的备份与恢复🔻 三、逻辑备份----gs_dump & gs_dumpall&#x1…

Uipath Excel 实战01-自动生成流水号最佳方法

Uipath RPA 自动生成流水号最佳方法,提高RPA 性能,速度毫秒级。通过本案例将学会Excel 写入单元格、Excel 自动填充公式、Excel 自动调整列范围、保存Excel 文件以及使用Excel 函数。 公式参考: Excel公式参考: Excel CONCATENAT…

动态规划——地下城游戏

题目链接 leetcode在线oj题——地下城游戏 题目描述 恶魔们抓住了公主并将她关在了地下城 dungeon 的 右下角 。地下城是由 m x n 个房间组成的二维网格。我们英勇的骑士最初被安置在 左上角 的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健…

chatgpt赋能python:线上免费Python教程推荐

线上免费Python教程推荐 Python作为一门简单易学的编程语言,在各个行业和领域都越来越受欢迎。很多人想学Python,但是可能因为费用等问题而卡住了。今天,我们来介绍一些免费的Python教程,帮助那些想要学习Python但没有预算的人。…

上手vue2的学习笔记2之安装vue的踩坑经历

上一篇笔记 上手vue2的学习笔记1之了解前端三剑客,简单介绍了学习vue框架之前应该具备的基础知识和四个我认为非常有用的学习链接,建议大家动手实践一下,更多深刻的理解前端三剑客之间的关系。 这一篇笔记主要介绍我在安装vue过程中遇到的坑…

华为FIT痩AP旁挂式隧道组网实验(一)

拓扑图 实验设备型号ACAC6005S1S5700S2S3700APAP2050DNAP4AP2050DNAR1AR200 没有配置好之前,是没有这个AP范围圈的 配置流程 接入交换机创建VLAN,配置对应端口的链路类型,放行vlan,开启端口隔离 # 与AP连接的接口(0/0/2) [S2]vlan batch 100 101 [S2]int e0/0/2 [S2-Ethern…

Android中关于SharedPreference参数的问题

文章目录 一、前言二、问题背景三、问题定位四、问题解决 一、前言 在上周开发时遇到一个问题,记录一下: 首先描述一下应用场景: 使用sharedPreference进行存储,命名为a.xml,这里简称为a文件有两个服务,一…

海思nnie 部署环境 搭建流程

文章目录 在windows上安装 Ruyi studio 软件MinG-64 安装运行软件在windows上安装 Ruyi studio 软件 Hi3559A的资料包 链接:https://pan.baidu.com/s/1rQcXvLW6ruSxIs4C9cMSCg 提取码:zsq5 从百度网盘下载软件 有很多个版本, 这里我选择的是SVP_PC.part2的版本 解压后得到:…

[爬虫]解决机票网站文本混淆问题-实战讲解

前言 最近有遇到很多小伙伴私信向我求助,遇到的问题基本上都是关于文本混淆或者是字体反爬的问题。今天给大家带来其中一个小伙伴的实际案例给大家讲讲解决方法 📝个人主页→数据挖掘博主ZTLJQ的主页 ​​ 个人推荐python学习系列: ☄️爬虫J…

YOLOv8训练和预测

目录 1.源码下载 2.环境配置 3. 数据集准备 4.训练配置 5.训练时遇到的错误 1.源码下载 GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite 2.环境配置 运行环境需要的包和YOLOv5/v7一样,这里不…

C语言:移位操作注意事项

移位操作&#xff1a;因为操作符的原因&#xff0c;注意加括号。还有没必要在移位的时候进行&#xff08;uint32_t&#xff09;转换。 测试程序如下&#xff1a; #include <string.h> #include <stdlib.h> #include <stdio.h> #include <stdint.h>i…

javaweb学习3

javascript入门 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script type"text/javascript"> // <!-- 可以在head和body嵌入script执行顺序从上而…

KEIL5-MDK配色方案

改字体 复制如下代码&#xff0c;替换原有文件内容 global.prop文件&#xff1a;D:Keil_v5\UV4\global.prop # properties for all file types indent.automatic1 virtual.space0 view.whitespace0 view.endofline0 code.page0 caretline.visible0 highlight.matchingbraces1 …

【深度学习】日常笔记8

过拟合是指模型在训练集上表现良好&#xff0c;但在验证集和测试集上表现不佳的现象。这是因为模型在训练过程中过度学习了训练数据中的噪声和细节&#xff0c;而忽略了更一般的特征和规律&#xff0c;导致模型泛化能力不足。 具体来说&#xff0c;当模型在训练集上进行训练时&…

some files could not be transferre Xcode14.3打包问题

方法1: Command空格 搜索 该项目的 source“ ( r e a d l i n k " (readlink " (readlink"{source}”)" 替换为source“ ( r e a d l i n k − f " (readlink -f " (readlink−f"{source}”)" 即可。 方法2:切换Xcode 版本&#xff0…