2016-06-28 108 views
1

我目前有一个创建的宏,它需要大量数据(每周从数据库中提取)并将其显示在多个不同的数据透视表中。在工作簿开始处列出不同的客户和机器名称时,我也有一个摘要页面。目前,我编写了一个宏,以便我可以单击其中一个客户名称,并通过Worksheet_SelectionChange事件打开与该客户对应的工作表。通过模块将宏代码添加到工作表中

Private Sub Worksheet_SelectionChange(ByVal Target As Range) 
    If SheetExists(Right(Replace(Replace(ActiveCell.Value, "/", "-"), "'", ""), 31)) Then 
     ActiveWorkbook.Sheets(Right(Replace(Replace(ActiveCell.Value, "/", "-"), "'", ""), 31)).Activate 
    End If 
End Sub 

Function SheetExists(SheetName As String, Optional wb As Excel.Workbook) 
    Dim s As Excel.Worksheet 
    If wb Is Nothing Then Set wb = ThisWorkbook 
    On Error Resume Next 
    Set s = wb.Sheets(SheetName) 
    On Error GoTo 0 
    SheetExists = Not s Is Nothing 
End Function 

不幸的是,由于工作的性质,我不能分享太多的代码本身。

我的问题在于下周重新生成报告时:是否有可能生成详细工作表的宏和汇总将SelectionChange代码添加到新汇总中?谢谢!

+1

使用外接程序执行此操作或模板 –

+0

数据的外观如何?你能显示你的宏的代码吗? –

+0

更新了事件代码,不幸的是我不能显示非常多的生成宏 – TamFire

回答

0

模板似乎是这个最好的选择

谢谢!