• ベストアンサー

PDFのハイパーリンクを自動的に変更したい

対象の数字を変更すると、それに紐づくハイパ-リンクを自動的に変更すること可能でしょうか? EXCELのB2のセルに1を入力すると、C2のセルに、1りんごのPDFのリンクが、 B2のセルに5を入力すると、C2のセルに、5スイカのPDFのリンクが自動的につくようにすること可能でしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • SI299792
  • ベストアンサー率47% (774/1618)
回答No.3

最初の画面では、リンクは1ヶ所じゃないですか。 すみませんが、そこまで変更するなら、新しい質問を立てていただけますか。 (そうすれば新しい画像を貼れるので)

mocha50
質問者

補足

承知しました。二度手間で申し訳ありません。宜しくお願い致します。

その他の回答 (2)

  • SI299792
  • ベストアンサー率47% (774/1618)
回答No.2

であれば、画像の様に、入力してください。 E1: フォルダをフルパスで C2: =HYPERLINK($E$1&"\"&INDEX(E:E,B2+1)&".pdf",INDEX(E:E,B2+1)) (\ はExcel では半角¥になります) (VBA 実行前は 0になります) 以下のVBA を実行してください。 E2以下にPDF ファイル名が出力されます。 PDF ファイルを追加、削除する毎に実行する必要があります。 Option Explicit ' Sub Macro1()   Dim ROut As Long   Dim FileName As String '   ROut = 2   FileName = Dir([E1] & "\*.pdf")   Range("E2:F" & Rows.Count).ClearContents   Application.ScreenUpdating = False '   Do While FileName > ""     Cells(ROut, "E") = Replace(FileName, ".pdf", "")     Cells(ROut, "F") = Val(FileName)     ROut = ROut + 1     FileName = Dir   Loop   Range("E2:F" & ROut - 1).Sort Key1:=[F2] End Sub

mocha50
質問者

補足

ご回答ありがとうございます。 申し訳ありません。最初の表の説明が不十分でした。 実際は、以下のようなものなのですが、それぞれINDEX(E:E,B2+1)の設定をどのようにすればよろしいでしょうか? ※B列のリストの数字は毎日変わり、不規則です。また、セルも飛び飛びになっています。 ホルダー内のPDFリストも実際は4桁以上の数字で、昇順に並んでいますが、下のような数字が続いていません。 B列            ホルダー内のPDF 9781              1010 6982              1020                  1021 12345              1030                  1050 1010               2030                   6982                  9781                  以下400程リストあり

  • SI299792
  • ベストアンサー率47% (774/1618)
回答No.1

1 りんご.pdf 2 バナナ.pdf にリンクすればいいですか❓ PDF の一覧表はありますか❓ これらのPDF はこのワークブックと同じフォルダにあるとします。 画像の様にE2以下にpdf 一覧を作成します。 C2: =HYPERLINK(INDEX(E:E,B2+1)&".pdf") PDF 一覧表がない場合、以下のVBA で作成できます。 Option Explicit ' Sub Macro1() Dim ROut As Long Dim FileName As String ' ROut = 2 FileName = Dir(ThisWorkbook.Path & "\*.pdf") Range("E2:E" & Rows.Count).ClearContents Application.ScreenUpdating = False ' Do While FileName > "" Cells(ROut, "E") = Replace(FileName, ".pdf", "") Cells(ROut, "F") = Val(FileName) ROut = ROut + 1 FileName = Dir Loop Range("E2:F" & ROut - 1).Sort Key1:=[F2] End Sub

mocha50
質問者

補足

早々にご提案頂きありがとうございます。 PDF の一覧表はありますか❓⇒PDF の一覧表はありません。 別のフォルダにPDFのみを保管してあります。ワークブックとは同じフォルダ内ではありません。この場合は、ご提案頂いたVBAになりますのでしょうか?コマンドのファイルネームを変更するだけで出来ますでしょうか?マクロの知識が乏しくてすみません。

関連するQ&A