自动将命令button链接到单元格值

我试图做的代码由2部分组成。 我设法做的第一部分,但我很难搞清楚第二部分。

第一部分:在一个文本框中填写项目编号(例如211),然后命令button运行一个macros,并在新行中填充该编号,生成一个名为211的工作表(在工作簿中),然后添加一个新的命令button到项目编号。

所以这个想法是,在主表单上有一个包含项目编号的整个列表,每个编号旁边都有一个命令button,转到相应的工作表。 所以可以很容易地有50个项目号码,50个命令button和50个工作表。 这是代码:

Dim MySheetName As String Set pasteSheet = Worksheets("Mainsheet") Dim aRange As Range Dim sValue As Variant, findMe As Range, sWhere As Range sValue = TextBox1.Value Set sWhere = Range("B4:B700") Set findMe = sWhere.Find(What:=sValue, After:=sWhere(1)) If findMe Is Nothing Then LastRow = pasteSheet.Cells(pasteSheet.Rows.Count, "B").End(xlUp).Row Worksheets("Mainsheet").Range("B" & LastRow + 1).Value = TextBox1.Value With Worksheets("Mainsheet") .CommandButton1.Copy .Range("B" & LastRow + 1).Offset(0, 3).Select .Paste End With Unload Me Sheets("Copysheet").Copy After:=Sheets("Copysheet") Range("C3") = TextBox1.Value ActiveSheet.Name = TextBox1.Value Else Unload Me MsgBox "Number already exists" End If Worksheets("Mainsheet").Activate Range("A1").Value = 1 

第二部分:这部分对我来说是一个谜。 我现在想要做的是,每个生成的命令button都包含一个自动切换到对应工作表的代码。

例如,如果我创build一个名为214的新项目号(自动填入单元格B5),单元格C5中的命令button将在单元格B5中search并转到该工作表。 如果我做另一个命名为215的项目(在单元格B6中)C6中的命令button将searchB6中的值,依此类推…

任何帮助表示赞赏,谢谢。

而不是使用button,一个简单的解决scheme可能是在C列中放置一个超链接。

 With Worksheets("Mainsheet") '.CommandButton1.Copy '.Range("B" & LastRow + 1).Offset(0, 3).Select '.Paste .Range("B" & LastRow + 1).Offset(0, 3).Select .Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _ projectNo & "!A1", TextToDisplay:="Link" End with 

重要的一点是,您还必须将创build新工作表的部分移到此部分之前,以避免尝试创build超链接时出现错误。