我有2本工作簿" StudentID"和#34;学生"。
在书中#34; StudentID"在A列的每一行都有一张带有ID列表的表单。 在"学生"为工作簿中列出的每个学生ID标注了工作表" StudentID"。
点击学生证时,我需要在"学生"中打开该ID的特定工作表。
这是用VBA写的。
无论如何我无法想到这个。
任何帮助都将不胜感激。
答案 0 :(得分:1)
至于你没有包含任何代码,我明白你所需要的只是一些想法。
在StudentID
(。xlsm或任何其他支持宏的扩展程序)中,您必须依赖于特定工作表的SelectionChange
事件(在Microsoft Excel Objects
下,该文件称为你要跟踪的工作表,也就是说,你必须写一些类似的东西:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If (Not IsEmpty(Selection.Value)) Then
On Error Resume Next
'Selection.Value -> content of the selected cell, that is, ID
'Here you have to write your code to open the corresponding worksheet in the Student workbook
End If
End Sub
通过这个小帮助,您不应该发现任何问题来编写您自己所需的全部内容。
答案 1 :(得分:0)
Varocarbas已经给你一个选择提示。 我可以告诉你如何在以后循环工作表,下面的代码在C#中完成。
foreach (Excel.Worksheet sheet in workbook.Sheets)
{
workbook.Activate();
if(sheet.Name="your specific selected row")
{
sheet.Activate();
}
}
如果您没有使用C#,那么您将获得VB.NET代码:
类似VB的东西
Set excelApp = CreateObject("excel.application")
Set excelWrkbook = excelApp.WorkBooks.Add
Set excelSheet = excelWrkbook.WorkSheets(1)
excelSheet.Cells(1,1).Select //1,1 can be changed to be mapped on column A
现在使用Varocarbas的代码,C#和VB代码,您应该可以在所有代码之间建立链接,并且您应该可以从单元格A中单击 - >事件是否触发,能够比较工作表名称并根据StudentID激活工作表。