2017-03-14 4 views
3

VBAを使用してExcelの異なるシートにハイパーリンクを作成していて、ワークブックを閉じるまで画面ヒントを追加するとすべて正常に動作します。ワークブックの修復が必要なハイパーリンク画面のヒント

Excelを再起動すると、修復が行われ、読み取り専用になります。スクリーンチップを取り除くことで問題は解決しますが、スクリーンチップを持たせることは非常に便利です。

これを引き起こす原因は誰にも分かりますか?

Hyperlinks.Add wb.Sheets("Summary").Cells(j, i + 2), "", "'" & i & "'!" & wb.Sheets(i + 1).Cells(3, col).Address, scrTip 

編集:ここでは

は私がscrTipを作成するために使用していたコードです。

scrTip = "" 

For indx = 0 To 4 

     If TopCost(indx) <= 0 Then Exit For 

     If indx > 0 Then scrTip = scrTip & vbCrLf 
     scrTip = scrTip & strTopCost(indx) & " - " & Round(TopCost(indx)) 

Next indx 

アレイstrTopCostは「のような記号を有することができ、説明、含ま - topcost配列番号を含むが、&、/、#などを画面先端がscrTipが空であるハイパーリンクの位置を示す

+3

経験豊かな人が違法な文字などを探すように、1つまたは複数のサンプル画面のヒント(あなたの問題を引き起こすもの...)を提供することはおそらく役に立ちました。 – Jeeped

+0

画面のヒント自体私の会社がインターネット上では望んでいないかもしれないものを含んでいますが、scrTipを宣言するコードだけでなく、どのような種類のシンボルが含まれるかの例も追加しました。すべてのデータは細胞に由来します。 – Hefrum

答えて

1

次試して与えてください:前に、新しいものを作成する既存のハイパーリンクを削除することを確認し、また

wb.Sheets("Summary").Hyperlinks.Add _ 
    AnchorAnchor:=Cells(j, i + 2), _ 
    Address:="", _ 
    SubAddress:="'" & i & "'!" & wb.Sheets(i + 1).Cells(3, col).Address, _ 
    ScreenTip:=scrTip 

を:

Dim hyp As Hyperlink 
For Each hyp In ThisWorkbook.Sheets("Summary").Hyperlinks 
    hyp.Delete 
Next hyp 
+0

ハイパーリンクを削除してもらえれば幸いです。同じことがまだその書式で起こります。 – Hefrum

0

問題が見つかりました。画面のヒントの長さが長すぎるため、長さを25文字に制限し、その後は正常に機能しました。

関連する問題