まりふのひと

家計簿内を検索する「マクロ収支シート検索.xlsm」のハイパーリンクのエラーで苦戦

  1. 家計簿77フォルダ内の xlsxファイルを「総収支」シートを検索するマクロを作った‥‥ が、
  2. 改善点が見えた
    ≪マクロの改善点≫
    • 「総収支」シートの検索ではなく、月々のシートを検索した方が、シート名に「何月」と出るので‥‥
    • Excelの検索には時間が掛かるが、最終結果を早く知ることができそう...
    引用:
    ので、改修した。
  3. 早速試行したら、おかしなエラーが出た‥‥
     が、[OK]したら‥‥ 終了した。
    • Microsoft Visual Basic for Applications 400” でググった‥‥
       意外にも多くヒットしたので、1ページ分のサイトを片っ端から見た‥‥ が、思い当たる節がない...
  4. 検索結果シートの Link をクリック‥‥
    • 「参照が正しくありません」と言われても、そっくりコピーの VBA だしぃ...
  5. ハイパーリンクがおかしいのでは? との思いから VBAコードを探す‥‥
    WS.Hyperlinks.Add Anchor:=WS.Range("D5").Offset(a, 0), Address:=myfolder & dirValue, SubAddress:=wkSheet.Name & "!" & c.Address,TextToDisplay:="Link"
    どうやらこの辺りに問題があるような...
  6. ‥‥ 調査に数日間 ‥‥
  7. 第95回.ハイパーリンク(Hyperlink)(エクセルの神髄|鵜原パソコンソフト研究所 - 最終更新日:2018-02-03)

    ハイパーリンクの追加

    他ブックのシートの場合
    ActiveSheet.Hyperlinks.Add Anchor:=セル, _
                 Address:="ブックのフルパス", _
                 SubAddress:="'シート名'!A1", _
                 TextToDisplay:="表示名"
    セルはRangeオブジェクトを指定

     シート名をシングルクォーテーションで囲みます。これが無いと、シート名に空白やカナ記号があると正しくハイパーリンクが設定されません。
≪結果≫
  • WS.Hyperlinks.Add の wkSheet.Name を「'」(シングルクォーティション)で括った。