Excel VBA开发基本语句说明

前言

VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,它广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word、Access和PowerPoint等。在这些应用程序中,VBA可用于自动化任务、定制功能、数据处理和报告生成等。

虽然VBA已经存在很长时间,并且被广泛应用于许多组织和行业,但是随着时间的推移,它的使用正在逐渐减少。原因可以归结为以下几点:

  1. 跨平台兼容性:VBA是一种Windows环境下的宏语言,对于其他操作系统,如Mac和Linux,并不完全适用。因此,随着人们对跨平台兼容性的需求增加,其他更通用的编程语言(如Python和JavaScript)在处理类似任务时更受欢迎。
  2. 功能限制:VBA虽然功能强大,但与其他现代编程语言相比,它的功能和性能受到一定的限制。人们对更高效、更灵活的解决方案的需求也推动了其他语言的发展和应用。
  3. Office 365的出现:随着Office 365的发展,微软逐渐将注意力转向了更先进的工具和技术。例如,Power Automate
    和Power Apps等工具提供了更强大和易于使用的方式来自动化任务和定制功能。

尽管如此,VBA仍然在某些特定的行业和组织中得到广泛使用,特别是在那些长期依赖VBA开发的企业和机构

最近在做一些excel vba开发 总结了开发过程操作单元格语法,希望能帮助需要的人

实战总结

访问工作簿:

Dim wb As Workbook
Set wb = ThisWorkbook

访问工作表:

Dim ws As Worksheet
Set ws = wb.Worksheets("Sheet1")

引用单个单元格:

Dim cell As Range
Set cell = ws.Range("A1")

引用单元格范围:

Dim range As Range
Set range = ws.Range("A1:B5")

引用整行:

Dim row As Range
Set row = ws.Rows(1)

引用整列:

Dim column As Range
Set column = ws.Columns(1)

确定工作表中最后一个有数据的单元格所在行数

ws.Cells(ws.Rows.count, 1).End(xlUp).Row
  • ws.Rows.Count:表示工作表的总行数。
  • 1:表示要访问的列号,这里是列号为1的列(即第一列)。
  • End(xlUp):这是一个定位方法,用于从指定单元格向上搜索,直到找到第一个非空单元格为止。在这个例子中,它会从工作表最后一行向上搜索,找到第一个非空单元格。
  • Row:表示找到的最后一个非空单元格所在的行号。

确定工作表中指定行中最后一个有数据的单元格所在的列数

scheduleSheetLastColumn = ws.Cells(8, ws.Columns.count).End(xlToLeft).Column
  • 8:表示要访问的行号,这里是第8行。
  • ws.Columns.Count:表示工作表的总列数。
  • End(xlToLeft):这是一个定位方法,用于从指定单元格向左搜索,直到找到第一个非空单元格为止。在这个例子中,它会从指定行的最后一列向左搜索,找到第一个非空单元格。
  • Column:表示找到的最后一个非空单元格所在的列号。

第一列插入一列,并将现有的数据向右移动

ws.Columns(1).Insert Shift:=xlToRight

引用单元格 K8

Set tableStartCell = ws.Range("K8")

引用范围对象(K8~K18)

ws.Range(tableStartCell, tableStartCell.Offset(0, 10))

取消合并单元格

tableStartCell.UnMerge

设置范围(K8~K18)背景色

将其内部颜色设置为 RGB(255, 255, 0),即黄色

ws.Range(tableStartCell, tableStartCell.Offset(0, 10)).Interior.Color = RGB(255, 255, 0)

获取单元格地址代码

ws.Cells(8, 10).Address

合并单元格(K8~K10)

ws.Range(tableStartCell, tableStartCell.Offset(0, 2)).Merge

● 单元格范围公式复制

获取第 10 行第 11 列和第 10 行第 12 列的单元格的内容

Dim rangeToCopy1 As Range
Set rangeToCopy1 = ws.Range(ws.Cells(10, 11), ws.Cells(10,  12))

获取第 20 行第 11 列和第 20 行第 12 列的单元格的内容

Dim destinationRange1 As Range
Set destinationRange1 = ws.Range(ws.Cells(20, 11), ws.Cells(20, 12))

将第 10 行第 11 列和第 10 行第 12 列的单元格的内容复制到第 20 行第 11 列和第 20 行第 12 列的单元格中。

rangeToCopy1.Copy Destination:=destinationRange1

设置单元格文字样式

获取A1 到 H1 范围内的单元格

Set rng = ws.Range("A1:H1")With rng.Font.Color = RGB(0, 0, 0).HorizontalAlignment = xlLeft.Font.Size = 9.Font.Bold = False
End With
  • .Font.Color = RGB(0, 0, 0) 设置字体颜色为黑色。
  • .HorizontalAlignment = xlLeft 设置水平对齐方式为左对齐。
  • .Font.Size = 9 设置字体大小为9号。
  • .Font.Bold = False 取消粗体设置。

大鹏一日同风起 扶摇直上九万里 加油!!!!

End

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

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

相关文章

AAOS CarPowerManager

文章目录 提供什么服务? 如何提供的?基础的carpowerpolicyd的服务 提供什么服务? 如何提供的? 作用是什么? 电源管理, 车上面的状态可能有很多中,比如在车库,停车,短时…

douyin ios六神

抖音 ios六神算法, x-gorgon x-khronos x-ladon x-argus x-helios x-medusaios版本的六神算法,以及ios越狱过检测抓包logs插件 {x-helios: xnamv9MBKpjSfng4vnl1kCue1d0RPzLcHcU06Ww7CdrYV6d2, x-gorgon: 840460970000aa8ffefc2ed82fff5b7e9eaefd00598…

贴片电容规格怎么看?

贴片电容规格怎么看? 原理图中的电容参数给的数值,目的是便于分析电路。而采购的电容,所给的参数是一串字母和数字组成的字符串,来料检查人员必须根据料单,判断来料是否合格。有时,在一些面试场合&#xf…

vue3的自定义指令

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (CustomDirectives)。 1.自定义指令的目的和简单介绍 自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。 一个自定义指令由一个包含类似组件生命周期钩子的对象…

字符串混淆

IDA打开so,在Export里面搜索.datadiv 跟进可以找到混淆的字符串 异或加密的字符串可以直接手动异或恢复 Export里面搜索JNI_OnLoad 如果没有将变量类型改为JavaVM *vm, void *reserved 在这里Load jni.h 一些OLLVM加密的字符串可以直接用Frida来hook function h…

蓝桥杯每日一题2023.11.3

题目描述 承压计算 - 蓝桥云课 (lanqiao.cn) 题目分析 将重量存入a中,每一层从上到下进行计算,用d进行计算列的重量,当前d的重量应为正上数组和右上数组的个半和并加上自身的重量 计算到30层记录最大最小值,进行比例运算即可 …

centos 搭建内网ntp时间服务器

在 CentOS 搭建内网 NTP 时间服务器,你可以按照以下步骤操作: 安装 NTP 服务: 打开终端并以 root 用户身份登录。使用以下命令安装 NTP 服务: sudo yum install ntp配置 NTP 服务器: 打开 NTP 配置文件 /etc/ntp.conf&…

Verilog刷题[hdlbits] :Alwaysblock1

题目:Alwaysblock1 Since digital circuits are composed of logic gates connected with wires, any circuit can be expressed as some combination of modules and assign statements. However, sometimes this is not the most convenient way to describe the…

后端配置跨域怎么配置

在后端配置跨域,需要在服务器的代码中添加相应的设置。以下是几种常见的后端语言的跨域配置方式: Node.js 在使用 Node.js 的 Express 框架时,可以使用 cors 中间件来处理跨域问题。安装 cors 中间件后,在代码中添加如下设置&am…

shopee虾皮跨境电商网站商品数据支持网站后缀(.com.my;.vn;.ph)

作为一名技术爱好者,我们总会遇到各种各样的技术问题,需要寻找合适的技术解决方案。而在互联网时代,我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而,在不同的技术分享中,我们常常会遇到质量参差不齐的文…

2024泰安高企认定从何认定?

企业申请认定时须注册成立一年以上; 注意事项: “须注册成立一年以上”是指企业注册成立365个日历天数以上。 相关证明材料: 证明事项告知承诺书或营业执照。 02企业通过自主研发、受让、受赠、并购等方式,获得对其主要产品&…

日常踩坑-[sass]Error: Expected newline

在学习sass的时候,运行时发现报错 经过网上冲浪知道,原来在声明语言的时候 lang 不能声明为 sass ,而是 scss ,这就有点坑了 原因: scss是sass3引入进来的,scss语法有"{}“,”;"而sass没有,所以…

黑芝麻智能与香港科技园签订合作备忘录,迈向全球化发展新阶段

11月6日,黑芝麻智能与香港科技园公司举行合作签约仪式,双方将合力推动黑芝麻智能香港科技创新研发中心在科技园落地,并促进园区打造车规级高性能智能汽车计算芯片平台。黑芝麻智能首席市场营销官杨宇欣、香港科技园公司首席企业发展总监姚庆良…

Unity之NetCode多人网络游戏联机对战教程(6)--NetworkTransform组件

文章目录 前言NetworkTransform是什么玩家移动脚本NetworkTransform字段讲解Synchronizing ("Syncing")ThresholdsLocal spaceInterpolationSlerp PositionUse Quaternion SynchronizationUse Quaternion CompressionUse Half Float PrecisionAuthority modesServer …

Linux多线程编程- pthread_detach()

基本概念 pthread_detach 函数是 POSIX 线程(pthreads)库的一部分,它用于将指定的线程置于分离状态(detached state)。分离状态的线程在终止时会自动释放其资源回操作系统,包括线程的堆栈和线程描述符。这…

Excel中截取特殊字符之前、之间、之后的数据

1、第一个数据,“*” 之前的数据, 公式 :LEFT(J2,FIND("*",J2)-1) 2、第二个数据,两个 “*” 之中的数据, 公式 :MID(J2,FIND("*",J2)1,FIND("*",J2,FIND("*",…

ZZULIOJ 1108: 打印数字图形(函数专题) (C/C++)

1108: 打印数字图形(函数专题) 题目描述 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。要求在程序中定义并调用如下函数:PrintSpace(m)用来输出m个空格;PrintDigit(m)来输出一行中的数字串"12…m…21"&#xff…

IP协议汇总

IP协议 1.基本概念 IP协议全称为“网际互连协议(Internet Protocol)” ,IP协议是TCP/IP体系中的网络层协议。 总的来说,IP协议的最重要功能是提供了一种标准化的方式来路由和传输数据包,以实现全球互联网上的通信。 &#xff…

CJSON解析json字符串示例

cJSON 作为 Json 格式的解析库,其主要功能就是构建和解析 Json 格式 CJSON解析json字符串 {"action":"started","code":"0","data":"","desc":"success","sid":"a8"} …

图的结构模板及遍历

图:由点的集合和边的集合组成。 常用的表示图的方法有两种: 1、邻接表法 将一个点的邻居都列出来。有向图只列出从这个点出发向外发散的点 2、邻接矩阵法 将点集列出一列行,列出一列列,在矩阵中填两点之间的权值(距…