企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

ExcelVBA函数:将单元格区域转换为【表】,并格式化为特定主题

wudianyun 2025-06-04 02:17:43 精选文章 12 ℃

在前面介绍Excel应用平台中,涉及一些样例(Sub\Function),选择性地进行介绍。

其中,第一个是:把当前单元格区域的数据,转换为【表】,并引用比较常用的蓝色样式。


1、对于存在的单元格区域,如下:


2、双击以下函数:

3、得到以下结果:


4、涉及的代码:

Sub 将单元格区域转为Table并设置为蓝色间隔样式()

    Dim rng As Range
    Dim ws As Worksheet
    Dim tbl As ListObject
    Dim response As VbMsgBoxResult
    Dim tableName As String

    ' 获取当前选中的单元格区域
    Set rng = ActiveCell.CurrentRegion        
    Set ws = ActiveSheet    
    ' 检查
    If rng Is Nothing Then
        MsgBox "请选择一个有效的单元格区域", vbExclamation
        Exit Sub
    End If
    
    ' 提示
    response = MsgBox("确定要将选定的单元格区域转换为表格吗?第一行将被视为标题行。", vbYesNo + vbExclamation, "确认转换")
    If response = vbNo Then
        Exit Sub
    End If

    ' 是否已有表格?
    On Error Resume Next
    Set tbl = ws.ListObjects.Add(xlSrcRange, rng, , xlYes)
    On Error GoTo 0
 
    If Not tbl Is Nothing Then 
        tableName = "表" & Format(Now, "yyyymmddhhmmss")  ' 动态生成表名
        tbl.Name = tableName
        tbl.TableStyle = "TableStyleMedium13"  ' 设置样式
        
    Else
        MsgBox "转换表格时出现问题,请检查选定的区域是否有效。", vbCritical
    End If

End Sub

Tags:

最近发表
标签列表