
applicationWorkbooksOpen 文件路径
applicationWorkbooks(文件名)Close true或false表示是否保存
复制就是applicationWorkbooks("文件名")sheets("表名")range(源单元格地址)copy ActiveSheetrange(目标单元格地址)
你可以用Set xlApp = CreateObject("ExcelApplication")来建立一个看不到的Excel应用程序对象,然后用xlApp 来替代上面的Application,就会看不到打开的过程了。
Private Sub Worksheet_Change(ByVal Target As Range)
If TargetRow >= 2 And TargetRow <= 1000 And _
Cells(TargetRow, 8) < Date Then
ApplicationEnableEvents = False
For i = 9 To 18
Cells(TargetRow, i) = Sheet2Cells(TargetRow, i)Value
Next
ApplicationEnableEvents = True
End If
End Sub
目录工作表A1、B1单元格内容分别为:序号、名称
则对应目录工作表VBA代码为:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim str As String
If SelectionCellsCount = 1 And SelectionHyperlinksCount > 0 Then
str = SelectionValue
Worksheets(str)Visible = True
SelectionHyperlinks(1)Follow NewWindow:=False, AddHistory:=True
End If
End Sub
整个工作簿(ThisWorkbook)代码:
Private Sub Workbook_Open()
Dim i As Integer
Dim sht As Worksheet
For i = 1 To SheetsCount
Set sht = Sheets(i)
If shtName <> "目录" Then
shtVisible = xlSheetHidden
End If
Next
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ShName = "目录" Then
Dim i, j As Integer
Dim sht As Worksheet
Dim str As String
j = WorksheetsCount
Range("A2:B65536")ClearContents
Range("A2:B65536")HyperlinksDelete
For i = 1 To j
str = Sheets(i)Name
If str <> "目录" Then
Cells(i, 1) = i - 1
Cells(i, 2) = str
ShHyperlinksAdd Anchor:=Range("B" & i), Address:="", SubAddress:= _
str & "!A1", TextToDisplay:=str
Sheets(i)Visible = False
End If
Next
Range(Cells(1, 1), Cells(j + 1, 2))EntireColumnAutoFit
Cells(1, 2)Select
End If
End Sub
将以上代码放到指定位置,即可实现你的功能。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)