Excel vba 操作
批量生成sheet目录并添加超链接
Sub Add_Sheets_Link()
'Worksheets(5)为清单目录页
'在sheet页上生成sheet页名字并超链接
For i = To ThisWorkbook.Worksheets.Count
Worksheets().Cells(i + , ).Value = Worksheets(i).Name
Worksheets().Hyperlinks.Add Anchor:=Worksheets().Cells(i + , ), Address:="", SubAddress:= _
Worksheets().Cells(i + , ) & "!" & "A1", TextToDisplay:=Worksheets().Cells(i + , ) & "!" & "A1" Next '在每个内容sheet上添加超链接返回目录
For i = To ThisWorkbook.Worksheets.Count
Worksheets(i).Hyperlinks.Add Anchor:=Worksheets(i).Cells(, ), Address:="", SubAddress:= _
"Sheet1!A1", TextToDisplay:="返回清单"
Next '在(1,1单元格)超链接返回到 接口清单sheet页
For i = To ThisWorkbook.Worksheets.Count
'Cells(i + 1, 2).Value = Worksheets(i).Name
Worksheets(i).Hyperlinks.Add Anchor:=Worksheets(i).Cells(, ), Address:="", SubAddress:= _
Worksheets().Name & "!" & "A1"
'Worksheets(3).Cells(i + 1, 2).Value = Worksheets(i).Name
Next End Sub
区域全选,添加边框
'选中区域添加边框
Sub region_select()
'
For i = To ThisWorkbook.Worksheets.Count
Worksheets(i).UsedRange.Borders.LineStyle = xlContinuous '加边框线
Worksheets(i).Range("A1:K1").Borders.LineStyle = xlNone '取消边框线 '方法2 区域全选
'Worksheets(i).UsedRange.Select 错误 '只有当前活动页才能选中
'Worksheets(i).Activate
'ActiveCell.CurrentRegion.Select ' 实现区域全选
'rng_address = Selection.Address ' 返回该区域地址
'Selection.Borders.LineStyle = xlContinuous '加边框线
'Worksheets(i).Range("A1:K1").Borders.LineStyle = xlNone '取消边框线 Next End Sub
命名sheet页,拼接字符串
'第9 ,10列,即 I,J列 分别为代码和名称
Sub RenameSheet_AddBackBoder() For i = To ThisWorkbook.Worksheets.Count Worksheets(i).UsedRange.Borders.LineStyle = xlContinuous '加边框线
Worksheets(i).Range("A1:K1").Borders.LineStyle = xlNone '取消边框线 '第9 ,10列,分别为代码和名称
tcname = Worksheets().Cells(i - , ).Value
tccode = "(" & Worksheets().Cells(i - , ).Value & ")"
Worksheets(i).Cells(, ).Value = tcname & tccode ' 文字格式: 名称(代码)
Worksheets(i).Name = tcname
Next End Sub
定义名称添加超链接
Sub AddNames_Hyper()
'定义名称添加超链接
For i = To ThisWorkbook.Worksheets.Count
ActiveWorkbook.Names.Add Name:=Worksheets(i).Name, RefersToR1C1:="=" & Worksheets(i).Name & "!R1C1" 'Worksheets(5).Hyperlinks.Add Anchor:=Worksheets(5).Cells(i - 5, 10), Address:="", SubAddress:= _
'Worksheets(5).Cells(i - 5, 10) & "!" & "A1" Worksheets().Hyperlinks.Add Anchor:=Worksheets().Cells(i - , ), Address:="", SubAddress:= _
Worksheets(i).Name
Next
sheet布局排序,按某一列内容排序
Sub SortByCol() For i = To ThisWorkbook.Worksheets.Count
sheet_name = Trim(Worksheets(i).Name)
Worksheets(i).Name = sheet_name
Next For i = To ThisWorkbook.Worksheets.Count
'第10列为顺序列,单元格内容为sheet页名称
order_name = Trim(Worksheets().Cells(i - , ).Value)
Worksheets().Cells(i - , ) = order_name
Sheets(order_name).Move after:=Sheets(i - )
Next End Sub