VBA基础之对象

发布于:2025-06-23 ⋅ 阅读:(17) ⋅ 点赞:(0)

VBA变量数据类型

防止范围超出数据溢出或冗余
在这里插入图片描述

格式:dim 变量名 as 数据类型
     Dim n As Byte
     Dim n As interger
 简写: Dim n%
 #数据大超过就要更改数据类型
string 就是一段字符:所有一切(汉数字)
#申明和输入一定要一至(申明string后输入数字就会以文本形式存在,同理于excel)

在这里插入图片描述没有申明数据类型,可以节约内存空间,不会冗余,浪费计算资源
在这里插入图片描述
多个变量可以用隔开

对象

工作簿
工作表
单元格
在这里插入图片描述

工作簿

workbooks("工作簿1.xlsm") //代表工作簿

[B1] = Workbooks("工作簿1.xlsm").Name
//吧工作簿的名字给了b1单元格

在这里插入图片描述

活动工作簿

正在操作的工作簿就是活动工作簿(效果同上)

[c1] = ActiveWorkbook.Name

在这里插入图片描述

工作表

工作表的初识
Sheets (1)     //按工作表排序
#工作表中的第1个叫sheet1(进行操作)

在这里插入图片描述


Sheet1     //按系统工作表名
先去找在系统工作表(列表)中找到自己对应sheet的名字,再把对应的名字打出来(没有sheet4)

在这里插入图片描述

工作表的操作
Sheets("日日").Delete   //"日日"这个表就被删除了
活动工作表:
ActiveSheet  正在操作的工作表就是活动工作表
MsgBox ActiveSheet.Name
#吧正在操作的活动工作表弹出来(取决于你定位在哪一个工作表)

单元格

B1四中单元格表达方式:
range("单元格地址")
range("B1")
例子:range("B1")=2   //把2的值付给B1

Cells(行,列)
例子:Cells(1,2)#表示B1单元格
Cells(1,2)=2

[B1]   //单元格简写
#= 表示赋值

Activecell 活动单元格(正在操作的单元格)
	ActiveCell.Interior.Color = 3   //表示黑市

在这里插入图片描述
range还可以表示一整行,一整列,一个区域

range("B1:C2")=付值  、、
range("B:B").select  //选中第B列
range("10:10").select  //选中第10行

range的方法(做法)

格式:
对象.属性
父对象.子对象.属性
Range("a1").Value    \\a1单元格的值
MsgBox Range("B6").Value  //我门给表个填了什么内容workbooks("工作簿1.xlsm").Path
②MsgBox Workbooks("工作簿1.xlsm").Path //工作簿的路劲用消息框弹出来
也可凡在单元格中:
[B1] = Workbooks("工作簿1.xlsm").Path
MsgBox Sheets.Count
Sheets.Count//sheets表示多个工作表的集合,count计数

[B1] = Sheets(1).Name
[B2] = Sheets("haha").Name
#两个相等同
单元格的颜色属性:
Range("d4").Interior.ColorIndex
magbox Range("d4").Interior.ColorIndex  //得出颜色的对应数字
改变颜色的值:
Range("d4").Interior.ColorIndex=1
修改工作表名:
Sheets("haha").Name = "jjj"//把jjj字符串赋值给了sheet的 名称(name)属性

活动单元格的地址

Activecell.Address 
通过消息框弹出来:
Activecell.Address 
MsgBox ActiveCell.Address  //鼠标定位的单元格
父对象.子对象.属性
thisworkbook.sheet(3).range("a1").interior.colorindex=6   //指定位置赋值

方法:

工作簿

# //新增工作簿(批量生成):
Workbooks.Add  
# 打开工作簿
  Workbooks.Open ("C:\Users\Administrator\Desktop\VBA\VBA考勤工作簿2.xlsx")
另一种打开:通过thisworkbook的路劲打开
  Workbooks.Open (ThisWorkbook.Path & "\" & "VBA考勤工作簿2.xlsx")
  //ThisWorkbook.Path表示单签路径下相同文件夹中的文件

也可做二段写:
a = ThisWorkbook.Path
Workbooks.Open (a & "\" & "VBA考勤工作簿2.xlsx")

在这里插入图片描述

#关闭活动工作簿:
ActiveWorkbook.Close

Workbooks.Add
ActiveWorkbook.Close//泛指打开关闭最近工作簿(调试看)
#新郑工作表:
Worksheets.Add
一般在新增工作表中命名:
Worksheets.Add.name="卡通袜"
#把新增工作表同时复制现在表内容粘贴在这张表
ThisWorkbook.Sheets("无").Copy ActiveWorkbook.Sheets(1)
//把这张无复制一份在当前的工作表上

单元格

# 单元格变成活动单元格
Range("b1").Activate

#把a1单元格复制到b1单元格
Range("a2").Copy [b1](全复制)

#(仅复制和粘贴值):
(两行)
Range("a1").Copy
Range("C8").PasteSpecial xlPasteValues
(一行用:隔开)
Range("a1").Copy:Range("C8").PasteSpecial xlPasteValues

#删除:删除下面数据向上顶替上去
Range("a1").Delete
#清除:单元格中的(所有)内容
Range("a1").Clear
#清除:单元格中的值(保留格式字体颜色):
Range("a1").ClearContents(颜色还有)
//可以通过录制代码宏的形式去吸收(录制宏获取代码动作)
# 剪切
range("a1").cut[a13]

网站公告

今日签到

点亮在社区的每一天
去签到