EXCEl怎么用VBA建立一个目录(用超链接)
我有个文件夹在e:\文件下面,我现在在D:\目录下面建立一个叫做汇总的EXCEL用来汇总e:\文件这个文件夹的所有文件,并且B列建立超链接(从B2开始,排列的顺序按文件的...
我有个文件夹在e:\文件 下面,我现在在D:\目录下面建立一个叫做汇总的EXCEL用来汇总e:\文件这个文件夹的所有文件,并且B列建立超链接(从B2开始,排列的顺序按文件的顺序就可以了),请告诉指教
展开
3个回答
展开全部
1、打开事先准备好的Excel文件
2、工具栏/开发工具/Visual Basic,打开Microsoft Visual Basic,也可使用快捷键Alt+F11,
3、然后,选择VBAProject/Microsoft Excel 对象/sheet1(sheet1),在右边窗口输入以下程序:
Sub 根据工作表创建目录()
Dim i As Integer, Biao As Worksheet
i = 2
For Each Biao In Worksheets
Cells(i, "A") = Biao.Name
i = i + 1
Next Biao
End Sub
程序已经编制完成!
4、最后,工具栏/开发工具/宏(快捷键Alt+F8),查看宏,选择已编制好的宏“根据工作表创建目录”,执行,就会根据工作表创建对应目录。也可直接在Microsoft Visual Basic中执行,工具栏/运行/运行子过程/用户窗体,或者直接点击菜单栏中类似于三角形的按键。
5、以后不管有成百上千个工作表都可以一键生成了!
2、工具栏/开发工具/Visual Basic,打开Microsoft Visual Basic,也可使用快捷键Alt+F11,
3、然后,选择VBAProject/Microsoft Excel 对象/sheet1(sheet1),在右边窗口输入以下程序:
Sub 根据工作表创建目录()
Dim i As Integer, Biao As Worksheet
i = 2
For Each Biao In Worksheets
Cells(i, "A") = Biao.Name
i = i + 1
Next Biao
End Sub
程序已经编制完成!
4、最后,工具栏/开发工具/宏(快捷键Alt+F8),查看宏,选择已编制好的宏“根据工作表创建目录”,执行,就会根据工作表创建对应目录。也可直接在Microsoft Visual Basic中执行,工具栏/运行/运行子过程/用户窗体,或者直接点击菜单栏中类似于三角形的按键。
5、以后不管有成百上千个工作表都可以一键生成了!
展开全部
Sub 设置超链接()
Dim strSrcPath$, lngRow&, objFso As Object, objFile As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Dim objFldlg As FileDialog
Set objFldlg = Application.FileDialog(msoFileDialogFolderPicker)
With objFldlg
.AllowMultiSelect = False
.Title = "请选择需要建立超链接的文件夹"
.InitialFileName = ThisWorkbook.Path
If .Show = -1 Then
Range("b2").Resize(10000).ClearContents
lngRow = 1
strSrcPath = .SelectedItems(1) & IIf(Right(.SelectedItems(1), 1) = "\", "", "\")
For Each objFile In objFso.GetFolder(strSrcPath).Files
lngRow = lngRow + 1
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lngRow, 2), _
Address:=strSrcPath & objFile.Name, SubAddress:="", _
ScreenTip:=objFile.Name, TextToDisplay:=objFile.Name
Next objFile
End If
End With
Set objFldlg = Nothing
Set objFile = Nothing
Set objFso = Nothing
CreateObject("Wscript.Shell").Popup "Done...", 2, "^o^", vbOKOnly
End Sub
'经实测成功,请采纳...
Dim strSrcPath$, lngRow&, objFso As Object, objFile As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
Dim objFldlg As FileDialog
Set objFldlg = Application.FileDialog(msoFileDialogFolderPicker)
With objFldlg
.AllowMultiSelect = False
.Title = "请选择需要建立超链接的文件夹"
.InitialFileName = ThisWorkbook.Path
If .Show = -1 Then
Range("b2").Resize(10000).ClearContents
lngRow = 1
strSrcPath = .SelectedItems(1) & IIf(Right(.SelectedItems(1), 1) = "\", "", "\")
For Each objFile In objFso.GetFolder(strSrcPath).Files
lngRow = lngRow + 1
ActiveSheet.Hyperlinks.Add Anchor:=Cells(lngRow, 2), _
Address:=strSrcPath & objFile.Name, SubAddress:="", _
ScreenTip:=objFile.Name, TextToDisplay:=objFile.Name
Next objFile
End If
End With
Set objFldlg = Nothing
Set objFile = Nothing
Set objFso = Nothing
CreateObject("Wscript.Shell").Popup "Done...", 2, "^o^", vbOKOnly
End Sub
'经实测成功,请采纳...
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
这个方法的确挺不错的,不过要是想动态刷新就比较麻烦点,所以我考虑VBA会比较适用点,多谢,又让我学到一招
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询