2016-08-30 18 views
0

私が取り組んでいるワークブックは、プロジェクトトラッキングに使用されています。オープニングページには、現在の&プロジェクトのページがあります。フォームコントロールボタンを押すと、以下のコードが実行されます。以下のコードは、ワークブックの各シート(30枚あり)を読み込み、次にA5に「Project#:」という値を持つすべてのシートを読み込みます。その値を持つとき、指定された値を指定された行と列に入れます。最初に「**」が付いている行は動作しない行です。その横に「*」が付いた行が一時的に使用されますが、ハイパーリンクはなく、シート名だけです。Excel他のシートへのハイパーリンクのVBAコード

は、私がコードで発生たいのは、以下の「」そのシート

For Each ws In ThisWorkbook.Worksheets 
      If ws.Range("A5") = "Project # :" And ws.Range("E16") = "" Then 
       x = .Range("B" & Rows.Count).End(xlUp).Offset(1).row 

       **.Cells(x, "A").Formula = "=ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _'" & ws.Name & "'" 
       *.Cells(x, "A").Value = ws.Name 'classifying number 

       .Cells(x, "B").Formula = "='" & ws.Name & "'!$B$5" 'Project # 
       .Cells(x, "C").Formula = "='" & ws.Name & "'!$A$1" 'Project Name 
       .Cells(x, "D").Formula = "='" & ws.Name & "'!$B$8" 'Project Engineer 
       .Cells(x, "E").Formula = "='" & ws.Name & "'!$B$11" 'In-service Due 
       .Cells(x, "F").Formula = "='" & ws.Name & "'!$E$6" '30% Due 
       .Cells(x, "G").Formula = "='" & ws.Name & "'!$F$13" '30% Success 
       .Cells(x, "H").Formula = "='" & ws.Name & "'!$E$7" '60% due 
       .Cells(x, "I").Formula = "='" & ws.Name & "'!$F$14" '60% Success 
       .Cells(x, "J").Formula = "='" & ws.Name & "'!$E$8" '90% due 
       .Cells(x, "K").Formula = "='" & ws.Name & "'!$F$15" '90% Success 
       .Cells(x, "L").Formula = "='" & ws.Name & "'!$E$5" 'Material Forecast due date 
       .Cells(x, "M").Formula = "='" & ws.Name & "'!$F$11" 'Materials Forecast Success 
       .Cells(x, "N").Formula = "='" & ws.Name & "'!$B$15" 'Non Stores Items 
       .Cells(x, "O").Formula = "='" & ws.Name & "'!$B$16" 'Non Stores Items Ordered on time 
       .Cells(x, "P").Formula = "='" & ws.Name & "'!$A$17" 'Non Stores Items Success 
      End If 
     Next 

    End With 

答えて

0

代わりの

.Cells(x, "A").Formula = "=ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _'" & ws.Name & "'" 

使用

にテキストやハイパーリンクなどのシート名を含む行を作るです
.Hyperlinks.Add Anchor:=.Cells(x, "A"), _ 
       Address:="", _ 
       SubAddress:= "'" & ws.Name & "'!A1", _ 
       TextToDisplay:= ws.Name 

あなたのコードはWith ActiveSheet(または同等のもの)内で実行されているものとします)ブロックする。

+0

これは完璧です!私はしばらくこのことを理解しようとしています、ありがとうございます! –

関連する問題