VBA常用代码

您所在的位置:网站首页 vba基础代码大全 VBA常用代码

VBA常用代码

2024-06-06 10:36| 来源: 网络整理| 查看: 265

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

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

1、打开工作簿Workbooks.Open "C:\文件路径\文件名.xlsx"2. 关闭工作簿ActiveWorkbook.Close SaveChanges:=False3. 保存工作簿ActiveWorkbook.Save4. 另存为工作簿ActiveWorkbook.SaveAs "C:\文件路径\新文件名.xlsx"5. 新建工作簿Workbooks.Add6. 新建工作表Sheets.Add After:=ActiveSheet7. 删除工作表Application.DisplayAlerts = FalseSheets("工作表名称").DeleteApplication.DisplayAlerts = True8. 重命名工作表Sheets("旧工作表名称").Name = "新工作表名称"

9. 复制工作表Sheets("源工作表名称").Copy After:=Sheets("目标工作表名称")10. 移动工作表Sheets("工作表名称").Move Before:=Sheets("目标工作表名称")11. 激活工作表Sheets("工作表名称").Activate12. 选择工作表Sheets("工作表名称").Select13. 获取当前工作表名称Dim sheetName As StringsheetName = ActiveSheet.Name14. 获取工作簿中所有工作表的数量Dim sheetCount As IntegersheetCount = ThisWorkbook.Sheets.Count15. 获取工作簿中所有工作表的名称Dim sheetNames() As StringDim i As IntegerReDim sheetNames(1 To ThisWorkbook.Sheets.Count)For i = 1 To ThisWorkbook.Sheets.CountsheetNames(i) = ThisWorkbook.Sheets(i).NameNext i16. 获取指定单元格的值Dim cellValue As VariantcellValue = Range("A1").Value17. 设置指定单元格的值Range("A1").Value = "Hello, World!"18. 获取指定单元格的行号和列号Dim rowNum As Long, colNum As LongrowNum = Range("A1").RowcolNum = Range("A1").Column19. 获取指定单元格的地址Dim cellAddress As StringcellAddress = Range("A1").Address20. 获取指定单元格的公式Dim cellFormula As StringcellFormula = Range("A1").Formula21. 设置指定单元格的公式Range("A1").Formula = "=SUM(B1:B10)"22. 清除指定单元格的内容Range("A1").ClearContents23. 清除指定单元格的格式和内容Range("A1").Clear24. 复制指定单元格的内容到剪贴板Range("A1").Copy25. 从剪贴板粘贴内容到指定单元格Range("A1").PasteSpecial Paste:=xlPasteAll26. 设置指定单元格的背景色Range("A1").Interior.Color = RGB(255, 0, 0)27. 设置指定单元格的字体颜色Range("A1").Font.Color = RGB(255, 255, 255)28. 设置指定单元格的字体大小Range("A1").Font.Size = 1429. 设置指定单元格的字体加粗Range("A1").Font.Bold = True30. 设置指定单元格的字体斜体

Range("A1").Font.Italic = True

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

ication.Workbooks("工作簿名称").Visible = xlHiddenApplication.Workbooks("工作簿名称").Visible = xlVisible8. 设置活动工作簿Application.ActiveWorkbook

9. 切换工作表

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

10. 创建新的工作表Application.Sheets.Add After:=Application.Sheets(Application.Sheets.Count)

16. 设置单元格格式

Application.Range("A1").NumberFormat = "0.00"

18. 数据排序Application.Range("A1:B10").Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlYes19. 筛选数据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 = xlThin23. 设置背景色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:=FalseEnd Sub

8、查找特定值并高亮显示Sub HighlightValue()Dim cell As RangeFor Each cell In Range("A1:A10")If cell.Value = "Target" Thencell.Interior.Color = RGB(255, 255, 0) ' 黄色End IfNext cellEnd 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").DeleteActiveSheet.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)*(100-60)+60  '生成[60,100)的随机数

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

RandomizeRnd(1)



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3