vba之与excel司龄计算

Sub 插入新列并计算司龄()Dim ws As WorksheetDim lastRow As LongDim i As LongDim entryDate As DateDim yearsOfService As Double' 指定要操作的工作表Set ws = ThisWorkbook.Sheets("测试") '!!!!!!!!必须为此表名If IsError(Application.Match("司龄", ws.Rows(1), 0)) Then' 在最后一列右侧插入两个新列ws.Cells(1, ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column + 1).Value = "司龄"ws.Cells(1, ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column + 1).Value = "司龄分段"End IfDim sllb As VariantDim slfd As VariantDim sl_start As Variantsllb = Application.Match("司龄", ws.Rows(1), 0)slfd = Application.Match("司龄分段", ws.Rows(1), 0)sl_start = Application.Match("进入集团日期", ws.Rows(1), 0) ' 进入集团日期所在的列,查找ws.Columns(sllb).SelectWith Selection.HorizontalAlignment = Excel.xlCenter.Font.Name = "宋体"End Withws.Columns(slfd).SelectWith Selection.VerticalAlignment = Excel.xlCenter.Font.Name = "宋体"End With' 获取最后一行lastRow = ws.Cells(ws.Rows.Count, sl_start).End(xlUp).Row'ws.Cells(3, 6) = lastRow' 计算司龄并写入新列For i = 2 To lastRowentryDate = ws.Cells(i, sl_start).Value  ' 进入集团日期所在的列,这里假设是第1列yearsOfService = Round(((Date - entryDate) / 365.25), 1)  ' 计算司龄,保留1位小数If yearsOfService - Int(yearsOfService) < 0.5 ThenyearsOfService = Int(yearsOfService) + 0.5 ' 小数位小于0.5则按0.5年ElseyearsOfService = Int(yearsOfService) + 1  ' 小数位大于0.5则按1年End If'ws.Cells(2, 5) = sllb'ws.Cells(i, sllb).Font.Name = "宋体"ws.Cells(i, sllb).Value = yearsOfService   ' 写入司龄列' 计算司龄分段并写入新列'ws.Cells(i, slfd).Font.Name = "宋体"If yearsOfService < 5 Thenws.Cells(i, slfd).Value = "<5年"ElseIf yearsOfService < 10 Thenws.Cells(i, slfd).Value = "5~10年"ElseIf yearsOfService < 15 Thenws.Cells(i, slfd).Value = "10~15年"ElseIf yearsOfService < 20 Thenws.Cells(i, slfd).Value = "15~20年"Elsews.Cells(i, slfd).Value = ">20年"End IfNext iEnd Sub

这段VBA代码实现了在指定工作表中插入两列,并计算员工的司龄并写入新插入的列中。具体实现步骤如下:

  1. 首先指定要操作的工作表为"测试"。
  2. 判断是否已存在"司龄"和"司龄分段"列,若不存在,则在最后一列的右侧插入这两个新列。
  3. 获取进入集团日期所在的列,并将司龄和司龄分段列的文字格式设置为居中和宋体。
  4. 获取最后一行的行号。
  5. 对每一行进行循环,获取进入集团日期的数值,并根据当前日期计算司龄,保留小数点后一位。
  6. 根据司龄的值判断司龄分段,并将计算结果写入司龄和司龄分段列中。

总体来说,这段代码实现了在指定工作表中添加司龄和司龄分段两列,并根据员工的进入集团日期计算其司龄并分类。

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

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

相关文章

BIND-DNS配置介绍

一、主要配置文件 /etc/named.conf options { //Option 段全部配置 listen-on port 53 { 127.0.0.1; };//表示BIND将在53端口监听&#xff0c;若需要对所有IP进行监听&#xff0c;则修改为// listen-on port 53 { any; }; directory "/var/named"…

yongyou builder 业务流设计相关bug

今天发现了yongyou builder的一个问题&#xff0c;我有一个实体&#xff08;主机预测&#xff09;&#xff0c;另外一个实体&#xff08;业务员预测&#xff09;&#xff0c;要将多张业务员预测的单据合并从一个主机单据&#xff0c;并且如果多张单据下面的表体行中存在相同的销…

(六)数码管动态刷新

文章目录 如何实现利用人眼的余晖效应&#xff08;100hz无闪烁&#xff09;1ms刷一个数码管 8个看起来就是一块亮的 结合前面内容进行操作前面内容传送门&#xff1a;如何段选原理图代码写法这里借助isp复制共阴数码管码值 如何位选原理图代码写法 如何消隐在每次 段选 赋值之前…

[数理统计]中国科技技术大学缪柏其

中国科学技术大学 数理统计 缪柏其 笔记正在不断完善中,博主还有其他上万字精品笔记 ​编辑P10 前言1-统计思想 41:33 介绍了数理统计的重要性和应用领域。主讲人强调了统计学与数学的区别&#xff0c;指出统计学是以数据为研究对象的一门科学&#xff0c;强调了统计思想的重…

面试算法79:所有子集

题目 输入一个不含重复数字的数据集合&#xff0c;请找出它的所有子集。例如&#xff0c;数据集合[1&#xff0c;2]有4个子集&#xff0c;分别是[]、[1]、[2]和[1&#xff0c;2]。 分析 如果集合中包含n个元素&#xff0c;那么生成子集可以分为n步&#xff0c;每一步从集合中…

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

linux更改登录shell

从bash修改成python 在/etc/passwd下可以更改用户登录bash 例 root:x:0:0:root:/root:/bin/bash //更改bin/bash为/bin/python&#xff0c;就可以用root登录python页面了从python修改成bash 方法一 重启页面按e进入内核编辑模式linux16这行后添加&#xff1a;init/bin/…

Linux操作系统基础(3):Linux终端的使用

1. Linux终端的介绍 Linux 终端是指在 Linux 操作系统下用于与用户进行交互的命令行界面&#xff08;基于文本的交互&#xff09;。它是用户与操作系统进行直接交互的主要方式&#xff0c;可以通过输入命令来执行各种操作&#xff0c;如文件管理、进程控制、系统配置等。 Lin…

【WPF.NET开发】WPF中的输入

本文内容 输入 API事件路由处理输入事件文本输入触摸和操作侧重点鼠标位置鼠标捕获命令输入系统和基元素 Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API&#xff0c;用于从各种设备&#xff08;包括鼠标、键盘、触摸和触笔&#xff09;获取输入。 本…

CTF流量分析经典例题详解

目录 入门题型 题目&#xff1a;Cephalopod(图片提取) 题目&#xff1a;特殊后门(icmp协议信息传输) 题目&#xff1a;手机热点(蓝牙传输协议obex,数据提取) 题目&#xff1a;想蹭网先解开密码(无线密码破解) 进阶题型 题目&#xff1a;抓到一只苍蝇(数据包筛选,数据提…

React16源码: React.Children源码实现

React.Children 1 ) 概述 这个API用的也比较的少&#xff0c;因为大部分情况下&#xff0c;我们不会单独去操作children我们在一个组件内部拿到 props 的时候&#xff0c;我们有props.children这么一个属性大部分情况下&#xff0c;直接把 props.children 把它渲染到我们的jsx…

蓝牙物联网智能车用语音控制系统模块设计

随着信息产业的快速发展&#xff0c;简单的控制操作机器已经不能满足人类的欲望&#xff0c;利用语音识别技术让机器理解人类的语言&#xff0c;以及实现人机交互成为新的研究内容。对用户来说&#xff0c;这种人机交互的方式当是最自然的一种方式。同时&#xff0c;使人们在车…

塔夫特原则

塔夫特原则&#xff08;Tuftes Principles&#xff09;是由数据可视化专家爱德华塔夫特&#xff08;Edward Tufte&#xff09;提出的一组指导性原则&#xff0c;旨在帮助人们创建清晰、有效和有力的数据可视化图表。这些原则强调了以数据为核心&#xff0c;通过简洁、准确和易于…

【Java开发岗面试】八股文—Java虚拟机(JVM)

声明&#xff1a; 背景&#xff1a;本人为24届双非硕校招生&#xff0c;已经完整经历了一次秋招&#xff0c;拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验&#xff08;主要是校招&#xff09;&#xff0c;包括我自己总结的八股文、算法、项目介绍、HR面和面试…

小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第23讲。 小球自由下落&…

python flask-wft

这个放在前面你个表单的博客内容 精髓放这 from flask import Flask from flask import render_template from flask_wtf import FlaskForm from wtforms.fields import (StringField, PasswordField, DateField, BooleanField,SelectField, SelectMultipleField, TextAreaFi…

第一个Qt程序----Hello word!

从今天起就开始我们的第一个Qt小程序&#xff0c;点击New Project后点击右侧的Application后点击Qt Widgets Application。Qt Widgets 模块提供了一组UI元素用于创建经典的桌面风格的用户界面&#xff0c;Widgets是小部件的意思&#xff0c;也可以称为控件&#xff0c;因此Qt …

粒子群优化pso结合bp神经网络优化对csv文件预测matlab(3)

1.csv数据为密西西比数据集&#xff0c;获取数据集可以管我要&#xff0c;数据集内容形式如下图&#xff1a; 2.代码 这里参考的是b站的一位博主。 数据集导入教程在我的另一篇文章bp写过&#xff0c;需要的话可以去看一下 psobp.m close all clc%读取数据 inputX; outputY;…

在 Android 上使用 MediaExtractor 和 MediaMuxer 提取视频\提取音频\转封装\添加音频等操作

文章目录 前言一、MediaExtractor 基本介绍与使用二、MediaMuxer 基本介绍与使用示例提取视频提取音频混合视频与音频文件 总结参考 前言 之前我们介绍了 FFmpeg 并利用它解封装、编解码的能力完成了一款简易的视频播放器。FFmpeg 是由 C 实现的&#xff0c;集成至 Android 等…