VBA常用代码

VBA常用代码VBA 常用代码 vba 代码

大家好,欢迎来到IT知识分享网。

操作工作簿/工作表常用的30段VBA基础代码

原创 兔兔excel 兔兔vba 2024-04-14 00:02 广东

1、打开工作簿
Workbooks.Open “C:\文件路径\文件名.xlsx”
2. 关闭工作簿
ActiveWorkbook.Close SaveChanges:=False
3. 保存工作簿
ActiveWorkbook.Save
4. 另存为工作簿
ActiveWorkbook.SaveAs “C:\文件路径\新文件名.xlsx”
5. 新建工作簿
Workbooks.Add
6. 新建工作表
Sheets.Add After:=ActiveSheet
7. 删除工作表
Application.DisplayAlerts = False
Sheets(“工作表名称”).Delete
Application.DisplayAlerts = True
8. 重命名工作表
Sheets(“旧工作表名称”).Name = “新工作表名称”
















9. 复制工作表
Sheets(“源工作表名称”).Copy After:=Sheets(“目标工作表名称”)
10. 移动工作表
Sheets(“工作表名称”).Move Before:=Sheets(“目标工作表名称”)
11. 激活工作表
Sheets(“工作表名称”).Activate
12. 选择工作表
Sheets(“工作表名称”).Select
13. 获取当前工作表名称
Dim sheetName As String
sheetName = ActiveSheet.Name
14. 获取工作簿中所有工作表的数量
Dim sheetCount As Integer
sheetCount = ThisWorkbook.Sheets.Count
15. 获取工作簿中所有工作表的名称
Dim sheetNames() As String
Dim i As Integer
ReDim sheetNames(1 To ThisWorkbook.Sheets.Count)
For i = 1 To ThisWorkbook.Sheets.Count
sheetNames(i) = ThisWorkbook.Sheets(i).Name
Next i
16. 获取指定单元格的值
Dim cellValue As Variant
cellValue = Range(“A1”).Value
17. 设置指定单元格的值
Range(“A1”).Value = “Hello, World!”
18. 获取指定单元格的行号和列号
Dim rowNum As Long, colNum As Long
rowNum = Range(“A1”).Row
colNum = Range(“A1”).Column
19. 获取指定单元格的地址
Dim cellAddress As String
cellAddress = Range(“A1”).Address
20. 获取指定单元格的公式
Dim cellFormula As String
cellFormula = Range(“A1”).Formula
21. 设置指定单元格的公式
Range(“A1”).Formula = “=SUM(B1:B10)”
22. 清除指定单元格的内容
Range(“A1”).ClearContents
23. 清除指定单元格的格式和内容
Range(“A1”).Clear
24. 复制指定单元格的内容到剪贴板
Range(“A1”).Copy
25. 从剪贴板粘贴内容到指定单元格
Range(“A1”).PasteSpecial Paste:=xlPasteAll
26. 设置指定单元格的背景色
Range(“A1”).Interior.Color = RGB(255, 0, 0)
27. 设置指定单元格的字体颜色
Range(“A1”).Font.Color = RGB(255, 255, 255)
28. 设置指定单元格的字体大小
Range(“A1”).Font.Size = 14
29. 设置指定单元格的字体加粗
Range(“A1”).Font.Bold = True
30. 设置指定单元格的字体斜体





















































Range(“A1”).Font.Italic = True

顶级对象application非常基础的23段vba代码

Application.Workbooks(“工作簿名称”).Sheets(“工作表名称”).Activate

16. 设置单元格格式

Application.Range(“A1”).NumberFormat = “0.00”

18. 数据排序
Application.Range(“A1:B10”).Sort Key1:=Range(“A1”), Order1:=xlAscending, Header:=xlYes
19. 筛选数据
Application.Range(“A1:B10”).AutoFilter


20. 查找和替换
Application.WorksheetFunction.Lookup _
LookIn:=xlValues, _
LookAt:=xlWhole, _
Key1:=1, _
Value:=2, _
Array:=Range(“A1:B10”)
21. 设置字体
Application.Range(“A1”).Font.Name = “Arial”
22. 设置单元格边框
Application.Range(“A1”).Borders.Weight = xlThin
23. 设置背景色
Application.Range(“A1”).Interior.Color = RGB(255, 255,0)











一、数据处理

1、删除重复行

Sub DeleteDuplicates()

Range(“A1:B100”).RemoveDuplicates Columns:=Array(1, 2), Header:=xlNo

End Sub

2、将数字格式化为货币

Sub FormatCurrency()

Range(“A1:A10”).NumberFormat = “$#,0.00”

End Sub

3、转换列中的文本为大写

Sub ConvertToUpperCase()

Range(“A1:A10”).Value = Application.WorksheetFunction.Upper(Range(“A1:A10”).Value)

End Sub

7、查找并替换文本
Sub FindAndReplace()
Cells.Replace What:=”OldText”, Replacement:=”NewText”, LookAt:=xlPart, MatchCase:=False
End Sub


8、查找特定值并高亮显示
Sub HighlightValue()
Dim cell As Range
For Each cell In Range(“A1:A10”)
If cell.Value = “Target” Then
cell.Interior.Color = RGB(255, 255, 0) ‘ 黄色
End If
Next cell
End Sub







16、创建超链接

Sub CreateHyperlink()

ActiveSheet.Hyperlinks.Add Anchor:=Cells(1, 1), Address:=”https://www.example.com”, TextToDisplay:=”Visit Example”

End Sub

vba核心对象range的40段基础代码

1. 选择特定单元格 

Range(“A1”).Select

2. 读取单元格值

MsgBox Range(“A1”).Value

3. 设置单元格值

Range(“A1”).Value = 100

4. 合并单元格

Range(“A1:B2”).Merge

5. 取消合并单元格

Range(“A1”).UnMerge

6. 设置单元格背景色

Range(“A1”).Interior.Color = RGB(255, 0, 0)

7. 设置字体颜色

Range(“A1”).Font.Color = RGB(0, 0, 255)

8. 设置字体大小

Range(“A1”).Font.Size = 12

9. 设置加粗

Range(“A1”).Font.Bold = True

10. 设置斜体

Range(“A1”).Font.Italic = True

11. 设置下划线

Range(“A1”).Font.Underline = True

12. 设置边框样式

Range(“A1”).Borders.LineStyle = xlContinuous

13. 设置水平对齐

Range(“A1”).HorizontalAlignment = xlCenter

14. 设置垂直对齐

Range(“A1”).VerticalAlignment = xlTop

15. 插入行

Rows(1).Insert

16. 删除行

Rows(1).Delete

17. 隐藏行

Rows(1).Hidden = True

18. 显示行

Rows(1).Hidden = False

19. 复制单元格

Range(“A1”).Copy Destination:=Range(“B1”)

20. 清除内容

Range(“A1”).ClearContents

21. 自动筛选

Range(“A1″).CurrentRegion.AutoFilter Field:=1, Criteria1:=”>100″

22. 排序数据

Range(“A1”).CurrentRegion.Sort Key1:=Range(“B1”), Order1:=xlAscending

23. 查找特定值的单元格

Set foundCell = Range(“A1:A10”).Find(What:=25, LookIn:=xlValues)

24. 应用条件格式

Range(“A1:A10″).FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:=”100”

25. 创建数据验证

With Range(“A1”).Validation

26. 设置打印区域

ActiveSheet.PageSetup.PrintArea = Range(“A1:D10”).Address

27. 插入单元格

Range(“A1”).Offset(1, 0).Resize(RowSize:=2).Insert Shift:=xlDown

28. 删除单元格

Range(“A2:A3”).Delete Shift:=xlUp

29. 调整行高

Range(“A1”).RowHeight = 50

30. 调整列宽

Range(“A1”).ColumnWidth = 15

31. 复制格式

Range(“A1”).Copy Destination:=Range(“B1”)

32. 粘贴特殊格式

Range(“B1”).PasteSpecial Paste:=xlPasteFormats

33. 添加超链接

Range(“A1”).Hyperlinks.Add Anchor:=Range(“A1″), Address:=”http://www.example.com”, TextToDisplay:=”点击访问”

34. 批量清除公式保留值

Range(“A1:B10”).Value = Range(“A1:B10”).Value

35. 保护/解锁工作表中的单元格

ActiveSheet.Protect Password:=”password”

36. 遍历形状并操作

For Each shp In ActiveSheet.Shapes … Next shp

37. 批量替换公式中的文本

Range(“A1:B10″).Replace What:=”old_text”, Replacement:=”new_text”, LookAt:=xlPart, SearchOrder:=xlByRows

38. 批量转换数值格式

Range(“A1:A10”).NumberFormat = “0.00%”

39. 批量应用文本格式

Range(“A1:A10”).Font.Name = “Arial”

40. 批量设置条件格式规则

Range(“A1:A10″).FormatConditions.Add Type:=xlExpression, Formula1:=”=MOD(A1,2)=0”

关于“新建”的8段基础vba代码

1. 新建一个工作簿:

Workbooks.Add

2. 新建一个工作表:

Sheets.Add

3. 新建一个工作表并命名为“新工作表”:

Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Name = “新工作表”

4. 新建一个工作表并将其移动到第一个位置:

Sheets.Add Before:=Sheets(1)

5. 新建一个工作表并将其复制到指定位置:

Sheets(“Sheet1”).Copy After:=Sheets(Sheets.Count)

6. 新建一个工作表并将其复制到指定位置并重命名:

Sheets(“Sheet1”).Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = “新工作表”

7. 新建一个工作表并将其复制到指定位置并删除原工作表:

Sheets(“Sheet1”).Copy After:=Sheets(Sheets.Count)
Sheets(“Sheet1”).Delete

8. 新建一个工作表并将其复制到指定位置并删除原工作表并重命名:

Sheets(“Sheet1”).Copy After:=Sheets(Sheets.Count)
Sheets(“Sheet1”).Delete
ActiveSheet.Name = “新工作表”

常用的字符串操作函数

Len – 获取字符串长度

Dim strLength As StringstrLength = Len(“Hello”)  ‘5

LenB – 获取字符串所占字节

Byte 1个字节,Boolean 2个字节,Integer 2个字节,Long 4个字节,Single 4个字节,Double 8个字节,Decimal 14个字节,Date 8个字节,Object 4个字节,String 每个字符占用两个字节

Dim strLength As StringstrLength = Len(“Hello”)  ’10

 Left、Right 和 Mid – 获取字符串的左/右/中部分

leftPart = Left(“Hello”, 3) ‘HelrightPart = Right(“Hello”, 2) ‘l0midPart = Mid(“Hello”, 2) ‘el

Ucase 和 Lcase – 转换为大写或小写

upperStr = Ucase(“hello”)  ‘  HELLOlowerStr = Lcase(“HELLO”)  ‘hello

Trim – 去除字符串前后的空格

Trim(”   Hello   “)    ‘Hello

LTrim – 去除字符串左侧的空格

RTrim – 去除字符串右侧的空格

Space – 返回由指定数量的空格组成的字符串

Space(5) ‘”     “

InStr – 查找子字符串在字符串中首次出现的位置

第一个参数表示起始查找位置,如果position=0,说明没找到

str = “Hello World World”position = InStr(1, str, “World”) ‘7position = InStr(8, str, “World”) ’13position = InStr(1, str, “Worldj”) ‘0

InStrRev – 查找子字符串在字符串中最后一次出现的位置

Dim str As String  str = “Hello World World”  InStrRev(str, “World”)  ’13

Asc – 返回字符串中第一个字符的ASCII值

Asc(“A”)  ’65Asc(“a”)  ’97Asc(“1”)  ’49

Chr – 返回指定ASCII值的字符

Chr(65)  ‘AChr(97)  ‘aChr(49)  ‘1

Replace – 替换字符串中的部分内容

Replace(“Hello World”, “World”, “VBA”) ‘Hello VBA

Date 和 Now – 获取当前日期和时间

MsgBox “今天是:” & Date & “,现在是:” & Now

Year, Month, Day – 从日期中提取年、月、日

Dim currentDate As Date  currentDate = Date  MsgBox “年份是:” & Year(currentDate) & “,月份是:” & Month(currentDate) & “,日期是:” & Day(currentDate)  

Round – 四舍五入数字

Dim roundedNum As DoubleroundedNum = Round(3.14159, 2)   ‘3.14

Int 和 Fix – 取整

Dim intNum As Integer  

Dim fixNum As Double  

intNum = Int(3.14)   ‘3

fixNum = Fix(3.14)   ‘3

intNum = Int(-3.14)   ‘-4

fixNum = Fix(-3.14)   ‘-3

Abs – 取绝对值

Dim absNum As Double    

absNum = Abs(-5.5)    ‘5.5

Split – 将字符串按指定分隔符拆分为数组

Dim strArray() As String 

strArray = Split(“Apple,Banana,Cherry”, “,”)    

MsgBox “第一个水果是:” & strArray(0)  ‘Apple  

Join – 将数组的元素连接成一个字符串

Dim fruitArray() As Variant    

fruitArray = Array(“Apple”, “Banana”, “Cherry”)    

Dim joinedStr As String    

joinedStr = Join(fruitArray, “, “)    

MsgBox “所有水果:” & joinedStr    

IsNumeric – 检查是否为数字

Dim isNum As Boolean    

isNum = IsNumeric(123)    ‘true

isNum = IsNumeric(“123”)   ‘false

IsEmpty – 检查是否为空

Dim isEmptyVar As Variant  

IsEmpty(isEmptyVar)  ‘true  

isEmptyVar = “”I

sEmpty(isEmptyVar)   ‘false

IIf – 条件判断并返回

TestMe = 500

IIf(TestMe > 1000, “Large”, “Small”)  ‘Small

Rnd – 生成随机数

Rnd(1)  ‘生成[0,1)的随机数,包含0、不包含1’如果要生成[m,n)的随机数

Rnd(1) *(n-m)+mRnd(1)*(10060)+60  ‘生成[60,100)的随机数

Rnd()生成的是伪随机数,多次执行得到的是相同的随机序列,建议加一句Randomize,可以得到不同随机数

RandomizeRnd(1)

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/120418.html

(0)
上一篇 2025-10-29 20:33
下一篇 2025-10-29 21:00

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信