使用VBA生成Excel目录列表
2013-01-10 13:49
579 查看
一、个人需求
最近使用Excel整理一些术语解释的文档,每个术语都对应一个sheet,最后有个索引页,可以快速链接到指定的sheet。
由于sheet会不断增加,做索引页时需要自动生成。考虑使用VBA实现,由于初次接触VBA,在此留个备份。
二、功能实现
(1)新建“索引”sheet,在此工作表中插入一个“生成索引”的按钮,如下图:
(2)为此按钮添加事件处理代码,如下:
(3)收集各资料sheet信息,例下sheet列表:
(4) 生成后的索引如下图:
三、附代码
最近使用Excel整理一些术语解释的文档,每个术语都对应一个sheet,最后有个索引页,可以快速链接到指定的sheet。
由于sheet会不断增加,做索引页时需要自动生成。考虑使用VBA实现,由于初次接触VBA,在此留个备份。
二、功能实现
(1)新建“索引”sheet,在此工作表中插入一个“生成索引”的按钮,如下图:
(2)为此按钮添加事件处理代码,如下:
(3)收集各资料sheet信息,例下sheet列表:
(4) 生成后的索引如下图:
三、附代码
Sub create_Click() '获取所有sheet的名字 For x = 2 To Sheets.Count 'sheet名 Sheets(1).Cells((x + 2), 3) = Sheets(x).Name '序号 Sheets(1).Cells((x + 2), 2) = "=ROW()-3" '超链接 Range("C" + CStr(x + 2)).Select ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ Sheets(x).Name + "!A1" Next x '设置指定单元格边框 Dim rng As Range Set rng = Range("B4:C" + CStr(Sheets.Count + 2)) With rng.Borders .LineStyle = xlContinuous .ColorIndex = xlAutomatic .TintAndShade = 1 .Weight = xlThin End With '设置指定单元格的字体样式 Range("B4:C" + CStr(Sheets.Count + 2)).Select With Selection .Font.Name = "宋体" '字体 .Font.Size = 12 '字号 .WrapText = True '自动换行 .Font.Color = FFFFFF '颜色 End With '删除指定范围的单元格内容 Range("B" + CStr(Sheets.Count + 3) + ":C65530").ClearContents '删除指定范围的边框 Range("B" + CStr(Sheets.Count + 3) + ":C65530").Borders.LineStyle = xlNone End Sub
相关文章推荐
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - 目录
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - (三) VBA模糊查找数据
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - (四) 结合病人病例,批量汇总实例
- 使用NPOI生成Excel级联列表
- 使用NPOI生成Excel级联列表
- 学以致用——Excel连接Oracle生成iKB报告——Part1(使用VBA从数据库提取汇总数据)
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - (一)VBA简介
- java基于jxl.jar包生成Excel文件到指定目录和服务器下载两种模式的使用方法
- 使用VBA从海量Excel文件中模糊获取数据并生成新表(附实例) - (二) VBA跨Excel读取数据
- JAVA使用HSSFWorkbook生成导入Excel 的用法
- aspose.cells使用excel模板生成excel
- PHP 使用 PHPExcel 库生成 Excel 文件
- DWR使用体会2:获取数据库表数据,使用addRows生成列表
- 使用Aspose.Cells生成Excel
- Outlook 2010使用VBA将一个MAPIFolder目录下的MailItem移到它的一个子目录下
- Servlet 中使用POI生成Excel
- 使EXCEL中使用宏生成T-SQL实现数据导入
- 使用poi和jfreechart生成excel图表图片
- Word中使用VBA自动生成公式时的注意事项
- 使用JXL生成Excel时发生java.lang.ArrayIndexOutOfBoundsException错误