SSブログ

EXCEL2000 VBA ハイパーリンク一覧を作成する 実験 [Excel2000 VBA独習]

EXCEL2000 VBA  ハイパーリンク一覧を作成する 実験

EXCEL2000VBA_HL01.png

EXCEL2000VBA_HL02.png

 

Sub シートのハイパーリンク一覧()
'
Dim newS As Worksheet           '
Dim aSname As String              '選択しているシート名
Dim newSname As String          '新しく作るシート名
Dim i As Long                       '汎用
Dim msg As Variant                'vbyesyno の値
 
 '一覧を作成するシートをすぐ後に作る(シート名は選択シート+”HL一覧”)
    aSname = ActiveSheet.Name      'シート名
    'シート名の確認
        msg = MsgBox("アクティブシート名は " & aSname & "です。" & vbCrLf & vbCrLf & "このシートのハイパーリンク一覧を作成しますか?", vbYesNo)
            Select Case msg
                Case vbYes
                    GoTo yes
                Case vbNo
                    MsgBox "処理を終了します。シートを選択し直してから実行してください"
                    Exit Sub
            End Select
yes:
 '同一のシート名があるか調べる(同一のシート名があったらシートセル全体の値を消す)
        For i = 1 To ActiveWorkbook.Sheets.Count
            If ActiveWorkbook.Sheets(i).Name = aSname & "HL一覧" Then ActiveWorkbook.Sheets(i).Cells.Delete: GoTo make
        Next i
    '新しくシートを作成
        Worksheets.Add(After:=Worksheets(ActiveSheet.Name)).Name = aSname & "HL一覧"
    '
   
'シートのハイパーリンク一覧を作成
make:
    newSname = Worksheets(aSname).Name & "HL一覧"
        For i = 1 To Worksheets(aSname).Cells.Hyperlinks.Count
            Worksheets(newSname).Cells(i, 1) = Worksheets(aSname).Hyperlinks(i).Range.Address  'アドレス $A$1
            Worksheets(newSname).Cells(i, 2) = Range(Worksheets(aSname).Hyperlinks(i).Range.Address).Value 'セルの値
            Worksheets(newSname).Cells(i, 3) = Worksheets(aSname).Hyperlinks(i).Address     'ハイパーリンクの値
    Next i
'作成したハイパーリンク一覧をセレクトしセル幅を整える
        Worksheets(newSname).Cells.EntireColumn.AutoFit

End Sub

 Worksheets("Excel関数").Hyperlinks.Delete    はできる

Worksheets("Excel関数").Hyperlinks=False      はできない ?

EXCEL2000VBA_HL03.png

 


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。