Excel VBA开发基本语句说明

news/2024/7/21 7:26:09 标签: 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.niftyadmin.cn/n/5148351.html

相关文章

汽车标定技术(一):XCP概述

目录 1.汽车标定概述 2.XCP协议由来及版本介绍 3.XCP技术通览 3.1 XCP上下机通信模型 3.2 XCP指令集 3.2.1 XCP帧结构定义 3.2.2 标准指令集 3.2.3 标定指令集 3.2.4 页切换指令集 3.2.5 数据采集指令集 3.2.6 刷写指令集 3.3 ECU描述文件(A2L)概述 3.3.1 标定上位…

单点登录。

Java单点登录(SSO)是一种在多个应用程序和系统之间共享用户身份验证信息的技术。它允许用户只需一次登录即可访问多个应用程序和系统,而不必每次都输入用户名和密码。Java SSO实现的基本思路是,当用户访问第一个应用程序时&#x…

XSpirit 2智能边缘计算机使用测评

博客主页:https://tomcat.blog.csdn.net 博主昵称:农民工老王 主要领域:Java、Linux、K8S 期待大家的关注💖点赞👍收藏⭐留言💬 目录 拆箱过程介绍视频使用感受 我之前就参加过 Spirit 1 第一代智能边缘计…

人工智能与卫星:颠覆性技术融合开启太空新时代

人工智能与卫星:颠覆性技术融合开启太空新时代 摘要:本文将探讨人工智能与卫星技术的融合,并介绍其应用、发展和挑战。通过深入了解这一领域的前沿动态,我们将展望一个由智能卫星驱动的未来太空时代。 一、引言 近年来&#xf…

蓝凌EIS智慧协同平台任意文件上传漏洞

蓝凌EIS智慧协同平台任意文件上传漏洞 免责声明漏洞描述漏洞影响漏洞危害网络测绘Fofa: icon_hash"953405444" 漏洞复现1.构造poc2. 发送数据包,获取文件路径3. 访问webshellwebshell地址: 免责声明 仅用于技术交流,目的是向相关安全人员展示…

Flink SQL 窗口聚合详解

1.滚动窗⼝(TUMBLE) **滚动窗⼝定义:**滚动窗⼝将每个元素指定给指定窗⼝⼤⼩的窗⼝,滚动窗⼝具有固定⼤⼩,且不重叠。 例如,指定⼀个⼤⼩为 5 分钟的滚动窗⼝,Flink 将每隔 5 分钟开启⼀个新…

Leetcode1128. 等价多米诺骨牌对的数量

Every day a Leetcode 题目来源&#xff1a;1128. 等价多米诺骨牌对的数量 解法1&#xff1a;暴力 代码&#xff1a; class Solution { public:int numEquivDominoPairs(vector<vector<int>> &dominoes){int n dominoes.size(), count 0;for (int i 0;…

【Java 进阶篇】Java ServletContext功能:获取文件服务器路径

Java ServletContext是Java EE中的一个核心接口&#xff0c;用于与Servlet容器进行通信&#xff0c;提供了许多有用的功能&#xff0c;包括获取文件服务器路径。在本文中&#xff0c;我们将详细介绍如何使用ServletContext来获取文件服务器路径&#xff0c;并提供示例代码以帮助…