Excel VBA开发基本语句说明-CSDN博客

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

    前言

    VBAVisual 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

  • 阿里云国际版折扣https://www.yundadi.com

  • 阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6